Filtering Queries in Google Search Console
Filter queries in Google Search Console Performance—contains, regex, branded splits, and stacked filters—so small blogs find FIX targets without misreading totals.

The Queries tab in Google Search Console shows search terms that triggered impressions for your property—but the default table is too wide to act on. Filtering queries narrows Performance to the language you care about: one topic stem, question-style phrases, branded vs generic splits, or regex batches you cannot scan by hand.
This page teaches how to apply and read query filters without treating a chart-table gap as a penalty. It is not GSC Pages vs Queries (which tab to open first). It is not compare dates in GSC Performance (period-over-period reading). It is not GSC device splits (mobile vs desktop). It is not impressions without clicks (what zero-click visibility means)—though filters help you find those rows.
Direct answer: Use + Add filter → Query with contains, exact match, or custom regex. Filtered totals differ from chart totals when anonymized queries drop out. Stack page or device filters when the slice has enough clicks to decide.
Official: Advanced filtering and comparison, Dimensions and data groupings, Common tasks and use cases, and Performance overview.
Disclosure: Educational SEO. We do not invent traffic lifts, penalties, or earnings from GSC screenshots.
Table of contents
- What query filtering actually changes
- Filter types and when each earns its click
- Regex filters without drowning in syntax
- Branded vs non-branded splits
- Stacking filters with Pages, device, and dates
- A small-blog workflow from filter to FIX
- Misreads that waste a week
- FAQ
- Filter to decide, not to panic
What query filtering actually changes
Open Performance → Search results and click Queries. The table lists search terms with clicks, impressions, CTR, and average position for your selected date range. Without filters, you see Google's prioritized rows—not every query that contributed to the chart.
Filtering does not create new traffic. It re-scopes the report to rows matching your rule. That matters because Google documents two behaviors beginners miss (Dimensions and data groupings):
Anonymized queries — Some rare queries are withheld for privacy. They still count toward unfiltered chart totals. When you apply a query filter (contains, not contains, regex), anonymized queries drop out of the filtered view. Your filtered table sum can fall short of the chart even when nothing broke.
Row caps and truncation — Search Console stores and displays the most important rows. Long tails disappear from view. Filters help you pull forward relevant language; they do not magically export the full query universe inside the UI.
If I am choosing whether to FIX a money post this week, I filter queries only after I know the job: discovery vs diagnosis on a specific URL. Mixing those jobs produces screenshots nobody can act on.
Filter types and when each earns its click
Google exposes several query filter modes in Performance (Advanced filtering). Pick the lightest filter that answers the question.
| Filter mode | Best for | Why it works |
|---|---|---|
| Queries containing | One topic stem (compress, fiverr, adsense) | Fast substring match; case-insensitive |
| Queries not containing | Removing brand noise from a generic slice | Excludes rows with a string you specify |
| Exact match | One known query you saw in Analytics or a rank tracker | Precise row; fails if Google groups variants differently |
| Custom (regex) | Question queries, multiple synonyms, patterned URLs paired later | One pattern replaces dozens of manual clicks |
| Click row → filter | "What else happened when this query spiked?" | Google applies that query as a session filter instantly |
Contains is the daily driver for small blogs. You are not building a research export—you are asking whether /blog/your-slug/ language appears in search at all. Type the stem that matches your cluster, apply, then sort by impressions to see visibility without demand—the pattern impressions without clicks names.
Exact match looks precise but bites when searchers use plural forms, word order swaps, or punctuation you did not type. Use exact match when you copied the query from an unfiltered Queries row seconds ago—not when you guessed from memory.
Not containing helps when one head term pollutes a slice. Example shape: filter queries containing seo tools but not containing your brand if you want non-branded commercial language only—when the branded filter is unavailable on low-impression properties.
Regex filters without drowning in syntax
Custom (regex) uses RE2 syntax. You do not need to memorize every operator—three patterns cover most CashPilot cluster work.
Question-style queries — Filter queries that start with common question words:
(^(what|which|why|when|how|where)\b)
Apply with Matches regex on the Query dimension. Case-insensitivity is built in, so How to and how to both match. Use this when you are building FAQ or troubleshooting posts and want to see whether Google already tests question phrasing for your site—after overlap checks so you do not clone an owned URL.
Multiple alternatives in one filter — Parentheses and vertical bars group OR choices Google documents in Help:
(fiverr|upwork|freelance)
Exclude patterns — Choose Doesn't match regex when you want everything except a pattern (for example, queries that are not purely branded abbreviations). Exclusion filters are easy to overfit on small sites; sanity-check row counts before you rewrite titles.
Regex mistakes: forgetting that filtered views exclude anonymized queries; building huge patterns when stacked contains filters would be clearer; treating GSC as market-size research. Small blogs usually win with contains plus a 28-day window.
Branded vs non-branded splits
Google added a branded / non-branded query filter to Performance (Common tasks). It separates searches that include your brand name, domain, or brand-specific product names from generic queries that do not.
Why the split matters for small blogs:
- Branded rows often show stronger CTR because searchers already wanted you. Optimizing titles for branded queries while generic rows sit at position 40 misallocates time.
- Non-branded rows surface gap and cluster opportunities—if impressions exist and overlap checks pass.
- Google states the classification is informational only and does not affect rankings. Some queries will be misclassified; use the filter for direction, not scripture.
Limits: the filter may be unavailable on low-impression properties, and history starts March 2025 forward. Pair branded splits with compare dates after a rebrand so a brand spike is not mistaken for an SEO win.
Stacking filters with Pages, device, and dates
Performance allows multiple filters at once (Advanced filtering). Typical stacks for small blogs:
Query contains + Pages path — Filter query to gsc or search console, switch to Pages, and see which URLs earn impressions for that language. That is how you detect cannibalization before publishing a second post on the same intent.
Query filter + Device Mobile — After you filter a query, open Devices or add a device filter to see whether mobile impressions dominate with weak CTR. Title and snippet FIX choices differ when mobile truncates your H1.
Query filter + date comparison — Turn on compare after the slice is defined. Movement on a filtered query is easier to read than site-wide charts that blend winners and waste impressions.
Set date range first, add one query filter, confirm row count is meaningful, then add device or page filters only when the decision requires them. Clicking a query row auto-filters that term—a fast path when one query spiked. From there, open Pages before you draft cluster support.
A small-blog workflow from filter to FIX
One repeatable sequence when a topic cluster already exists:
- Overlap gate — Confirm no live post owns the same primary keyword and intent in your published registry.
- Contains filter — Apply the topic stem on Queries; sort by impressions.
- Waste check — Rows with high impressions, ~0% CTR, and average position deep in the SERP may be chart noise—not automatic FIX targets (see impressions-without-clicks owner).
- URL handoff — Filter active, open Pages; note which
/blog/.../URL earns the slice. - Device sanity — If mobile impressions matter, add device filter before title rewrites.
- Compare — If you edited the URL recently, compare 28-day windows on the filtered view.
- Act — FIX the owner URL, write distinct cluster support, or stop when volume is too small to measure.
That workflow depends on Pages vs Queries literacy—filters do not replace knowing which tab answers which question.
Misreads that waste a week
| Misread | What actually happened | Better move |
|---|---|---|
| "Filtered clicks dropped 40% vs chart" | Anonymized queries left the filtered table | Compare unfiltered chart trend; read Help on filter behavior |
| "Regex shows zero rows so we have no rankings" | Pattern typo or over-anchored regex | Test with contains first; simplify pattern |
| "Non-branded is zero—SEO is dead" | Brand filter unavailable or misclassified | Check impressions threshold; read branded rows separately |
| "One query spiked—I need a new post today" | Seasonal blip or one URL already owns it | Pages tab + overlap gate before drafting |
| "Filter proves Google penalized us" | Filters change reporting scope, not rankings | FIX specific URLs with real volume |
One mistake beginners make is screenshotting a filtered Queries table, then debating site-wide CTR in a group chat. Filters answer slice questions—not site-wide averages that blend winners with deep-SERP waste.
FAQ
See frontmatter for schema pairs on filter location, totals mismatch, regex, branded splits, and sibling owners.
Filter to decide, not to panic
Query filters turn an overwhelming Queries table into a decision surface for which language earns impressions and which URL owns it. Start with contains and a 28-day window; add regex when you repeat the same manual scan weekly.
When filtered totals disagree with the chart, read Google's documentation on anonymized queries before you panic. The next click after filtering is usually Pages—then act on a URL you can edit.
Keep learning
More guides in the same topic lane.
PDF to Text or PDF to Word: Which Job?
Need copy-paste plain text from a PDF or an editable Word file? Choose PDF to Text vs PDF to Word before upload—format, cleanup, and live tool links.
JPG to PDF or Protect PDF: Which Job First?
Photos still need a PDF packet, or the PDF only needs a password? Route JPG stacks vs Protect PDF before you lock the wrong file or skip the build step.
GSC Page Indexing or Sitemaps Report: Which First?
Page indexing explains why URLs are in or out of Google search. Sitemaps checks whether Google read your XML file—use this guide to pick the right GSC report.