Most teams pull every query Google Search Console surfaces and scan the list for anything that looks promising. That works for volume, but it skips a more useful question: which of those queries came from someone close to a decision, not just someone reading around a topic?
Commercial intent doesn’t announce itself in Search Console. It hides in modifiers — the words attached to a head term that signal where a searcher is in their decision process. Reviewing Search Console exports for client sites regularly reveals the same pattern: commercial-intent queries are already there, buried under dozens of purely informational ones, simply because nobody filtered for them specifically. A regex filter fixes that in a few minutes.
This guide covers what commercial intent looks like in query data, how to build regex patterns that catch it, and what actually to do with the queries once you’ve isolated them.
What Counts as Commercial Intent in Search Console Data
SEO commonly sorts search intent into four buckets: informational (learning), navigational (finding a specific site), transactional (buying right now), and commercial (researching before buying). Commercial intent sits between informational and transactional — the searcher has moved past “what is this” and is now comparing, pricing, or vetting options, but hasn’t committed to a specific vendor yet.
The signal isn’t the topic itself. “Guest post” alone tells you almost nothing about intent. “Guest post marketplace” or “buy guest posts” tells you a great deal — the modifier is doing the work.
Why These Queries Are Easy to Miss
• Search Console’s default table sorts by clicks or impressions, not by intent — commercial-intent queries can rank anywhere in that list.
• Manually scanning becomes impractical past a few hundred rows, which is most sites within a few months of data.
• A single exact-match filter only catches one phrase at a time; commercial intent shows up across dozens of phrasings that share a modifier, not a word.
Regex solves the third problem directly: instead of filtering for one string, you filter for a pattern that matches a whole family of modifiers at once.
Setting Up a Regex Filter in Google Search Console
1. Open Performance > Search results in your Search Console property.
2. Set your date range — three to six months gives a more stable read on modifier patterns than 28 days.
3. Click + New filter and choose Query (use Page instead if you’re filtering URLs rather than search terms).
4. Select Custom (regex) from the filter-type dropdown.
5. Choose Matches regex, enter your pattern, and apply. Use doesn’t match regex when you want to exclude a pattern instead — for example, stripping out branded queries first.
Note: Search Console’s regex runs on RE2 syntax and defaults to a partial match — your pattern matches anywhere in the query unless you anchor it with ^ or $. Matching is case-sensitive by default; add (?i) to the start of a pattern for case-insensitive matches. Invalid syntax returns zero rows with no error message, so if a filter comes back empty, check the pattern before assuming the query doesn’t exist.
Regex Patterns for Common Commercial-Intent Modifiers
The table below groups the most common commercial-intent modifiers into categories, with a ready-to-use regex pattern for each. None of this is specific to link building — the same approach works whether your site sells SaaS, e-commerce, or professional services, so a couple of the example queries below are deliberately pulled from outside the backlink space.
|
Modifier Category |
Regex Pattern |
What It Catches |
Example Query |
|
Buy-Intent |
(?i)\bbuy\b|\bpurchase\b|\border\b |
Searcher is ready to transact, not just researching |
“buy guest posts”, “buy contextual backlinks” |
|
Marketplace-Intent |
(?i)\bmarketplace\b|\bplatform\b|\bdirectory\b |
Searcher wants a place to compare options, not one vendor |
“guest post marketplace”, “backlink marketplace” |
|
Price/Cost-Intent |
(?i)\bprice\b|\bcost\b|\bcheap\b|\brate\b|\bfee\b |
Budget-stage research, close to comparing vendors |
“backlink price”, “CRM pricing”, “guest post cost” |
|
Comparison-Intent |
(?i)\bvs\b|\bbest\b|\btop\b|\bcompare\b |
Evaluating specific options against each other |
“best backlink service”, “best project management tool”, “X vs Y” |
|
Service/Provider-Intent |
(?i)\bservice\b|\bagency\b|\bprovider\b|\bhire\b |
Searcher wants to outsource rather than DIY |
“link building service”, “hire an SEO agency” |
Every pattern above wraps its modifiers in word boundaries (\b) on purpose. Without them, an unbounded top also matches “desktop,” and an unbounded vs also matches “canvas” — both would quietly inflate your match count with unrelated queries. Spot-check a sample of matches after applying any of these before trusting the total.
Buy-Intent Modifiers in Practice
Queries like “buy guest posts” or “buy contextual backlinks” indicate a searcher who has moved past comparing options and is looking for a transaction path. They’re not asking what a backlink is — they already know, and they want to know how to get one.
Note: A page built to capture buy-intent queries like these shouldn’t stop at pricing. Cover anchor text distribution — so the page explains how to diversify anchor text across a campaign rather than just selling individual links — and include a checklist for vetting a target site’s spam and penalty history before purchase. Both are gaps buy-intent searchers are actively trying to fill, and their absence is often why a page ranks but doesn’t convert.
Marketplace-Intent Modifiers in Practice
Queries like “guest post marketplace” or “backlink marketplace” signal something different: the searcher wants a place to compare multiple options, not a pitch from a single vendor. A comparison-style page — showing several marketplaces side by side on price, niche, and metrics — tends to outperform a single-vendor sales page here, because it matches the breadth the query is actually asking for.
What to Do With Commercial-Intent Queries Once You Find Them
• Match each query pattern to an existing page first — check whether that page actually answers the modifier (a price page for price queries, a comparison page for marketplace/vs. queries) before assuming you need something new.
• Where no page answers the intent, that’s your next content brief — not a rewrite of an informational post, but a page built around the decision the modifier implies.
• Update title tags and Meta descriptions to speak to the modifier directly (“compare,” “price,” “marketplace”) rather than the generic topic.
• For marketplace-intent queries specifically, a live comparison view — such as WeblinkBuzz's backlink price comparison tool — usually serves the intent better than a written page alone, since the searcher is asking to compare options side by side, not read about them.
• Re-run the same regex filter through GSC’s comparison mode a few weeks after changes to see whether clicks and position moved for that modifier group specifically.
Common Mistakes When Regex-Filtering for Intent
• Forgetting to anchor patterns: an unanchored “best” matches “best practices” as readily as “best backlink service.” Spot-check the matched queries before trusting the count.
• Treating every commercial-intent query as a new-page trigger — sometimes the fix is a new section on an existing page, not a whole new URL competing with it.
• Running the check once and moving on — modifier patterns shift with seasonality, algorithm updates, and site changes, so this is worth repeating on a schedule, not a one-off.
Quick-Reference Checklist
• Pull 3–6 months of query data from Performance > Search results.
• Build one regex pattern per modifier category (buy, marketplace, price, comparison, service).
• Anchor and case-flag patterns deliberately; spot-check matches for false positives.
• Map each matched query group to an existing page, or brief a new one.
• Re-check the same filters on a recurring schedule (quarterly is a reasonable default).