Skip to main content
LLM Metrix
Search + AI · Gap analysis

Where Google and the
AI engines disagree.

One view joins your Google Search Console queries to the prompts we scan. Search AI gap analysis that reports the two places the surfaces contradict each other, plus, deliberately, everywhere the data cannot support a conclusion at all.

Free forever plan. No card required

app.llmmetrix.com/dashboard/search
Illustrative, sample figures in the product's real layout
Ranked but not cited
crm for startups
matched: What is the best CRM for startups?
#3.2
14.2K impr.
crm pricing comparison
matched: How much does a CRM cost?
#6.8
5.1K impr.
Cited but not ranking
Which CRM integrates with Slack?
matched: crm slack integration
#34
5/7 engines
Best CRM for remote teams?
matched: crm remote teams
#21
3/7 engines

Coverage18 search queries have no matching tracked prompt, so no AI engine has been asked about them. 6 AI-mentioned prompts have no matching Search Console query. Google withholds low-volume terms, so that is missing data rather than a missing ranking.

Works with the AI engines your customers use

ChatGPTPerplexityGeminiClaudeGrokMeta AIDeepSeekGoogle AI OverviewsMicrosoft Copilot

Why it matters

Where Google and AI tell different stories.

Ranked but not cited

Queries where you sit on Google's first page and not one engine we asked mentioned you. Ordered by impressions, so the biggest audience seeing a page AI won't cite comes first.

Cited but not ranking

The mirror image: prompts where engines do mention you, against a matched query Google ranks you outside the top ten for. Ordered by deepest position, the widest gap between the two surfaces.

Coverage, never invented findings

A query with no matching prompt is not "AI ignores you", nobody asked. An AI-mentioned prompt with no matching query is not "you don't rank". Google withholds low-volume terms. Both are counted and shown as coverage.

A match you can audit

A query matches a prompt only when every significant token of the query appears in the prompt. Each row shows the prompt it matched, so you can judge the join rather than trust it.

URL-level gap wherever engines return links

When engines return real cited links, the comparison sharpens from query text to actual pages. When they don't, it reports nothing at all rather than calling every ranking page uncited.

Turn the blind spot into tracking

Every query the coverage count flags is something no engine has been asked about yet. When it earns clicks it sits in the top-queries table, select it there and track it as a prompt. Imports land inactive behind your plan's activation cap, deduped against what you already track.

Mechanics

How it works, end to end.

  1. 01

    Sync the Google half

    A verified Search Console property syncs on a schedule: whole-property daily totals backfill roughly sixteen months, per-query rows about ninety days, with day boundaries computed in Pacific time and stopping about two days short of today.

  2. 02

    Ask the engines

    Your active tracked prompts are put to every enabled engine on every scan, daily on paid plans, weekly on free, and each delivered answer is graded for whether it mentioned your brand.

  3. 03

    Join on shared tokens

    Queries and prompts are reduced to significant tokens and paired when every query token appears in the prompt. Matched pairs feed the two disagreement lists; everything unmatched feeds the coverage counts instead.

  4. 04

    Sharpen to pages when links exist

    When answers carry real cited URLs. Perplexity and Google AI Overviews on every scan, other supported engines when grounding is on, the join compares actual pages against ranked pages. Without URLs it reports nothing rather than false gaps.

Who it's for

Who reads the disagreement

SEO director defending budget against “AI is hype”Rankings are up, and the board wants to know why AI traffic isn't.

You present organic performance to leadership and need the AI-exposure question answered with evidence before someone else frames it as hype.

  • Pull the ranked-but-not-cited list on the Search page, ordered by impressions, the biggest audience hearing nothing about you from answer engines.
  • Show the coverage counts alongside, demonstrating the tool counted what it could not conclude rather than inventing findings.
  • Anchor the Google half in figures leadership can verify in their own Search Console tab.
  1. 01Connect Search Console in Settings → Integrations and bind your verified property.
  2. 02Run a brand scan so every tracked prompt has engine answers to join against.
  3. 03Open the gap panel on the Search page and lead with the two coverage counts.

Metrics this role tracks: Ranked-but-not-cited count · Cited-but-not-ranking count · Query coverage

Open the gap panel
Content lead prioritising striking-distance queriesCited but not ranking is the cheapest brief you will write this quarter.

You plan content against evidence and want the topics where the authority work is already done.

  • Work the cited-but-not-ranking list, sorted by deepest Google position, so the widest surface gap comes first.
  • Each row names the matched query and the prompt, letting the brief cite its own evidence.
  • Engines already associate you with the topic; the usual missing piece is a page positioned to catch the search demand beside it.
  1. 01Sort the cited-but-not-ranking list by deepest position on the Search page.
  2. 02Import the matching queries as tracked prompts from the top-queries table, imports land inactive.
  3. 03Activate them on the Prompts page so the next scan asks the engines directly.

Metrics this role tracks: Cited-but-not-ranking count · Impression-weighted position · Tracked prompts

See the mirror list
Agency lead explaining why rankings ≠ AI mentionsThe rankings report no longer explains the client's visibility.

You retainer-report on organic performance and need to show clients a measurement their Search Console tab cannot produce.

  • Put page-one Google queries beside engine answers in one view, per client project.
  • Every row carries impressions and weighted position, so prioritisation survives client scrutiny.
  • Pair the gap panel with the citations view to show which sources the engines named instead.
  1. 01Create one project per client and connect each client's Search Console property in Settings → Integrations.
  2. 02Run a scan per project so both halves of the join exist.
  3. 03Screenshot the gap panel beside the citations view for the retainer deck.

Metrics this role tracks: Ranked-but-not-cited count · Cited-but-not-ranking count · Query coverage

Show a client the gap
Founder validating that AI investment isn't eating GoogleTwo surfaces, one question: new reach, or the old demand renamed?

You approved AI-visibility spend and need evidence it adds reach instead of replacing search demand you already own.

  • Ranked-but-not-cited shows where Google delivers and every engine stays silent, demand AI has not touched.
  • Cited-but-not-ranking shows engines naming you where Google does not rank you, reach a rankings report cannot see.
  • The two coverage counts state how much of either surface was never comparable, so the story survives a skeptical board.
  1. 01Connect Search Console in Settings → Integrations and bind the property you already verify in Google.
  2. 02Run a brand scan so the join has fresh engine answers on the AI half.
  3. 03Read both coverage counts on the Search page before quoting either finding list.

Metrics this role tracks: Ranked-but-not-cited count · Cited-but-not-ranking count · Clicks / impressions / CTR

Compare both halves
Programme owner closing the coverage gapMost of your ranking queries have never been asked of any engine.

You own the tracked-prompt list and want it driven by demonstrated search demand instead of intuition.

  • Read the unmatched-query coverage count as the measured size of your blind spot, then shrink it.
  • Import top queries as tracked prompts in one click; imports land inactive until you choose to activate them.
  • Imported prompts dedupe case-insensitively against your list and carry an estimated monthly volume where a keyword provider is configured.
  1. 01Read the unmatched-query count under the gap lists on the Search page.
  2. 02Select those queries in the Top queries table and track them as prompts.
  3. 03Re-check the coverage count after the next scan to watch the blind spot shrink.

Metrics this role tracks: Tracked prompts · Query coverage · Ranked-but-not-cited count

Grow tracked prompts

Foundations

What is the Search-AI gap?

Two records of the same brand rarely agree. Google Search Console logs the queries you rank for; an AI-visibility scan logs the prompts engines were asked and what they answered. Each looks authoritative on its own, yet only a small minority of URLs cited by AI engines also rank in Google's top ten for the same intent. Neither dataset can see that disagreement by itself, which is why this view exists, joining the two and reporting only where they contradict.

Disagreement is the expected outcome, not a malfunction. Ranking well makes a page eligible to be cited; it does not decide selection. An answer engine synthesizes from a handful of sources it picks independently of rank order, Google says as much about its own AI features, and the other engines publish no equivalent report at all. "We rank, therefore we are cited" fails precisely where the money is, and showing that it fails is the point of the view.

What keeps the report trustworthy is that both halves stay checkable. The Google side comes straight from a property you verified; the AI side comes from scans you ran on prompts you chose. Every gap row shows the prompts it matched, so the join can be audited rather than believed, and when a stakeholder doubts a figure, it can be checked against Search Console in another tab.

The join

How does a query match a prompt?

A search query and a scanned prompt are different shapes of the same intent: the query is terse ("crm startups"), the prompt is a full question. Matching therefore reduces both sides to significant tokens, lowercased, punctuation stripped, single characters and a deliberately small stopword list removed, and then requires every significant token of the query to appear somewhere in the prompt. Containment runs from query to prompt and never the reverse, because requiring the question's words inside a terse query would match almost nothing.

Two details protect the join's precision. The stopword list stays small on purpose: an aggressive list starts deleting real product terms, and the strictness belongs in the containment rule instead. And a query made entirely of stopwords matches nothing at all, with an empty token set, "every token appears" would be vacuously true, and the query would match every prompt you track.

  • Every row displays the prompts it matched, so a questionable join is visible rather than hidden.
  • Matching runs against your tracked prompts, so a longer prompt list gives the join more reach.
  • At tens of thousands of queries the panel still loads fast, because candidate prompts come from a token index rather than a pairwise comparison.

Reading it honestly

Why does the report count what it cannot conclude?

Beside the two finding lists, the report ships two coverage counts. Queries that matched no tracked prompt are counted, never interpreted, no engine was ever asked about them, so their silence is absence of evidence, not evidence of absence. Prompts the engines did mention you for, but whose query Google never showed, are counted separately. Search Console withholds low-volume terms entirely, so that is missing data rather than a missing ranking.

The findings themselves carry floors worth knowing before you quote them: "ranked but not cited" means page-one-or-better on a query clearing a minimum impression threshold, and the Google half always stops about two days short of today, because that is Search Console's own reporting lag. On connect, query-level history reaches back roughly ninety days while daily totals reach about sixteen months, so the comparison lengthens as syncs accumulate.

FAQ

Search-AI Gap questions, answered.

What is Search AI gap analysis?
A comparison between two records of the same brand: the queries you rank for in Google Search Console, and the prompts LLM Metrix puts to the AI engines on each scan. The panel reports the two places those records disagree, page-one Google queries that no engine mentioned you for, and engine mentions sitting outside Google's top ten, and counts, rather than interprets, everything the data cannot support a conclusion about.
What do I need before this view works?
Two things: a connected Search Console property, and at least one completed scan on the project. With no scanned prompts there is nothing to join Google's queries against, so the panel asks you to run a scan rather than showing an empty comparison.
How much Google history does the comparison have on day one?
About 90 days. The join runs on query-level rows (and, for the page-level view, page-level rows), and those are the shorter of the two backfill windows a first sync pulls, roughly 90 days, against roughly 16 months for the daily totals behind the trend chart. So the trend chart on Search Performance goes back further than this comparison does; both then extend day by day. The most recent two days are never present either, because that is Search Console's own reporting lag.
How is a search query matched to a scanned prompt?
Every significant token of the query must appear in the prompt, punctuation stripped, common question words removed. Containment runs from query to prompt, not the reverse, because queries are terse and prompts are full questions; requiring the prompt's words to appear in the query would match almost nothing. A query made only of common words matches nothing at all.
Why won't it tell me AI is ignoring a query I rank for?
Because in most of those cases we have no evidence. If a query matched none of your scanned prompts, no engine was ever asked about it, and reporting silence as a finding would be a confident claim built on absent data. Those queries are counted and surfaced as coverage so you can go and track a prompt for them.
How often does the comparison update?
The AI half re-derives from your latest completed scan, so it moves when scans move: tracked prompts are re-checked daily on paid plans and weekly on free. The Google half reads query rows your Search Console sync has already stored, refreshed on the sync schedule rather than at page load, opening the page never calls Google.
Why is the page-level comparison empty for my project?
Because no answer in your latest scan linked to a page on your domain, so there is nothing to match Search Console URLs against. It is not a switch you forgot: Perplexity and Google AI Overviews return real links on every scan, and search grounding adds them for ChatGPT, Gemini, Grok and Claude, while Meta AI and DeepSeek only ever name a domain. When no citation carries a URL, the view reports nothing and says why rather than calling every ranking page uncited.
Do www and trailing-slash differences create fake gaps?
No. Before comparing, both sides are reduced to a comparable form, scheme and www dropped, query string and fragment discarded, trailing slash normalised, so the same page arriving in two shapes is still one page.
How is this different from the Search Performance page?
Search Performance reports the Google half alone, clicks, impressions and positions from Search Console, with no scan involved. This view exists only where that half meets the AI half: it joins the same stored queries to your scanned prompts and shows just the contradictions, plus the coverage counts saying how much of either side was never comparable.
I see ranked-but-not-cited rows. What do I do next?
Turn the Google side into tracking. Select the query in the Search page's top-queries table and import it as a tracked prompt in one click: imports land inactive until you activate them, stay inside the per-plan active-prompt cap, dedupe case-insensitively against prompts you already track, and carry an estimated monthly volume where a keyword provider is configured. Once active, the next scan asks the engines about it directly.
Start on the free plan. No card, no time limit.

The AI era of search
is already here

See what AI engines say about your brand before your competitors do. Start free today. No card required.