Google Search Console Hidden Query Estimator

Free, no signup. Search Console never shows you every query — it anonymizes a share of clicks and impressions below its privacy threshold. Upload your GSC performance export and an Ahrefs or Semrush keyword export, and this tool estimates which of your ranking keywords plausibly explain the gap, page by page.

Search Console export limit: the UI can return only about 1,000 representative rows, and privacy-anonymized queries are omitted. Treat every analysis as a view of the exported sample, not the complete query set.

or paste CSV text
or paste CSV text
or paste a GSC Queries CSV / Google Search Console CSV Analyzer curve JSON

A Queries CSV is fitted into an impression-weighted curve; a Workbench {"curve":[…]} export is used as-is. Both are estimates, not actual hidden-query attribution.

Example data — replace with your own, then press Find hidden queries

Runs entirely in your browser — nothing you paste is uploaded or stored. Anonymous run-level outcome counters may be used for aggregate research; URLs, domains, IPs, and identifiers are never included, and no statistic is released below 100 runs.

Feedback
Report a bug

Found something broken in Hidden Query Finder? Let us know what happened — this goes straight to a private triage queue, not a public list.

What will be sent
 No tool inputs, uploads, pasted source, complete results, query parameters, or URL fragments are attached automatically. You can edit or remove the selected passage above. Browser and anti-abuse metadata is processed for spam prevention. 

Worked example

Say a page's GSC export shows 142 clicks and 4,800 impressions, but the Queries export only lists two visible queries for it, totalling 92 clicks:

Page,Clicks,Impressions,CTR,Position
https://example.com/blog/best-running-shoes,142,4800,3.0%,5.2
Query,Page,Clicks,Impressions,CTR,Position
running shoes for flat feet,https://example.com/blog/best-running-shoes,58,1900,3.1%,6.1
best running shoes 2026,https://example.com/blog/best-running-shoes,34,1100,3.1%,4.8

Your Ahrefs export shows the same page also ranking for two keywords that never appear as a visible GSC query:

Keyword,URL,Position,Volume
best running shoes for overpronation,https://example.com/blog/best-running-shoes,7,880
cushioned running shoes review,https://example.com/blog/best-running-shoes,11,320
running shoes for flat feet,https://example.com/blog/best-running-shoes,6,590

The tool computes 142 − 92 = 50 hidden clicks on this page, then allocates that 50 across the two candidate keywords by estimated volume × CTR-for-position — giving the higher-volume, better-ranking keyword the larger share, each labeled with a confidence tier and a plain-language reason.

The directly observed coverage is 92 ÷ 142 = 64.8% visible-query click coverage. The remaining 35.2% is measurable as a gap, but its query strings are not recoverable from Search Console; candidate allocation is a separate modeled layer.

Sample report

Pressing Try an example loads this page plus a second page with no hidden clicks, and renders:

Example data — captured by running this page's own analyzer against the "Try an example" dataset

200
total clicks
75%
visible-query click coverage
25%
estimated hidden click share
50
estimated hidden clicks
1,800
estimated hidden impressions
26.1%
estimated hidden impression share
1 / 2
pages with hidden clicks
ahrefs
keyword source detected
https://example.com/blog/best-running-shoes 50 hidden clicks (35.2%) · 1,800 hidden impressions · 2 candidates
best running shoes for overpronationMedium confidence
ahrefs · position 7.0 · volume 880 · ~43 estimated clicks (85.9% of hidden share)
Ranks position 7 for this URL with search volume; allocated a share of the hidden clicks by estimated CTR.
cushioned running shoes reviewLow confidence
ahrefs · position 11.0 · volume 320 · ~7 estimated clicks (14.1% of hidden share)
One of several candidates for this page; allocation is a rough proportional split, not a precise attribution.
  • Only 1 of 2 pages has hidden clicks — the second page's visible queries already add up to its full click total, so there's no gap to explain and no candidates are shown for it.
  • The higher-volume, better-ranking keyword takes the larger share (85.9% vs. 14.1%) — not an even split — because allocation is proportional to estimated volume × CTR-for-position, not headcount. See how confidence tiers are assigned ↓.
  • Site-wide hidden click share (25%) can differ a lot from one page's share (35.2%) — always read the per-page row for a specific page, not just the rollup.
  • Visible coverage and hidden share are complements — the example exposes 150 of 200 clicks in visible query rows, so visible-query click coverage is 75% and the remaining 25% is the hidden gap.

How to use it

  1. In Search Console, go to Performance → Search results, and export the Pages tab and the Queries tab (or a combined page × query export if your workflow produces one) as CSV.
  2. Export your site's organic keywords report from Ahrefs (Site Explorer → Organic keywords) or Semrush (Organic Research → Positions), including Keyword, URL, Position, and Volume columns.
  3. Upload or paste both into the boxes above and press Find hidden queries. No files handy? Click Try an example to see it run on sample data.
  4. Read the site rollup for the overall visible-vs-hidden click share, then work down the per-page table — expand a page to see which keywords are the likely candidates and why.
  5. Use Export CSV to pull every page/candidate row into a spreadsheet.

How it works

  1. Per page, hidden share = totals minus visible queries. For every page in your GSC pages export, the tool sums the clicks/impressions of every visible query attributed to that page and subtracts from the page's own totals. Whatever is left is the hidden click/impression share GSC didn't break out.
  2. Candidates come from your SEO-tool export. Every Ahrefs/Semrush keyword ranking for that page's URL (matched after normalizing both URLs) that doesn't already match a visible GSC query — checked with exact, stemmed, and small-edit-distance matching so near-duplicate phrasing doesn't create false candidates — becomes a hidden-query candidate.
  3. Scored by volume × CTR-for-position. Each candidate's raw score is its search volume multiplied by an estimated click-through rate for its ranking position, using a CTR-by-position curve blended from published aggregate CTR studies (Default organic CTR by position — a blend of published aggregate CTR studies; intentionally conservative. Users should override with a curve fit from their own GSC Queries export whenever possible.).
  4. Hidden clicks allocated proportionally. A page's hidden click total is split across its candidates in proportion to their raw scores — not claimed in full by each one.
  5. Confidence tiers, not certainty. A single unambiguous candidate is marked high confidence; a top-10 ranking with real volume competing against other candidates is medium; everything else is low. Every row states its reasoning.

Every number here is a modeled estimate, not a Search Console disclosure. Google never reveals which specific queries are hidden — this tool infers plausible candidates from public ranking and volume data you already have.

Limitations

This is an estimate, not ground truth: it can only surface candidates that exist in your SEO-tool export, so a hidden query with no third-party rank tracking (or one your tool doesn't track) will never appear. The CTR-by-position curve is a published-study blend, not your site's own curve, so absolute click estimates are directional. If your GSC export has no Page column on the queries side, the tool falls back to treating the visible query set as site-wide — a coarser but honest approximation rather than falsely calling a query "hidden" for a page it may not belong to. And GSC's privacy threshold itself is undocumented and can change, so the size of the true hidden share is unknowable — only the gap between totals and visible rows is measurable.

Frequently asked questions

What does Google Search Console actually hide?

Below a certain volume of impressions and clicks, Google anonymizes individual queries for privacy reasons — usually because the query is rare enough (or contains something identifying) that surfacing it could expose what a specific person searched for. The page-level and site-level totals in GSC still include that hidden traffic; only the per-query breakdown omits it. That is why a page’s Top pages clicks/impressions routinely exceed the sum of its visible Top queries rows.

How does this tool guess what the hidden queries are?

It takes every keyword your SEO-tool export (Ahrefs or Semrush) says a page ranks for, drops the ones that already appear as a visible GSC query for that page, and treats the rest as candidates. Each candidate is scored by estimated volume × CTR-for-its-ranking-position, then the page’s hidden click/impression delta is allocated across candidates proportional to that score. It is a plausibility estimate built from public ranking + volume data, not a disclosure of real Search ConsoleA free Google service that reports how a site performs in Google Search and surfaces problems with how Google crawls, indexes, and serves it. It's first-party data straight from Google — but you don't need it to appear in results. data — GSC never reveals the actual hidden queries.

Why do some pages show no candidates even though they have hidden clicks?

That happens when no row in your SEO-tool export matches that page’s URL, or when the URL matches but every keyword found there also already appears as a visible GSC query (so there is nothing left over to explain the gap). The hidden click/impression numbers are still shown — there is just no keyword-level guess to attach to them.

What do the confidence tiers mean?

High confidence is a page with exactly one plausible candidate keyword — the hidden share almost certainly belongs to it. Medium confidence is a candidate ranking in the top 10 with real search volume, competing against other candidates for the same hidden share. Low confidence is everything else: multiple candidates splitting a rough proportional allocation, or a keyword ranking outside the top 10. Treat low-confidence rows as directional, not decisive.

Which CSV formats does it accept?

GSC exports from either the "Pages" or "Queries" tab of the Search Console Performance reportThe Google Search Console report that shows how your site actually performed in Google Search, built from real impressions and clicks. It reports four metrics — clicks, impressions, average CTR, and average position — and keeps the most recent 16 months of data. (uploaded separately or together), and organic-keyword exports from Ahrefs or Semrush (Keyword, URL/Landing Page, Position, Volume/Search Volume columns). The format of each file is detected automatically from its header row — you do not need to tell the tool which is which.

Is any of my data uploaded anywhere?

No. All parsing and scoring happens in your browser with plain JavaScript — the CSVs never leave your machine, and nothing is sent to our server or stored. Close the tab and the analysis is gone.

Feature requests for Hidden Query Finder

Upvote what you want most. New ideas can be submitted from the floating Feedback menu; requests appear here once approved, and the most-wanted rise to the top.

Loading…

➕ Request a feature

New requests are reviewed before they appear here.

Where this tool helps

Common use cases

Quantify the visible-versus-hidden GSC gap

Subtract supplied visible-query totals from supplied page totals to measure the unexplained click and impression remainder without claiming the query strings are recoverable.

Rank plausible hidden-query candidates

Match Ahrefs or Semrush keyword rows to a page, remove visible-query matches, and allocate the measured gap using a modeled volume-by-CTR score.

Find pages where evidence is insufficient

Keep the measurable page gap visible even when the keyword export supplies no unmatched candidates, instead of inventing an explanation.

Use a site-specific CTR allocation curve

Fit a curve from a suitable GSC Queries export or import a compatible Workbench curve while preserving that allocation as a model.

Export a candidate-review handoff

Carry page gaps, candidate allocations, rule-based confidence tiers, and reasons into a spreadsheet for validation and content research.

Watch the full workflow

Google Search Console Hidden Query Estimator walkthrough

Read the transcript

Google Search Console Hidden Query Estimator

This beginner walkthrough explains why Search Console hides some query detail, uploads three fictional exports, measures an exact fifty-click gap, models two possible candidate phrases, preserves a page with no gap, exports the research handoff, and keeps observed evidence separate from inference.

Step 1

Search Console can show more clicks and impressions in the Pages report than you can explain by adding the visible rows in the Queries report. Google anonymizes some query detail for privacy. This tool measures the difference between those supplied totals, then uses an Ahrefs or Semrush ranking export to suggest phrases worth investigating. It cannot reveal the actual hidden query strings.

Step 2

The analysis has two layers. First, page clicks minus visible-query clicks produce a measurable remainder from your files. Second, the tool removes already-visible phrases, scores other ranking keywords, and divides the remainder among them. The remainder is evidence. The candidate names and allocations are a model. Good reporting must keep those two layers separate.

Step 3

Use it to measure how much query detail is visible, find pages with the largest unexplained gaps, rank possible phrases for follow-up research, test a site-specific click-through curve, or export an auditable handoff. It can help decide where to investigate. It cannot prove that a person searched any candidate phrase.

Step 4

Bring a Search Console Pages export with total clicks and impressions, a matching Queries export with visible query rows, and an organic-keyword export with keyword, landing U-R-L, position, and volume. The date range and property scope should match. Every file is parsed locally. Individual files over ten mebibytes and combined Search Console files over twenty mebibytes are rejected.

Step 5

Choose the fictional Pages and Queries files together, then choose the fictional Ahrefs keyword file. The running-shoes page has a deliberate difference between its page total and visible queries. The marathon page does not. The keyword file includes already-visible phrases and new candidate phrases so we can verify both exclusion and allocation without customer data.

Step 6

The optional curve tells the model how much click-through rate to expect at different ranking positions. You can fit one from a suitable Search Console Queries file or import compatible Workbench data. This walkthrough leaves the field empty, so the result labels the published default curve as modeled. A custom curve may be more relevant, but it still cannot identify a hidden query.

Step 7

Select Find hidden queries. The browser parses and normalizes the exports, subtracts visible query totals from each page total, removes keywords already represented by visible queries, scores the remaining candidates, and divides only the measured remainder among them. No Search Console, Ahrefs, or Semrush account is contacted.

Step 8

The two pages contain two hundred total clicks. Visible query rows explain one hundred fifty, or seventy-five percent. Fifty clicks remain unexplained, so the hidden share is twenty-five percent. The impression gap is one thousand eight hundred, or twenty-six-point-one percent. One of two pages has a positive gap. Ahrefs is detected, and the allocation curve is clearly labeled modeled.

Step 9

Visible coverage and the hidden gap are complements in this supplied evidence. One hundred fifty visible clicks divided by two hundred page clicks gives seventy-five percent coverage. Subtracting those values leaves fifty clicks, or twenty-five percent. That arithmetic is observable. The phrases responsible for those clicks are not observable in Search Console.

Step 10

The page list is sorted by estimated hidden clicks. The running-shoes page leads with fifty unexplained clicks and two candidates. The marathon page has zero unexplained clicks and zero candidates. Always begin with the page-level remainder. A candidate should not be interpreted before confirming that the supplied page and query totals leave a real gap.

Step 11

The running-shoes page reports one hundred forty-two total clicks. Its two visible query rows add up to ninety-two. The exact remainder is fifty clicks, or thirty-five-point-two percent of this page’s total, plus one thousand eight hundred impressions. The ranking export supplies two unmatched phrases that can be modeled against this remainder.

Step 12

Expand the first page. Every candidate shows its source, position, volume, modeled click allocation, share of the page gap, rule-based confidence tier, and a plain-language reason. This makes the inference inspectable. It does not make the inferred phrase an observed Search Console query.

Step 13

Best running shoes for overpronation ranks seventh with volume eight hundred eighty. Its volume-times-click-through score receives about forty-three modeled clicks, or eighty-five-point-nine percent of the gap. It receives a Medium tier because it ranks in the top ten with volume while another candidate exists. Medium is a deterministic rule, not a calibrated probability.

Step 14

Cushioned running shoes review ranks eleventh with volume three hundred twenty. It receives about seven modeled clicks, or fourteen-point-one percent of the gap, and a Low tier. The split is proportional rather than equal, but neither allocation is measured attribution. Both phrases remain hypotheses for page, ranking, and intent research.

Step 15

Running shoes for flat feet appears in both the Ahrefs file and the visible Search Console queries, so it does not appear as a hidden candidate. Matching normalizes exact wording, stems, and small spelling differences to reduce near-duplicate candidates. Review unusual language carefully because normalization can sometimes merge or separate phrases in ways you did not intend.

Step 16

The marathon page has fifty-eight page clicks and fifty-eight visible-query clicks. Its measurable remainder is zero. Although the keyword export contains another phrase for this U-R-L, the tool assigns no hidden clicks and creates no candidate rows. The model does not invent hidden demand when the supplied totals leave nothing to explain.

Step 17

Export C-S-V downloads one header and the two candidate rows from the page with a positive gap. It includes the page totals, measurable remainder, candidate, source, position, volume, modeled clicks, confidence tier, and reason. The zero-gap page is intentionally absent because this export is a candidate-research handoff, not a complete page inventory.

Step 18

The measurable step is page totals minus matching visible-query totals. The modeled steps are U-R-L matching, candidate exclusion, volume-times-click-through scoring, proportional allocation, and confidence rules. Report page gaps as unexplained supplied totals. Report candidate rows as plausible research leads. Do not describe either the names or allocated clicks as Google disclosures.

Step 19

Export matching Search Console page and query scopes, add a current organic-keyword report, and verify the detected formats. Review site coverage, then page gaps, then candidate reasons. Use candidates to inspect page intent, rankings, content coverage, and current results. Rerun when the date range, keyword database, rankings, or click-through assumptions change.

Step 20

A hidden phrase absent from the third-party keyword export cannot become a candidate. The default click-through curve is not site-specific. Queries without page attribution force a coarser site-wide approximation, and Google’s privacy threshold is undocumented. Ranking and volume data can also be stale. Use the result for prioritization and research—never as proof that a person searched a candidate phrase or that Google revealed it.

The gap is evidence. Candidate names are hypotheses.

Export the measurable page gaps and candidate reasons, investigate the strongest opportunities, and preserve pages where evidence is insufficient. Rerun when the Search Console range, rankings, keyword coverage, or click-through assumptions change. Never report a candidate as a query Google revealed.