Short version. You cannot tell from one ask. Ask the same question of the same engine five times in fresh sessions and the answer to "were we mentioned" changes from one run to the next, with no change on your side: on our own long-tail questions the gap between two rounds measured hours apart was 12 points on Claude and on the OpenAI stack, and 15 points on Gemini for head-category questions. So the method has three parts that each remove one way of fooling yourself. Freeze the questions and ask each one five times per engine, so a number is a rate and not a coin flip. Measure two competitor brands you do no work for in the same runs, so a shift that also moves them is the engine drifting and not your work. And publish every change you made, with the page and the date, so a before-and-after number sits next to the list of what happened in between. If a vendor cannot show you those three things, they are guessing.
What founders are doing now
The question comes up on Reddit in the same words every week. One founder keeps "a google sheet with 47 prompts i run through each llm weekly, ctrl+f our name, log if we got mentioned. takes 4 hours every monday." (r/DigitalMarketing, May 2026) Another, deciding whether to pay anyone at all: "I don't want to blindly throw money at something if the data is untrackable and they're just making up numbers." (r/SaaS, February 2026)
The four-hour spreadsheet is honest work, and it has a problem the person running it cannot see: one ask per prompt per week. Below is what one ask hides.
Part one: five samples per question, not one
On August 16 we measured our own domain twice, hours apart, with nothing changed on the site in between. Same 24 questions, same three engines, five fresh sessions per question per engine. The second round exists only to answer one question: how much does a number move when nothing happens?
| Question layer | Claude (Brave index) | OpenAI stack | Gemini (Google index) |
|---|---|---|---|
| Brand-direct (asked about us by name) | 0 points | — | 0 points |
| Head category ("best AEO tools") | 3.2 | 0 | 14.9 |
| Long-tail category | 12.1 | 12.5 | 10.0 |
| Problem-phrased | 13.3 | 8.3 | 3.3 |
Those are the largest swings between adjacent rounds for the control brands, in percentage points of answers that named them. A 12-point move on a long-tail question is, on this evidence, what the engine does on its own on a Saturday afternoon. A vendor who reports "mentions up 10%" after a month from one ask per prompt has reported the noise.
Five samples do not make the noise go away; they make it measurable. With five asks per question we can tell a brand going from never mentioned to usually mentioned, which is what AEO is supposed to achieve. We cannot tell a one- or two-point drift, and we say so on every report rather than reporting it as movement. Five is also the number a seed-stage budget can afford to repeat monthly: our full round is 24 questions × 5 samples × 3 engines, and the client baseline report is 20 questions × 2 engines.
Part two: control brands you do no work for
Every one of our runs also asks the engines about two competitors we do not touch. The point is not to compare ourselves with them. The point is that they are a thermometer. If our mention rate moves and theirs holds, the work moved it. If ours moves and theirs moves the same way, the engine moved, and we subtract it before we report anything.
The controls have caught two things we would otherwise have published as results. In August, one collection run stored an API rate-limit notice as if it were an engine answer, quietly turning 75 records into "not mentioned." We found it because a control brand's rate fell in a way that reality does not allow between one afternoon and the next. In the round of August 23, a different server error slipped past the detector we had added and turned 38 Claude answers into false negatives; that one took us three days and a read of the raw transcripts, and the correction is on this blog. Both times the first signal was a control brand moving when it should not have.
There is a second use. When a buyer asked the engines how a provider could prove its results were not just the model drifting, the question itself turned out to be nearly unclaimed: across our 200-answer baseline in September, Claude named a vendor in one of five answers to it, the OpenAI stack in none, and Claude did not even run a web search in four of its five attempts, answering from memory instead. Nobody in this category has published the method well enough to be cited for it. That is why we publish ours.
Part three: a log of every change, with a URL and a date
A before-and-after number is two numbers. What makes it evidence is the list of what happened in between, because that is the only way to argue that the work did it and not something else. We keep that list as the changelog: every change to our own site since the relaunch on August 8, newest first, with the page it touched, the day it was live and the commit that carried it. Thirty-odd changes and five articles so far. A day with six changes has six rows.
What the log lets you check, with our own data:
- The on-site content pack went live on August 17. In the round measured on August 23, the OpenAI stack's answers about us by name went from 0 of 8 correct identities to 6 of 8, and it cited our own domain for the first time (7 of 48 answers). That is the clearest step in our data, and the log says exactly what preceded it.
- Head-category and long-tail mention rates stayed at 0 through all three rounds on all three engines. The log shows what we had and had not done by August 23: the FAQ, the comparison page and two explainers were live; no third-party listings were, no articles had been published, and the pricing page did not exist yet. A zero next to that list is a different fact from a zero next to a year of work.
- Between September 22 and October 10 the log has 24 rows. The mid-point measurement below is read against all of them, not against the one change anybody would like to credit.
The log is also the reason we can say "nothing moved" without flinching. If the list of changes is public and the numbers are public, a flat line is a result about those changes, and the next round builds on it instead of starting over.
Our mid-point numbers, October 12: nothing moved
This is what the method looks like when the answer is no. On September 28 we asked Claude and GPT-6 Sol twenty buyer questions about AI visibility help, none of them containing a brand name, five fresh sessions each, web search on. On October 12, with the 24 changes above live in between, we asked the same 200.
| Claude, Sep 28 | Claude, Oct 12 | GPT-6 Sol, Sep 28 | GPT-6 Sol, Oct 12 | |
|---|---|---|---|---|
| Answers naming ClawWorld | 0 of 100 | 0 of 100 | 0 of 100 | 0 of 100 |
| Answers citing claw-world.app | 0 | 0 | 0 | 0 |
| Answers naming Profound (control) | 69 | 60 | 9 | 6 |
| Answers naming Peec (control) | 65 | 54 | 7 | 6 |
| Answers naming any agency | 64 | 44 | 29 | 23 |
| Answers where the engine ran a search | 87 | 76 | 99 | 97 |
Three readings, in the order the method gives them.
- Our number is still zero, and the controls say the engine moved about ten points on its own. Both control brands lost roughly ten answers on Claude, and Claude named a vendor of any kind in fewer answers than two weeks ago. Any change inside that band would have been noise; ours is not even inside it. The honest sentence is "nothing moved," not "it got worse."
- What did move points at the index, not the writing. Three vendors we had not seen in September entered Claude's answers this round, each on the back of its own pages being cited nine to twelve times. Our nine new pages were cited zero times. On the OpenAI side, the twelve "how do I" questions still name nobody and cite Google's and OpenAI's documentation, as they did in September. That is a crawl-and-index problem before it is a content problem, and it is what the next two weeks are for.
- The method question is still unclaimed. On "how can a provider prove the change wasn't model drift," Claude did not run a search in any of its five sessions this round and named nobody; GPT-6 Sol searched and cited documentation. Publishing this post will not change what Claude answers from memory. We are publishing it anyway, because a buyer reads it even when an engine does not.
The next round is in three weeks, on the same 200, whether it moves or not.
How we measure, in five lines
The full method is on the methodology page; every round on our own domain, with the judged answers downloadable as CSV, is on the Lab page.
- A frozen question set. Buyer questions in four layers (by name, head category, long-tail, problem-phrased), sealed before the baseline. We do not publish the exact wording while the experiment runs, because a company that publishes its measured questions on its own site is optimizing for the test.
- Five samples per question per engine, with web search on, in fresh sessions.
- Two control brands in every run, measured on the same questions, whose drift is subtracted.
- Three verdicts per answer: mentioned or not, which company the engine took us to be, and whether the answer cited our own domain. Each is a column in the download.
- Published either way. Rounds where nothing moved are reported as such, with the date.
Five questions to put to any vendor
A buyer-side version of the same standard was put well by another vendor's founder, disclosed as such, on Reddit: "Show me a client's LLM citation share before and after, with the prompt set you tracked. If they can't produce it, they're guessing. If they show keyword rankings instead, walk away." (r/SaaS, May 2026) Our version, in the order a ten-minute call allows:
- How many times is each question asked per engine per round? (If the answer is once, every number you see is a coin flip.)
- Which brands do you measure that you do no work for, and are they in the same runs?
- Can I download the judged answers, one row per answer, with the engine, the date and what was cited?
- Where is the list of what you changed, with the page and the date?
- What did your last report say when nothing moved?
We answer the first four on this site. On the fifth: on category questions our own number is still zero after three rounds, and it is on the Lab page in full.
How we checked
The noise figures are the largest swings between adjacent rounds in our own three published rounds (R0 and R1 on August 16, W2end on August 23, corrected September 26), as exported from the measurement repository to the Lab page; the CSV files there contain every row behind them. The identity and own-domain figures are the OpenAI-stack rows of the same files. The 200-answer baseline is the September 28 process measurement described in What makes ChatGPT or Claude name a company; the October 12 mid-point used the same twenty questions, the same two engines (Claude Opus 5 with web search, GPT-6 Sol through Codex with web search), five samples each, in sessions with no memory, project files or connectors, and the same vendor dictionary for counting. The two Reddit quotes are verbatim, linked to their comments.
Disclosure
ClawWorld is an AEO (Answer Engine Optimization) service for B2B startups based in New York. We sell the measurement described here as part of a done-for-you service, so we have an interest in buyers adopting this standard. The numbers above are our own, and the places where they are zero are left in.