TL;DR: AI Overview citations can change between identical searches. On 5 August 2026 I ran one query, “web designer for tradespeople UK”, against one page I own, ten times in a single afternoon. Google’s AI Overview cited that page in six of the nine renders that resolved and left it out of three, a citation rate near 60% for one page-query pair on one day. Citation was a per-render draw, not a fixed property of the page. The consequence: a single check of an AI Overview citation, by you or by a tool, is not evidence of presence or absence, so any visibility claim needs at least five renders across two or more configurations.
That single fact breaks how most people, and most tools, report AI visibility. If you check once and see your citation, you record a win. If you check once and miss it, you record a loss. For a page sitting at an intermediate rate, both readings are wrong. This is the finding I registered as E101, and this is what it means for anyone measuring citations in Google AI Overviews.
How I measured AI Overview citations in one frozen test
I measured one page-query pair, ten times, and froze the dataset before analysing it. The target was my own trades page on AJ Web Design, the query was “web designer for tradespeople UK”, and the surface was Google AI Overviews, with two DataForSEO API pulls alongside the browser captures. The date was 5 August 2026. I ran the renders across declared browser profiles rather than a single client, because the point was to see the retrieval surface behave, not to tune a result.
Nine of the ten renders resolved to a readable answer. One returned an unresolved async stub, so I excluded it and recorded it rather than guessing. The whole run is hashed: the canonical evidence manifest file receipt-zero_PACKET.json carries SHA256 fingerprint 4584652f…fa1b3, and every artifact inside it, including the excluded stub, is preserved. I own the page, so this is a first-party measurement I can verify end to end, which is why E101 sits in the T1 tier rather than resting on a screenshot.
The result: six cited, three absent, and no two renders alike
Across the nine resolved renders, the page was cited six times and absent three times, a rate near 60% for this one pair on this one day. More telling than the rate: every browser I observed more than once produced both outcomes. Chrome cited the page, then dropped it, then cited it again, all in the same afternoon and the same incognito mode. Edge went from absent to cited. The outcome flipped inside a single client, so the client was not the cause.
Every resolved render was also a materially different document. The AI Overview rebuilt itself each time, with different framing, different price anchors, and anywhere from 9 to 19 cited sources. My page’s role ranged from fully absent, to a passing body mention, to a fully blurbed recommendation. Citation here was not a binary switch flipping on and off against a fixed answer. The answer itself was regenerated on every request, and my presence in it was one unstable part of a larger instability.
Four explanations I killed the same day
Before I called this variance, I tried to explain it away, and each explanation died on the data within the same afternoon. The discipline matters more than the finding, so here is exactly what fell and what killed it.
- An API-versus-browser blind spot. The theory that browsers cite and the API does not was killed by a Chrome run in which the browser itself showed no citation.
- A browser-family axis. The theory that Chromium clients behave one way was killed once a second Chrome run and an Edge run both cited the page.
- A template-framing axis. The theory that one answer template carried the citation collapsed once both framings appeared with the citation present and with it absent.
- A drop since 3 August. The theory that the page had simply lost the citation days earlier was killed by an Opera run that cited it cleanly.
No candidate predictor survived the full set of observations. That absence is the point. I could not reduce the outcome to access path, client, framing, or a dated change, which leaves per-render variance as the honest description of what happened.
Why AI Overview citation variance breaks single-check visibility tools
Any tool that checks a citation once reports confident presence or confident absence, and for an intermediate-rate page both are wrong. This is the payload of E101, and it is a measurement rule, not a growth tip. A single observation of an AI Overview citation is not evidence of a state, because the state does not exist to be observed. What exists is a distribution, and one draw from a distribution tells you almost nothing about its shape.
So E101 sets a floor I now apply to my own work: no citation presence or absence claim from fewer than five renders across at least two declared access configurations. Report the rate and the sample size, not a yes or a no. This amends the GEO Lab citation-check protocol to repeat-sample every cell rather than probe it once, and it’s the first of the process rules I’m now applying across the lab’s citation work.
What this test does not show
This is one page, one query, one day, and I will not stretch it past that. The rate near 60% is an existence proof that per-render citation variance happens at intermediate rates. It is not a prevalence estimate, and it says nothing about how common this behaviour is across other pages, queries, or engines. Anyone quoting “AI Overviews are 60% random” from this post has taken a number that was never offered.
The honest bounds go further. My browser captures are declared-profile screenshots, not wire-level records, while only the API pulls are hash-verified at the wire. Rate stability across days, and any real search for a mechanism, belong to a separate, jointly-governed replication round in preparation with Massimiliano Brighindi, which I am linking rather than folding into this first-party finding.
How to measure AI Overview citations without fooling yourself
Sample every citation check at least five times, across at least two declared configurations, before you believe the answer. Fix your query wording, your locale, and your logged-out state, then vary only the access path so the variance you see is the surface’s and not yours. Record the misses, including any render that fails to resolve, because a discarded null is how a 60% rate quietly becomes a reported 100%. Then report the rate with its sample size, and treat any single-shot visibility number, yours or a vendor’s, as an anecdote until it has been repeated.
Data availability
The canonical evidence packet is deposited on Zenodo under DOI 10.5281/zenodo.21970135. The manifest file receipt-zero_PACKET.json inside the deposit carries SHA256 4584652f643127d612894fa77385397b1c16461e026e1f305aec413d477fa1b3.
Key takeaway: A single check of an AI Overview citation is not evidence of presence or absence. E101 showed that one page-query pair produced six cited renders and three absent renders in a single afternoon. Citation was a per-render draw, not a fixed property. Any visibility claim needs at least five renders across two configurations, reported as a rate with sample size.
Frequently asked questions
Do Google AI Overview citations change every time you search?
They can, and in this test they did. Running one query ten times in a single afternoon, Google’s AI Overview cited the same page in six of nine resolved renders and left it out of three. The AI Overview was regenerated on each request, with different sources and framing, so the citation behaved as a per-render draw rather than a fixed result.
How many times should you check an AI Overview citation before trusting it?
At least five times, across at least two declared access configurations. E101 sets that as a minimum-N floor because a single check of an intermediate-rate page reports confident presence or confident absence, and both can be wrong. Report the citation rate and the sample size instead of a single yes or no.
Does this mean Google AI Overviews are random?
No, and E101 does not claim that. It shows that one page-query pair sat at an intermediate citation rate on one day, which is an existence proof of variance, not a statement that the whole system is random. A different page-query pair may instead be stably cited or stably absent. The finding is that intermediate rates exist and defeat single-shot measurement.
Is per-render citation variance the same as personalisation?
No. The outcome flipped inside a single client, in the same incognito session, with a fixed query and a logged-out state. Chrome cited the page, dropped it, then cited it again with nothing personalised changing between runs. That rules out user-level personalisation as the cause and points to variance in the generation itself.
Have questions about this topic? Contact The GEO Lab · Return to homepage

