How to Separate Branded and Non-Branded Queries in Search Console with Regex

Short answer
How do you separate non-branded queries in Search Console?
Non-branded queries are searches where people find your site without typing your brand name. In the Search Console Performance report, you add a Query filter, choose Custom (regex), enter your brand pattern, and switch to "Doesn't match regex" to isolate them. As a result, you see real organic growth.
To get started right away, follow this order:
- Open the Performance report and keep the search type on Web.
- Click the add filter button and choose Query.
- Select Custom (regex) from the menu.
- Type your brand name and its misspellings inside parentheses, separated by a vertical bar.
- Check the matching results first, then switch to the non-matching option.
In this guide, Talha Aslan and team walk you through the method we use on client sites. If you are new to the tool, start with our guide to Google Search Console first.
Why does the brand vs non-brand split matter so much?
Branded searches come from people who already know you. They type your name, usually see you in first place, and click at a high rate. Therefore, your total click chart can rise even when SEO work has nothing to do with it.
For example, a TV spot, a social campaign, or word of mouth can lift branded demand. In contrast, non-branded queries come from people who do not know you yet. They search for a need, such as "emergency plumber open late," and that means new customers.
In short, average position and click-through rate (CTR) get inflated by branded traffic. If you do not split the two groups, your report looks better than reality. Meanwhile, the real opportunities stay hidden.
Moreover, the most common question in management meetings is simple: is SEO bringing us new customers? The honest answer comes from a separate non-branded chart. That way, budget decisions rest on real data.
Which regex syntax does the Search Console filter use?
According to Google's official advanced filtering and comparison documentation, the filter uses RE2 syntax. RE2 is a fast and safe regular expression engine built by Google.
The documentation also lists three key behaviors. First, matching is partial by default, so your pattern matches anywhere in the query. Second, default matching is not case sensitive. Third, you add (?-i) at the start if you need case-sensitive matching.
However, RE2 skips some advanced features. The RE2 syntax reference marks lookahead as not supported. So instead of building "include this but not that" logic in one pattern, you combine a matching filter with a non-matching one.
How do you build a brand pattern?
A good brand pattern has three layers: the correct spelling, joined and split forms, and common typos. As an example scenario, say your brand is "Bright Stone" and your domain is example.com.
Then a starter pattern looks like this: (bright stone|brightstone|bright-stone|example). The vertical bar means "or," and the parentheses group all the options. Google's documentation also recommends this exact format for multiple values.
For more flexibility, you can use optional characters. For instance, bright ?stone? matches "brightstone," "bright stone," and "bright ston." The question mark makes the previous character optional. Likewise, square brackets accept any one of the letters inside them.
Also, remember to add your bare domain name. Some users type "example" or "example com" straight into the search box. These searches are clearly branded, so they should not appear in the non-branded view.
How do you add misspellings to the pattern?
You do not guess typos; you find them in your data. First, use the "Queries containing" filter with the first three or four letters of your brand. This shows how users actually type your name.
In our example scenario, you might find "brigth stone," "bright stoen," or "brite stone." Adding every single one makes the pattern hard to read. Instead, add the frequent ones and keep rare ones in a separate checklist.
In practice, the most common typo types are skipped letters, swapped letters, and hitting a neighboring key. Covering those three types catches most variants. Furthermore, voice search can turn your brand into a different word entirely, so watch for odd spellings in the matching list.
How do you use the non-matching filter for non-branded queries?
Once your pattern is ready, you switch the filter from "Matches regex" to "Doesn't match regex." At that point, the table fills with non-branded queries only, and the chart redraws for that group.
Put simply, one pattern does two jobs. In matching mode, it shows branded traffic, while the non-matching mode shows traffic from new audiences and first-time visitors. That is why building the pattern correctly once is enough.
There is one catch to keep in mind. Anonymized queries do not appear in the table, yet they can be part of the chart total. We explain why in our article on why Search Console queries are missing.
How do you find question queries with regex?
Question patterns inside non-branded queries are the richest source of content ideas. For English, a pattern like (how|what|why|when|which|who|can|does|is) works well.
However, short words like "is" or "can" also appear inside other words, such as "crisis" or "scanner." Therefore, wrap them with word boundaries: \b(is|can|does)\b. The RE2 reference defines \b as an ASCII word boundary, so it works well for English text.
Here are some example patterns:
- General questions: ^(how|what|why|when|which).
- Price intent: (price|cost|how much|cheap).
- Comparison intent: (vs|versus|or|alternative|difference).
- Local intent: (near me|nearby|closest).
You can also feed these lists into our guide to finding keywords that drive sales. In short, question queries give you ready-made FAQ ideas in real user language.
What do the start and end anchors do?
The caret (^) marks the start of the query, and the dollar sign ($) marks the end. Google's documentation notes that matching is partial by default, so you use these two anchors for exact positions.
For example, if you only want people who typed the brand name alone, use ^(bright stone|brightstone)$. That way, longer queries like "bright stone contact" stay out. This view is ideal for measuring pure brand awareness.
On the other hand, a question pattern that starts with ^ captures queries that begin with a question word. For instance, ^(how|why) collects "how" and "why" intents at the start of the query.
How do you filter long-tail queries by word count?
Long-tail queries are specific searches of four or five words or more. They are often lower in competition and higher in intent. With regex, you can filter by word count.
For example, ^(\S+\s){4,}\S+$ shows queries with five or more words. Here, \S means any non-space character, and \s means a space. The curly braces set the repeat count. You then combine this with the non-branded filter.
As a result, the list gives you raw material for new content. We cover this strategy in more depth in our long-tail keywords guide.
You can also flip it. The pattern ^\S+$ shows one-word queries. These are usually broad and competitive, so they rarely make good short-term targets.
How does regex compare with the built-in filter options?
Search Console gives you three paths. The table below sums up when to pick each one.
| Method | How it works | Strength | Weakness |
|---|---|---|---|
| Queries containing | Looks for one text string | Fast and simple | One value, no variants |
| Custom (regex) | Matches an RE2 pattern | Catches variants, typos, and question patterns | You maintain the pattern |
| Branded queries filter | Google's AI-assisted classification | No setup needed | Not on every property, some errors |
For a quick weekly check, the automatic filter is handy. However, when a monthly report must explain which query went into which group, your own pattern gives a transparent record. So think of them as complementary tools, not rivals.
Can Google's branded queries filter replace regex?
Google announced on the Search Central blog that the Performance report now has a filter for branded and non-branded queries. According to the announcement, classification is not regex based. Instead, an internal AI-assisted system handles it, covering your brand name, typos, and unique brand products.
Still, the same announcement lists limits. The filter only appears for top-level properties, not URL path or subdomain properties. It also needs enough query and impression volume. In addition, Google admits some queries may be misclassified.
Google also added a card to the Insights report that shows the split of branded and non-branded clicks. That card is useful when you need a quick summary for leadership.
Therefore, we suggest using both methods. The automatic filter gives a fast overview, while regex lets you control why a query counts as branded. Notably, the filter has no effect on rankings; it is purely a reporting tool.
How do you track brand traffic with compare mode?
In the filter settings, the Compare option puts two periods side by side. According to the documentation, a Difference column then appears, and only one comparison can be active at a time.
Example scenario: after applying the non-branded filter, you compare the last three months with the previous three. As a result, you see whether clicks from new audiences really grew.
If a query is very rare in one group, the row shows "~". This is not an error; it signals limited data. Also, for seasonal businesses, comparing with the same period last year gives a fairer picture. If you spot a drop, follow the steps in our guide to unindexed pages to rule out indexing issues.
How does regex help with the Page dimension?
Regex works for the Page dimension too, not just Query. For instance, you can isolate URLs that contain /blog/ and measure how much of your non-branded traffic the blog earns.
Combining two filters gives a strong view. The Page filter matches /blog/, and the Query filter does not match your brand pattern. In other words, you see the blog posts that pull new audiences on one screen.
Similarly, you can define product, category, and blog URLs with separate patterns. Then you compare each page type's share of non-branded queries. This helps you decide where to put your effort.
Also, if several pages rank for the same query, that may point to cannibalization. In that case, review the fixes in our keyword cannibalization guide.
What are the most common regex mistakes?
In our experience, most errors come from a few simple habits:
- Forgetting to close a parenthesis, which breaks the pattern.
- Using a brand root that is too short, which catches unrelated queries.
- Leaving a dot unescaped, since a dot matches any character.
- Trying features RE2 does not support, such as lookahead.
- Trusting the report without testing the pattern first.
For example, if your brand is "Ace," the pattern ace also matches "space" and "place." So for short brands, build tighter patterns like \bace\b or ace (tools|hardware).
Another frequent slip is thinking the filter is saved and then refreshing the page. Therefore, keep your common patterns in a separate file and paste them in when needed.
How do you test a regex pattern before using it?
Before you rely on a pattern, test it with a small list. Write ten queries you want to match and ten you do not. Then enter the pattern and see how both lists behave in the report.
Example scenario: "bright stone pricing" should match, while "bright kitchen ideas" should not. If the second one lands in the branded group, your pattern is too broad. In that case, lengthen the root or make the second word required.
Also, if the pattern is invalid, Search Console may return no results at all. So when the list looks unexpectedly empty, count your parentheses and vertical bars first. Often a single missing bracket breaks the whole expression.
In short, the test list takes five minutes but saves you months of misreading reports. We keep it in the same file as the pattern and rerun it after every update.
How should you build brand patterns for multilingual sites?
If your site runs in several languages, users may write your brand in different scripts or spellings. For example, a Turkish brand name may lose its special letters in English searches. Meanwhile, in German searches it may gain umlauts.
So you add each language's common spelling to the pattern. You can also combine the Country dimension with the filter to see each market's share of non-branded queries. That way, you learn where awareness is strong and where organic discovery leads.
On the other hand, Google's automatic filter tries to recognize your brand name in all languages, according to the announcement. Even so, local nicknames or abbreviations can slip through. Hence, in multilingual projects we cross-check the automatic filter against the regex pattern.
As a practical tip, keep one pattern line per language and join them into one master pattern. Then updating one language will not break the others.
Should product and service names count as branded?
There is no single right answer here; it depends on what you want to measure. Google's automatic filter counts unique brand products as branded. For example, the announcement treats Gmail as branded for google.com.
Likewise, if your site owns a unique, trademarked product name, adding it to the brand pattern makes sense. After all, someone typing that name already knows you. However, adding a generic category like "steel doors" is a serious mistake, because those queries are non-branded growth itself.
Our advice is to keep two patterns. The first holds only the brand name and its variants. The second adds your unique product names. As a result, you can report on both a narrow and a broad definition and show leadership both numbers.
How often should you update your brand pattern?
A brand pattern is a living document. Whenever you add a new product, campaign, or location name, you add it to the pattern too. Otherwise, those searches show up as non-branded queries and overstate growth.
On client projects, we review the pattern every quarter. We also run an extra check after a new ad campaign or press coverage, since new spellings tend to appear then. For instance, after a TV ad, people may search for your slogan or a mascot's name.
In short, do not write the pattern once and forget it. Keep dated versions instead. That way, you can tell whether a change in the report came from the pattern or from real traffic.
How do you read a non-branded queries report?
After applying the filter, look at four metrics: clicks, impressions, CTR, and average position. For non-branded queries, average position naturally looks lower and CTR looks weaker.
Example calculation: CTR might be 30 percent for the branded group and 2 percent for the non-branded group. These numbers are only an illustrative example, and your own site will differ. What matters is tracking each group's trend on its own.
Also, average position alone can mislead. If you start showing up for many new queries at lower positions, the average drops. Yet that is actually a good sign, because your site reaches a wider audience.
Consequently, high-impression, low-click non-branded queries are prime candidates for title and description work. Queries that decline over time may need a content refresh instead.
How do you export the data and analyze it in spreadsheets?
The interface table shows a limited number of rows. For deeper analysis, you export the filtered view. According to Google's documentation, values shown as ~ or - in the report become zeros in the downloaded data.
After exporting, you can apply the same pattern with a spreadsheet regex function and tag each query. Then you see branded, non-branded, and question queries side by side in one file. Our Google Sheets keyword research guide shows a similar workflow.
However, exported data also leaves out anonymized queries. So a gap between the row total and the chart total is normal. For larger sites, the Search Console API or bulk data export can help, although each one needs some setup.
Which extra patterns save you time?
Beyond the brand split, here are example patterns we use often:
- Alternative intent: (alternative|similar|instead of).
- Purchase intent: (buy|order|deal|discount).
- Informational intent: (what is|meaning|definition).
- Problem-solving intent: (not working|error|fix|issue).
When you combine these with the non-branded filter, you see the volume of each intent group. For example, if problem-solving intent is high, investing in support content makes sense.
Furthermore, when you filter problem queries alongside the brand pattern, you learn where current customers struggle. That insight is valuable for both support and product teams.
What does a professional team add to this analysis?
The regex filter is powerful, but the right pattern, regular upkeep, and sound interpretation take time. As part of our SEO consulting work, Talha Aslan and team build the brand pattern for you, track the non-branded queries report every month, and turn the findings into a content plan.
In addition, we check related technical issues in the same process, such as property setup or mixed domain versions. Of course, no team can guarantee rankings, because nobody controls Google's algorithm. Still, accurate measurement shows you which work truly pays off.
Conclusion: how do you make non-branded growth visible?
In short, separating branded and non-branded queries is the first step to measuring SEO honestly. With Custom (regex), RE2 syntax, and the non-matching mode, you can set this up in minutes. Meanwhile, the automatic branded queries filter offers a quick second opinion.
If you want us to set up this measurement on your site and track it with you every month, you can request a quote on our SEO consulting page. Then your reports will finally show real growth.
Core guide: What Is Digital Marketing? Its types, examples and how it is done, on one page with an interactive film that travels through the brain.



