There is a specific kind of frustration that brings teams to this problem, and it does not sound like an SEO complaint. It sounds like this: we are on page one for the terms that matter, our traffic is fine, and when a buyer asks ChatGPT who the good vendors are in our category, we are simply not in the answer. Three competitors are. One of them ranks below us.
The instinct is to treat this as a ranking problem that has not finished arriving yet - as though AI citation were a lagging reward for search performance, and the fix were to rank harder. It is not, and this article is about proving that to yourself with your own data rather than taking anyone’s word for it.
Why does ranking well on Google not make you visible in ChatGPT or Perplexity?
Rank and citation are decided by two different passes over two different questions.
A rank is an ordering. A crawler has already retrieved and indexed a set of pages, and the ranking system sorts them by relevance and authority for a query. The output is a list, and your position in that list is the whole result.
A citation is an act of quotation. An answer engine composes a paragraph in its own voice and then decides which sources it is willing to stand behind. To be one of them, three things have to hold at the same time. The engine has to be able to retrieve your page. It has to be able to extract a clean, self-contained claim from it. And it has to find that claim corroborated somewhere it did not get from you.
Page-one rank is strong evidence for the first condition and almost no evidence for the other two. That is the whole mismatch. A page can be perfectly retrievable and rank beautifully while wrapping its actual claims in a paragraph that only makes sense with the three paragraphs above it, and while being the only place on the open web where those claims appear. It will rank. It will not be quoted.
The mechanism is covered at length elsewhere and there is no point repeating it here: on the structural side, why competitors show up in AI overviews when you do not, and on the assistant side, the technical reasons AI assistants skip brands. What those articles do not do is tell you how to put a number on your own gap. That is the rest of this one.
Can you actually measure the gap, or is it a black box?
It is not a black box, and the reason is simple: you already own half the data.
The half you own is the classic-search half. Search Console will give you, for every query your site surfaces on, the average position, the impressions and the clicks. That is a complete, free, first-party record of how the ranking system sees you.
The half you do not own is the answer-engine half, and you have to generate it, because no engine publishes a report telling you how often it names you. You generate it by asking - repeatedly, on a schedule, in a fixed and unchanging way - and writing down what came back.
Neither half is interesting on its own. The join is where the diagnosis lives.
How do you build the citation log?
A citation log is a table where each row is one prompt, run against one engine, at one point in time.
Start with the prompt set. These are not keywords. They are the questions a buyer would actually type into an assistant, in the shape they would actually type them - “what are the best tools for X”, “who should I use for Y if I am a small team”, “is A or B better for Z”. Keep the set fixed. The moment you edit a prompt you have broken the time series and you are starting over. CLEO monitors 15 queries per site for this reason: a small stable set measured repeatedly beats a large set measured once.
Then decide what counts as a result, because “did we appear” is too coarse to act on. Three outcomes are worth separating:
| Outcome | What it means | What moves it |
|---|---|---|
| Recommended | The engine puts your brand forward as the answer, with a reason | Reputation. Consensus in the places the engine has learned to weight |
| Cited | The engine links to or attributes a page on your domain as a source | Infrastructure. Retrievability, structure, extractable claims |
| Mentioned | Your name appears in the text, but as neither pick nor source | Entity recognition. The engine knows you exist in this category |
A brand can be mentioned constantly and cited never. That is a different problem from being cited constantly and recommended never, and if you collapse all three into one “visibility” flag you will not be able to tell them apart. The distinction between the infrastructure half and the reputation half is the single most expensive thing to get wrong in this field, and it is worked through in citation is infrastructure, recommendation is reputation.
Finally, run each prompt against each engine separately, and run it more than once. These systems are stochastic. The same question asked twice will not always return the same sources, so a single run tells you almost nothing and a run repeated across a fortnight tells you a great deal.
How do you join it to Search Console?
The join key is the query string, and it is imperfect on purpose.
Search Console records the keyword a person typed into a search box. Your prompt set records the sentence a person typed into an assistant. These are not the same string and never will be - “geo tracking tools” versus “what should we use to see if ChatGPT mentions our brand”. So you map rather than match: group both sides into the same handful of buyer intents, and let one intent carry several Search Console queries and one or two prompts.
What you want to end up with is one row per intent:
| Intent | Avg. position | Impressions | Cited: engine A | Cited: engine B | Cited: engine C |
|---|---|---|---|---|---|
| Category comparison | 3.1 | 4,200 | 0 / 12 | 2 / 12 | 0 / 12 |
| Pricing question | 2.4 | 1,850 | 7 / 12 | 6 / 12 | 4 / 12 |
| How-to / method | 14.7 | 900 | 5 / 12 | 3 / 12 | 5 / 12 |
Three rows in, the shape of the problem is usually already visible. The row that ranks best is not the row that gets cited most. That is not noise. That is the finding.
Note also that the columns disagree with each other. Around 11% of the domains ChatGPT cites for a question are also cited by Perplexity for the same question - the engines overlap far less than most teams assume. Which is the first argument against ever collapsing these columns into one number.
What does the joined table actually tell you?
Sort the table by position and then by citation rate and every row falls into one of four quadrants. This is the part worth printing out.
| Quadrant | Reading | What to do |
|---|---|---|
| Ranks well, cited well | Both passes are working. Nothing is broken here | Hold. Protect the freshness and the structure; do not rewrite a page that is winning |
| Ranks well, rarely cited | Relevance is proven and the blocker is downstream: extraction or corroboration | The main case. Diagnose which of the two, in that order - it is cheaper to fix structure than to earn agreement |
| Ranks poorly, cited well | You are a quotable source but not a competitive destination. The engine lifts your claim and sends no click | Good ground. The hard half is done; the classic-search signals are the gap |
| Ranks poorly, rarely cited | Nothing is wrong with your AI strategy because you do not have an AI problem yet | This is still an SEO problem. Fix retrievability and relevance first; GEO work on top of it will not land |
Most teams who describe the symptom at the top of this article assume they are in the second quadrant, and most of them are right. But a meaningful minority discover they are in the fourth on the intents that actually matter commercially - ranking well on branded and long-tail terms while losing the category questions outright. That distinction changes the entire budget conversation, and no amount of GEO tooling will surface it if you never look at the rank column.
The second quadrant splits again, and the split is the whole diagnosis. If the engine cannot retrieve or parse the page, that is infrastructure - most often a page whose meaningful content only exists after JavaScript executes, which is the single most common way a good site becomes invisible to AI. If the engine can parse the page perfectly and still will not assert your claim, that is corroboration - the claim exists nowhere but on your own domain, and answer engines behave like careful editors who cross-check before they cite.
The test to tell them apart is cheap. Take the claim you want cited, and search for it as a phrase, minus your own domain. If nothing comes back, you have a corroboration problem no amount of on-page structure will solve.
How big a sample do you need before you act on it?
Smaller than you fear and larger than one.
The failure mode here is treating a single run as a reading. A prompt asked once produced one sample from a distribution, and if you rewrite a page because ChatGPT skipped you on a Tuesday you are chasing noise. The discipline is to put an interval around every rate before you compare it to anything: a 2-in-12 citation rate and a 4-in-12 citation rate are not meaningfully different results, and treating them as a doubling will send you off to fix something that was never broken.
Two rules save most of the wasted effort. Never blend engines into one number - a flat average can hide one engine collapsing while another doubles. And never compare this week to last week without an interval; compare trends over a month or more. The metric set and the sample-size arithmetic are worked through in what to actually measure in AI search visibility, and the reason CLEO’s own score is allowed to fall rather than only ever climb is covered in a score allowed to fall.
What do you fix first, once you know your quadrant?
The order matters more than the list, and it is the reverse of how most teams sequence it.
- Retrievability. Confirm the engines can fetch the page and that meaningful content is present in static HTML without executing JavaScript. Nothing downstream matters until this passes.
- Extractability. Make the claim you want quoted survive being lifted out of context. One self-contained sentence, near a heading that matches the question, with the specifics in it rather than in the paragraph above.
- Corroboration. Get the claim seconded somewhere you do not own. This is the slowest step and the one that unblocks recommendation rather than merely citation.
- Re-measure. Same prompt set, same engines, same cadence. If you changed the prompt set you have destroyed your own baseline.
Do these out of order and the work does not compound. Corroboration built on top of a page the engine cannot resolve produces no lift at all, and six months later the team concludes the off-page work does not function - when in fact the engine could never connect the mentions back to a page it could read.
How long before the number moves?
Honestly: infrastructure fixes show up in weeks, corroboration takes months.
For the specifics CLEO can evidence from its own work - DisburseCloud, a twelve-person fintech, moved from a 17% to a 67% AI citation share over 90 days, reported at 95% Wilson confidence. On CLEO’s own site over 30 days, the AI Readability Score moved from 35 to 96, the SEO score from 40 to 95, and the GEO score from 14 to 50. These are first-party results from CLEO’s own measurement rather than independent third-party research, and they come from sites where the fix order above was followed rather than sampled.
What none of that entitles anyone to promise is a ranking. Answer engines do not expose a position to be bought or guaranteed, and any vendor who offers you one is describing something that does not exist - which is why we will not promise an AI ranking.
The useful reframe is this: your Search Console export and your citation log are measuring two different systems that happen to share an audience. Once they sit in the same table, the argument about whether AI visibility is real stops being a matter of opinion, because the rank column and the citation column visibly fail to agree. Everything after that is just working out which of the four quadrants each page is in and fixing them in the right order. If the tooling question is next, the ranked comparison lives in the best AI search monitoring tools.
Check your own score. If you want to see where your own site stands before building any of this, the scan is free and it needs no login. Enter a domain at regencleo.ai/scan.