How we measured AI visibility on 15 October 2026: the question set, the 597 readings and the failure modes

The disclosed method behind our benchmark: how 102 buying questions per market were built, why a visibility question never names the brand, why the market has to be locked in the prompt text, and the known failure modes.

Published by AI Knows Us · Updated 15 October 2026

On 15 October 2026 we asked ChatGPT and Gemini 102 buying questions each, in three markets, and recorded every source each answer cited. 612 readings were attempted and 597 were usable, and those 597 readings carried 10,652 citations across 2,708 distinct domains. This page is the method behind that number: how the question set was built, why our own name never appears in a visibility question, why the market has to be fixed in the prompt text instead of by an API parameter, and what one reading per question is worth. We sell AI visibility measurement, which is the reason the method is published here rather than described.

99 of the 102 build spec conversations we ran the same day asked for a disclosed method, written down and attached to the result. The result is published as what AI assistants actually cite across 597 readings of ChatGPT and Gemini in three markets, and every figure on it comes from the run below.

The run, in one table

Date run15 October 2026
EnginesChatGPT and Gemini. Two.
Questions102 per market: 72 identical across all three, 30 market specific
MarketsUnited States; United Kingdom and London; India
Readings attempted612
Readings usable597
Citations recorded10,652 across 2,708 distinct domains
Readings per question1

Read the engine row twice, because it is the row most often misquoted. This dataset is ChatGPT and Gemini. Perplexity, Claude and Google AI Overviews were not in it. Our product measures five surfaces; this measurement covers two, and no number carries from one set to the other.

How the 102 questions were built

The question set is the measurement. Everything downstream is bookkeeping. Four rules built it:

  • Every question is one a buyer would type while deciding what to buy, in the buyer's words rather than ours: the category under its own names, tools and software, agencies and services, and what to do when an answer is wrong about you.
  • 72 of the 102 are worded identically in all three markets. That is what makes the three cuts comparable: when the United States answer and the India answer differ, the question was not what differed.
  • 30 are specific to the market, because a buyer in London and a buyer in Mumbai ask things a shared set never reaches.
  • The set is frozen in a file before the run starts and both engines get the same wording. A question edited mid run produces two datasets that look like one.

Why our own name never appears in a visibility question

Ask an engine whether a named company is any good and the answer will be about that company. The number that comes back is high, it feels excellent, and it measures the engine's willingness to discuss a name you handed it. So a visibility question names a category, a job, a city or a budget, never a brand or a domain. Brand questions go in a separate set, read separately, for a different purpose.

It is worth checking in any vendor report you are shown: if the prompt contains the client's name, the rate in that report measures the prompt.

Why the market is fixed in the prompt text, not by an API parameter

This is the most useful paragraph on the page for anyone running their own version. ChatGPT and Gemini were read through SearchApi's product surfaces. Those surfaces accept gl, hl, location and country on these engines. They return success for every value. They ignore it.

We measured that on a single query before trusting anything to it. With the country set to the United States, the answer came back written for Waterloo, Iowa. With the country set to India, the same question came back answered for Corinth, Mississippi. Both calls succeeded, nothing was logged and nothing threw. A run built on that parameter would have produced a tidy three market dataset in which one market was a small town in Mississippi, and it would have looked finished.

The replacement was tested the same way and does work. The market is stated in the prompt text, at the top of every question, then verified in the answer. The United States prompt came back answered for the United States with no British or Indian markers. The United Kingdom prompt came back answered for London, in pounds. The India prompt came back answered for Mumbai.

Market lock, prepended to every question: "Answer for a buyer located in [market]. Prices in [currency]." Verification, on the answer and not on the request: currency symbol correct city and region names belong to [market] spelling convention matches [market] no markers from the other two markets

Check the output, not the request. A 200 response tells you the call was accepted. The answer text tells you where the engine thought it was.

What one reading per question measures

Each of the 597 readings is one question, asked once, on one engine, in one market. Across a frozen set of 102 questions that is a clean read of which sources an engine reaches for by habit, and it is what the benchmark reports: the source mix, and which domains keep appearing.

Turning a habit into a rate with a range around it needs the same question asked repeatedly, which is how the ongoing product measurement works rather than how this run worked. Our measurement method for the product sets the repeat cadence, reports every rate with a 95% Wilson range, and calls a change real only when a two proportion z test clears 1.96. Copying the audit for one domain, run each question three times and keep the runs apart, so the spread is visible rather than averaged away.

Anyone who has compared two rank trackers on one keyword knows the shape of this problem, and the reasons two position checkers disagree about the same query apply with more force to a generated answer.

The failure modes we know about, and what each one costs

  • 15 readings of 612 were not usable and are excluded from every rate we publish. They sit in one cell of the grid: Gemini in India returned 87 usable readings of 102. Every India figure is read against 189, not 204.
  • A parameter can succeed and do nothing. Covered above. The cost of missing it is a whole run that looks finished and measures the wrong place.
  • Where a page is read from changes what it returns. ChatGPT reported, unprompted, that our pricing page showed rupee prices and no dollar prices, and a verification fetch agreed. The fetch came from an Indian IP and the site prices by location, so both readings were correct and the finding was withdrawn. Any claim about what an engine sees on a site has to state where it was read from.
  • Engines change between runs. Every number here carries 15 October 2026 on it for that reason, and the benchmark commits to a re-run every 60 days against the same question set.
  • One reading is one draw. Read it as a tendency, re-run the set to turn it into a rate, and keep the date on both.

Questions about this method and the 15 October 2026 run

Why 102 questions per market rather than 1,000?

102 questions on two engines in three markets is 612 readings, which is what one day allowed while keeping 72 questions identical across markets. That comparability was worth more than a bigger set that could not be compared.

Why ChatGPT and Gemini and not all five surfaces?

Those two could be read the same way, on the same day, in three markets, with counts we can publish. Perplexity, Claude and Google AI Overviews are measured by the product and are absent from this dataset, so they stay out of every sentence about these 597 readings.

Does the location parameter ever work?

It worked on nothing we tested on these two engine surfaces, and it reported success every time. Treat a location parameter as unverified until you have read a market marker out of the answer text.

How do I run this on my own domain?

Write 30 to 100 buyer questions that never name you, freeze them in a file, lock the market in the prompt text, ask each one three times per engine, and record the full answer and every cited URL rather than a judgement about it. Then count the share of readings citing a page on your domain, and date the file.

What makes a reading unusable?

An answer that came back empty, truncated, or without the source list we were there to record. Those readings are counted in the 612, excluded from the 597, and reported as the gap between the two numbers.

The five decisions that carry over to any version of this

Freeze the question set first. Keep your own name out of every visibility question. Lock the market in the prompt and verify it on the answer. Count citations from the recorded URLs. Put the date and the N on the result, because a visibility number without both is a screenshot.

One disclosure, because it changes how to read everything above. AI Knows Us sells this measurement as a product, across five surfaces rather than two, so we have a commercial interest in you caring about citation counts. Hold that against the conclusions. The method is the part you can take apart without us, and the market lock and the 15 of 612 gap are both there to be argued with.

Read next

Or browse the whole archive.

See what AI says about you.

The first scan is free, it needs no account, and it asks the questions your buyers ask.

Free. No card. We ask 5 real buyer questions on 2 AI apps.

Already sure you want this? Join the waitlist. We open on 31 October 2026. It costs an email address. No card, and nothing is charged. Or talk to a person if you have a question first. Or read how we fix what it finds.