How to Tell If a GEO Change Worked: Count the Answers, Not the Score
Winning two of 20 tracked questions on every engine moves an overall AI visibility score 10 points. Between one run and the next, it moves 14.5 points or more about one time in twenty. So the score cannot tell you whether one GEO change worked; the answers it targeted can. Here is a six-step protocol, the two-run rule behind it, and a log to copy.
To tell whether a GEO change worked, decide before you ship which answers it should change, meaning which questions on which engines, and write down whether each one names you today. Then count those answers over the next 2 to 4 tracking runs. An answer that names you in two consecutive runs after the change is a win; one run is a maybe. Do not judge it by your overall visibility score.
The score is the wrong instrument for one change, and the arithmetic is short. For a brand tracking 20 questions on 3 engines, winning two of those questions everywhere moves the overall score 10 points. Between one run and the next, the score moves 14.5 points or more about one time in twenty. A change that did exactly what it was meant to can read as nothing at all, and a lucky week can read as a win.
Why the Score Can't Tell You
An overall visibility score averages every tracked answer. One question won on every engine is worth 5 points in a 20-question set, and one won on ChatGPT alone is worth 2.3, because ChatGPT is one weighted engine of 3. Most changes target a handful of questions, so the move they can produce is small by construction.
How far a real win moves the overall score
A brand tracking 20 questions on ChatGPT, Perplexity and Gemini, with the overall score weighted by engine the way Ranqo computes it. The dashed line is the 15-point noise band; a reading must be larger than it.
- 0 won
- +0ChatGPT only +0
- 1 won
- +5ChatGPT only +2.3
- 2 won
- +10ChatGPT only +4.5
- 3 won
- +15ChatGPT only +6.8
- 4 won
- +20ChatGPT only +9.1
- 5 won
- +25ChatGPT only +11.4
- 6 won
- +30ChatGPT only +13.6
Winning 4 questions on every engine is the first result that clears the band. Won on ChatGPT alone, it takes 7.
The noise is larger than most real changes
We measured how far scores move between consecutive runs: 14.5 points overall at the 95th percentile, more for one engine or one category. Ranqo sets its bands at 15, 20 and 27 points. Below the band, a change in the score is not evidence either way. In the example above it takes 4 questions won on every engine before the overall score clears its band.
Narrow the metric to the change
A metric that only counts the questions a change targets is less diluted. A category score in a small category clears its band with fewer wins, even though its band is wider:
| Metric | Counts | Band | One win is worth | Wins to clear the band |
|---|---|---|---|---|
| Overall visibility | all 20 questions, every engine | 15 pts | 5 pts | 4 questions won on every engine |
| One engine's mention rate | all 20 questions, one engine | 20 pts | 5 pts | 5 answers won on that engine |
| Discovery visibility | the 7 discovery questions, every engine | 27 pts | 14.3 pts | 2 questions won on every engine |
| Use Case visibility | the 5 use-case questions, every engine | 27 pts | 20 pts | 2 questions won on every engine |
| Expert visibility | the 2 expert questions, every engine | 27 pts | 50 pts | 1 question won on every engine |
The last row is the catch. In a 2-question category one question won on every engine is half the score, so a single win clears the band; that says more about the category's size than about your change. Every score is either diluted or fragile, which is why the protocol below counts answers directly.
The Protocol: Count the Answers
Counting answers works because most answers are stable. In our 102-brand study, 77.5% of brand, question and engine combinations either always or never named the brand, so a change in one of them means something.
1. Name the target answers before you ship
List the tracked questions the change is meant to win, and on which engines. A new comparison page targets the comparison questions; a fix for one engine's crawler targets that engine. Writing this down first is what stops a lucky answer elsewhere being claimed afterwards.
2. Record the baseline
For each target answer, note whether the latest run named you. Most will not, which is why you are making the change. Note the ones that already do, too: a change can lose answers as well as win them.
3. Pick control answers
Choose a few tracked answers on the same engines that the change does not touch. Engines change their models and retrieval without notice, and answers also vary on their own: a 2026 academic audit found that the products ChatGPT's web interface recommended for the same query, asked hours apart, overlapped by a mean of only 0.178, which the authors call a lower bound. If the control answers move as much as your targets, the engine moved, not your page.
4. Ship one change at a time
Two changes aimed at the same answers in the same week cannot be told apart afterwards. If you must ship several, give them separate target answers.
5. Wait in runs, not days
Your numbers only change when a tracking run happens, so count runs, and never trust one measurement. Even with sampling randomness switched off, a model can answer differently: one lab got 80 distinct completions from 1,000 identical requests to an open model. Take an early read after 2 runs: one to see a change and one to see it hold. Call "no effect" only after 3 runs for a page or technical fix and 4 for content, authority or outreach work, which take longer to be picked up.
6. Classify each answer
The two-run rule comes from how answers behave. A mention that has just appeared is still there next run only 54.3% of the time. One seen in two consecutive runs holds 96.1% of the time, and an answer that has left you out twice names you next run only 3.4% of the time.
| Verdict | At baseline | After the change |
|---|---|---|
| Won | Did not name you | Names you in two consecutive runs |
| Provisional | Did not name you | Names you in the latest run only |
| Held | Named you | Still names you in the latest run |
| Lost | Named you | Missing in two consecutive runs |
What Analytics Can and Cannot Add
First-party data is worth checking alongside the answers, but none of it isolates one change.
Search Console
Google counts visits from AI Overviews and AI Mode inside Search Console's ordinary Web search type. Its new generative AI performance reports, available to every site since 31 August 2026, add impressions, pages, countries, devices and dates for those features. They tell you a page appeared, not which question it answered or whether you were the brand recommended.
Google Analytics
GA4 now groups recognised assistants into an AI Assistant channel, but files AI Overviews and AI Mode under Organic Search, and many AI-driven visits arrive with no referrer at all. Traffic moves for many reasons, so treat it as corroboration that arrives later, not as the test.
A Measurement Log to Copy
One log per change. Fill in the top half before you ship and tick the runs as they land.
GEO CHANGE MEASUREMENT LOG
Change: ____________________________________________
Shipped on: ____________ (run after this one is run 1)
Metric it targets: overall / one engine / one category: ________
Noise band: overall 15 pts · one engine 20 · one category 27
TARGET ANSWERS (write these down BEFORE you ship)
question engine at baseline run 1 run 2 run 3 run 4
________________________________ _________ absent [ ] [ ] [ ] [ ]
________________________________ _________ absent [ ] [ ] [ ] [ ]
________________________________ _________ present [ ] [ ] [ ] [ ]
CONTROL ANSWERS (same engines, questions the change does not touch)
________________________________ _________ ________ [ ] [ ] [ ] [ ]
________________________________ _________ ________ [ ] [ ] [ ] [ ]
VERDICT PER TARGET ANSWER
won absent at baseline, named in two consecutive runs after
provisional absent at baseline, named in the latest run only
held present at baseline, still named in the latest run
lost present at baseline, missing in two consecutive runs after
READ IT
Early read after 2 runs. Call "no effect" only after 3 runs for a page
or technical fix, 4 for content, authority or outreach work.
If the control answers moved as much as the targets, the engine changed,
not your page.
Report a score change only when it is larger than the band.Reporting it
Report answers won and lost, by engine. Report a score change only when it is larger than its band, and say plainly when a change produced nothing detectable. A confirmed win shows the answer changed after you acted; it does not prove your action caused it. The control answers rule out the most common other cause, an engine-wide shift. Our client report template carries the same rules for agencies.
How Ranqo Does It
The Action Center runs most of this protocol on every recommendation: it takes the baseline, counts the window in runs and classifies the answers, and you press Re-measure now when the window is up. Naming your own target answers and watching controls stay with you; the Prompts page's Tracking tab shows, for every question, whether each engine's latest answer named you.
The baseline is taken when the recommendation is written
Each recommendation is bound to one metric (overall visibility, one category, or one engine's mention rate) and records which tracked answers in that metric's scope named you at the time. The scope is the whole metric, so an overall-visibility recommendation counts every tracked answer, not only the ones your change aimed at; for a narrow change, keep your own target list as above. Its expected outcome is written in answers: how many in scope already name you, what each further one is worth, and, when enough answers are left to win, how many you would need before the change stands out from normal movement.
The window is counted in runs
Moving a card to Done starts its window. The card counts down After N more runs to the first reading and shows a run counter toward the verdict window: 3 runs for page and technical work, 4 for content, authority and outreach. Each card takes one reading and keeps it, so for a verdict rather than an early read, press Re-measure now once the run counter is full.
It reports answers won, and points only beyond the band
The reading compares the baseline answers with the two most recent runs since Done and counts an answer as won only when both name you, as described in confirmed wins. On the card and in the drawer, a score change prints in points only when it is larger than the noise band; a smaller one reads No detectable change, or the number of answers won when two runs confirmed them. Technical fixes say up front that no visibility change is expected from them: they make a page readable, and structured data on its own has not been shown to move AI visibility.
54.3% → 96.1%
Chance a mention is still there next run when it has just appeared, against seen in two consecutive runs. The reason a win needs two runs.
Measure your next change by its answers
Ranqo tracks your buyers' questions each week on ChatGPT, Perplexity, Gemini and the other engines your plan covers, turns the gaps into prioritized actions, and measures each one in runs against the tracked answers in its metric's scope. The method behind the bands is in our noise study, and the docs guide shows where each formula lives.
Start a 7-day trialWritten by
Nisha Kumari
Nisha Kumari is Co-Founder at Ranqo, where she leads growth strategy and client acquisition. With a background in digital marketing and financial management, she specializes in SEO, Generative Engine Optimization, and helping brands build visibility across AI platforms.
Share this article
Related articles
Your AI Visibility Score Moves 15 Points for No Reason
We measured what an AI visibility score does when nothing happens. Between consecutive runs, with no fix shipped, the overall score moves up to 14.5 points and a single category 27.3. The narrower the slice, the noisier it gets, which is the opposite of what everyone assumes. Most reported wins in this category are sampling variance.
Why You Can't Measure AI Visibility Just Once
Run the same AI query twice and you may get a different answer. So is AI visibility just noise? Mostly not: in our 102-brand study, 77.5% of brand-prompt-engine cells were deterministic, always cited or never. But sentiment flips 6.7x more often than whether you're mentioned. The fix is boring and it works: measure the same prompts repeatedly.
The AI Visibility Client Report, and a Template You Can Copy
A client AI-visibility report has settled into ten sections, and the full template is below to copy. Templates are not scarce; a template that encodes how the numbers behave is. Rules of thumb circulate for how big a move has to be before it counts. Here is one with a method: 14.5 points.