Google's native branded queries filter (launched November 2025) handles this for most eligible properties — but plenty of sites still aren't eligible: URL prefix properties, new sites, low-volume sites. For those, the regex workaround is still the only way to isolate non-branded traffic.
Here's the pattern. Apply it in GSC Performance → Query filter → Custom (regex) → Doesn't match regex:
(?i)(brandname|brand name|brnd|misspelling1|productname)Replace the terms with every variation of your brand and product names — including common misspellings, abbreviations, and any product or feature names that wouldn't be searched without prior brand awareness. The (?i) prefix makes the match case-insensitive (technically unnecessary in GSC since it's case-insensitive by default, but harmless and explicit).
How to Apply It
- Open GSC → Performance → Search Results
- Click "+ New" → Query
- Change the dropdown to "Custom (regex)"
- Important: Select "Doesn't match regex" — not the default "Matches regex"
- Paste your brand exclusion pattern
- Click Apply
The data you see after applying the filter is your non-branded organic traffic — the cleanest signal of actual SEO performance. Clicks here are users finding you because of content, not because they already knew your name.
What to Include in the Exclusion List
The exclusion regex is only as good as the variations you list. The pattern that consistently catches the most branded traffic:
- Your primary brand name (exact)
- Common abbreviations (e.g., "kh" for Keyword History)
- Misspellings users actually type — check your branded queries report to find them
- Product names that don't include the company name
- Feature names that are uniquely yours
- Founder or executive names if they're searched
- URL fragments (e.g., "keywordhistory com," "yoursite.com")
Example: A Realistic Exclusion Regex
For a hypothetical SaaS company called "FlowPath" with a flagship product called "Routemap":
(?i)(flowpath|flow path|flow-path|flowpth|fllowpath|routemap|route map|flowpath\.com)That single pattern excludes the brand name, two-word variations, a hyphenated version, two common misspellings, the product name with variations, and queries containing the domain. Most non-eligible sites get to 90%+ accurate brand exclusion with 8-15 terms.
How to Find Your Branded Variations (If You Don't Know Them Yet)
The fastest way to build a complete exclusion list: do the inverse first. Apply the regex as "Matches regex" with just your primary brand name:
(?i)brandnameNow sort the resulting queries by impressions. The top of the list shows you every variation, misspelling, and brand-adjacent query users actually search for. Note them all, build your exclusion regex, and switch back to "Doesn't match regex" mode.
At StreamAlive, this process turned up branded misspellings I'd never have thought to include ("steamalive" without the R was surprisingly common, as was "stream a live" with spaces). The exclusion regex got significantly more accurate after this audit.
The Persistence Problem
This is where the regex approach starts to fray. GSC doesn't save your filter. Every time you log out and back in — every time you switch between properties on a multi-client account — every time the team needs to pull a fresh report — the regex needs to be re-pasted.
For a single SEO managing one site, this is mild friction. For an agency managing 30 clients, each with their own branded exclusion regex, it's a structural time tax. And it's invisible: nobody tracks "minutes spent re-pasting regex into GSC," but the cumulative cost is significant.
It also doesn't survive the 16-month data retention window. If you want to do a 3-year trend on non-branded organic traffic, the regex doesn't help with data that no longer exists.
The Native Filter (When You Have It)
If your property is eligible for Google's native branded queries filter: use it. It's AI-classified, covers misspellings and brand-adjacent terms automatically, includes an Insights card showing the branded/non-branded split over time, and doesn't require pasting any regex.
Eligibility requirements: domain property (not URL prefix), sufficient query volume. Most established sites qualify. Most newer sites don't yet. The regex approach is the bridge until your property qualifies.
The Done-For-You Version
The deeper benefit isn't avoiding the paste-the-regex friction — it's that the non-branded segment becomes a permanent dimension you can layer against other dimensions. Non-branded performance by page type. Non-branded performance by country. Non-branded performance by position band. Combinations like these aren't really feasible by stacking regex filters in GSC's native interface.
One Warning on Aggressive Exclusion
Don't over-exclude. A regex that includes generic words associated with your brand (e.g., the literal name of an industry your brand operates in) will accidentally filter out legitimate non-branded queries. If your brand is called "Search," you can't put "search" in the exclusion regex — you'd lose all the non-branded SEO traffic too.
Test your exclusion regex by applying it as "Matches regex" first. Look at what queries get caught. If non-branded queries are appearing in the matched list, the regex is too aggressive. Refine and re-test before flipping to "Doesn't match regex."
Brand exclusion is foundational to any honest SEO performance report. The regex above gets you 90% of the way there manually. The remaining friction — persistence, propagation across sites, historical depth — is what tooling solves once the volume of work justifies it.
