Why does ChatGPT give a different answer every time?
Because the answer is generated by sampling, not looked up. A language model picks each word from a range of likely next words, and the assistants that recommend businesses also decide on each run whether to search the web, what to search for and which results to use. Four sources of variation stack on top of each other.
The first is sampling temperature. OpenAI's API reference describes temperature as "What sampling temperature to use, between 0 and 2," where higher values such as 0.8 "will make the output more random" and lower values such as 0.2 make it "more focused and deterministic." The default is 1. Turning it down does not make answers repeatable. Anthropic's documentation says that "Even with temperature set to 0, the results will not be fully deterministic, and identical inputs might produce different outputs across API calls."
The second is retrieval. When web search is switched on, OpenAI's web search guide says "the model can choose to search the web or not based on the content of the input prompt." Google's grounding documentation for Gemini says "The model analyzes the prompt and determines if a Google Search can improve the answer," and Anthropic's web search tool page says Claude "determines when to search based on the prompt," possibly several times in one request. The searches return whatever the index holds that day, and the model chooses which results to cite. OpenAI notes that the full list of pages a model consulted is often longer than the list it cites.
The third is location and personal context. OpenAI's web search tool takes an approximate user location, and if none is given, the API reference says, it "defaults to the United States." In the consumer apps, location and history come from the account. Google's Gemini Apps Privacy Hub says "By default, Gemini Apps use the general area from your IP address or the Home or Work addresses in your Google Account," and that Gemini can personalize answers "by referencing your chats." A lawyer checking from her office while signed in is not seeing what a stranger in the next city sees.
The fourth is the model itself. OpenAI's text generation guide warns that "Even different snapshots of models within the same family could produce different results." When a vendor ships a new model, the instrument changes. Record the model name and date with every sample, so a jump in the numbers can be checked against a release before anyone celebrates it.
Why one screenshot of an AI answer proves nothing
A single answer is one draw from a distribution: it shows that a brand can be named, not how often it is. Public evidence on how much answers move comes from research SparkToro published in January 2026 with Gumshoe.ai. Six hundred volunteers ran 12 recommendation prompts through ChatGPT, Claude and Google's AI Overviews, 2,961 times in all. The authors found "a <1 in 100 chance" that ChatGPT or Google's AI, asked 100 times, would give the same list of brands, and said it was "more like 1 in 1,000 runs before you'd see two lists in the same order."
SparkToro's Rand Fishkin drew two conclusions. The order of brands in an answer is close to meaningless, and "visibility % across dozens to hundreds of prompts run multiple times is a reasonable metric." The work was not peer reviewed, and Fishkin discloses that his co-author works at Gumshoe, which sells AI tracking.
Our own study of who ChatGPT recommends in Toronto shows the same thing from another angle. We put 120 questions to a logged-out ChatGPT once each. In private schools, wedding venues and franchises, between 89% and 93% of the businesses linked appeared in only one answer. In categories like those, whether a given business shows up in a given answer is close to chance.
The arithmetic cuts both ways. If a firm's true rate on a question is 20%, a single check will miss it four times in five, and three checks in a row will all miss it about half the time (0.8 × 0.8 × 0.8 is 0.51). An agency showing a client one answer that names them, and a rival showing one that does not, are both showing noise.
How many prompts and runs do you need?
Enough that the margin of error is smaller than the change you care about. At a share near 20%, getting within five percentage points either side takes about 250 independent answers, and getting within 2.5 points takes about 1,000.
The standard 95% confidence interval for a proportion is p ± 1.96 × √(p(1 − p) / n), where p is the share of answers that name the brand and n is the number of answers. The part after the ± sign is the half-width, the margin of error. The NIST/SEMATECH e-Handbook of Statistical Methods calls it "the confidence expression most frequently used" and recommends the Wilson interval instead, because the simple version misbehaves with small samples and with shares near 0% or 100%. Both are shown below.
| 10 answers | ±24.8 points |
|---|---|
| 30 answers | ±14.3 points |
| 100 answers | ±7.8 points |
| 300 answers | ±4.5 points |
| 1,000 answers | ±2.5 points |
| Answers | Simple interval | Wilson interval |
|---|---|---|
| 10 | 0% to 45% | 6% to 51% |
| 30 | 6% to 34% | 10% to 37% |
| 100 | 12% to 28% | 13% to 29% |
| 300 | 15% to 25% | 16% to 25% |
| 1,000 | 18% to 22% | 18% to 23% |
Read the first row as a warning. A share of 20% measured on ten answers is consistent with a true rate anywhere from about 6% to 51%, which is to say it tells you almost nothing. The simple formula even runs below zero at that size (we have shown it as 0%), which is the failure the handbook warns about.
Changes are harder to detect than levels, because a month-on-month difference carries the error of both months. With equal samples the margin on the difference is about 1.4 times (√2) the margin on each reading. At 300 answers a month and a share near 20%, each reading is good to about 4.5 points, and a change has to exceed about 6.4 points before it can be told apart from noise.
All of these figures assume each answer is an independent draw. Repeated runs of the same question are not, and the textbook formula makes no allowance for that.
Why 21 questions asked 10 times are not 210 independent answers
Because ten runs of the same question tend to resemble each other, so the tenth run adds less new information than a new question would. Statisticians call this clustering, and treating clustered answers as independent makes the margin of error look smaller than it really is.
The mechanism is easy to see with a single question. Ask for the best employment lawyers in Mississauga and each run searches for much the same thing and retrieves much the same pages. If a firm is on those pages, it tends to be named in most runs; if it is not, in almost none. So the data tend to be lumpy: a few questions where the firm is named nine times out of ten, and many where it never appears. The evidence comes in chunks the size of a question, not the size of a run.
The size of the effect is measured by the intracluster correlation coefficient, or ICC, which Killip, Mahfoud and Pearce define in the Annals of Family Medicine as "the between-cluster variability divided by the sum of the within-cluster and between-cluster variabilities." Here the clusters are questions. It feeds the design effect, 1 + (m − 1) × ICC, where m is the number of runs per question, and the effective sample size is the number of answers divided by the design effect. In the paper's own worked example, 128 people in clusters of 32 with an ICC of 0.017 are worth about 84 independent ones.
| ICC 0 (independent) | ±5.4 points (210 effective) |
|---|---|
| ICC 0.1 | ±7.5 points (111) |
| ICC 0.2 | ±9.1 points (75) |
| ICC 0.5 | ±12.7 points (38) |
| ICC 1 (every run identical) | ±17.1 points (21) |
You do not have to estimate the ICC to get an honest interval. Work out the share for each question separately, then treat the questions as the sample. The standard error is the standard deviation of the per-question shares divided by √k, where k is the number of questions, and the 95% interval is the average share plus or minus about two standard errors (2.086 for 21 questions, the t value for 20 degrees of freedom). When every question has the same number of runs, the average of the per-question shares equals the overall share, and the interval now reflects how much questions differ from each other, which is the uncertainty that matters.
The practical lesson is to spend the budget on questions rather than runs. At an ICC of 0.2, 300 answers collected as 30 questions run 10 times are worth about 107 independent answers. The same 300 collected as 100 questions run three times are worth about 214. More questions also make the result less dependent on any one phrasing, which is the next problem.
How to build a prompt set from real buyer questions
Start from questions buyers have already asked, in their own words, and fix the set before the first run, so that later changes in the number reflect changes in the answers rather than in the questions.
Search Console is the first source, because it holds what people actually typed. Its Performance report filters queries with regular expressions in RE2 syntax, case-insensitive by default, so a filter such as ^(who|what|which|how|best|top) pulls out question-shaped and "best X in Y" searches. Our guide to Search Console regex filters has patterns for questions, comparisons and local searches. The People Also Ask questions Google shows on your main terms add the follow-ups. Sales and intake calls supply the rest, especially comparison questions that name a rival.
Then write each one the way a person talks to an assistant, which is usually longer and more specific than a search. "Employment lawyer Mississauga" becomes "I was let go after 11 years at a company in Mississauga and offered eight weeks' pay. Which employment lawyers should I talk to?" Include the place where the buyer would name it. The 120 questions at the end of our Toronto study are a usable template for local businesses.
A few rules keep the set honest:
- Leave your own brand out of the tracked questions. A question that names you measures what the model says about you, which is worth checking for accuracy, but in a separate, smaller set.
- Cover the stages of a purchase: early research, shortlists, comparisons and the question asked just before buying.
- Weight the set toward the questions that bring revenue, and write down why each one is in it.
- Keep a fixed core for the trend line. Test new questions in a separate set, and restart the trend if the core changes.
- Define the match rules before counting: every spelling of the brand, its domain, and the names of the rivals you will report on.
- Store every answer in full, with the date, engine, model name and location setting, so anyone can reread what was counted.
How to measure ChatGPT, Gemini, Claude and Perplexity separately
Sample each engine on its own and report it on its own line. Gemini grounds its answers in Google Search while OpenAI and Anthropic run their own web search tools, so the engines work from different results, and an average across them hides the one that never names the brand.
The repeatable method is the API with web search switched on: OpenAI's web search tool for ChatGPT's models, grounding with Google Search for Gemini, Anthropic's web search tool for Claude, and Perplexity's Sonar, which Perplexity describes as its "grounded search model." Through the API you control the conditions. You can set the location (Anthropic's tool accepts a city, region, country and time zone), which matters because OpenAI's defaults to the United States: a Canadian firm sampled without a location is being measured as an American buyer would see it. You get the citations back in a structured form, and OpenAI can return every source the model consulted, not only the ones it cited. Anthropic publishes its price: $10 per 1,000 searches plus token costs, according to its web search documentation (November 2026).
What the API cannot show is a particular person's app. It reproduces what the model does with the question and the open web, without the account history, saved preferences and precise location that a signed-in user brings. Checking the consumer apps by hand, in fresh logged-out chats, is the closer view of what a stranger sees, and it is how we ran the Toronto study. It is slow, hard to repeat exactly, and too small to support an interval unless you put in hours.
Google's AI Overviews and AI Mode are a separate case, because they live on Google's results page rather than in a chat app. Any tool that reports AI Overview presence for a list of keywords has to check those results pages, and Google's spam policies list "scraping results for rank-checking purposes or other types of automated access to Google Search conducted without express permission" as machine-generated traffic. For your own site, Google counts the real thing, as the next section explains. Our comparison of ten AEO tools checks how each tracker gathers its answers, and whether it shows a margin of error.
Which AI search numbers are measured rather than sampled?
Three sets: Google's count of AI Overview and AI Mode impressions in Search Console, Microsoft's count of AI citations in Bing Webmaster Tools, and visits from assistants in Google Analytics 4. They record what real users were shown or did, they cover only your own site, and none of them says who was named instead of you.
Search Console's Generative AI performance report counts "how many times links to your site were shown to a user in a generative AI feature on Google Search," by page, country, date and device. Google introduced it on 3 June 2026 and says it reached all websites worldwide as of 31 August. Its chart counts by property, so two links to your site in one answer make one impression, while the page table counts each page. Clicks from AI features sit in the main Performance report: Google's page on AI features and your website says they are reported "within the 'Web' search type," mixed with ordinary results. Under Google's counting rules, "An AI Overview occupies a single position in search results," which every link inside it shares, and each follow-up question in AI Mode counts as a new query.
Bing Webmaster Tools' AI Performance report, in public preview since February 2026, counts citations of your pages in "Microsoft Copilot, AI-generated summaries in Bing, and select partner integrations," with page-level counts and a sample of the grounding queries behind them. In June Microsoft added Citation Share, "the percentage of citations attributed to your site out of all citations shown across all sites" for a grounding query. Microsoft calls it "an observational metric" and says it is "not a ranking system or a competitive scoreboard." It is a measured cousin of share of model, though it counts citations rather than mentions, and only in Microsoft's answers.
Google Analytics 4 now has an AI Assistant channel in its default channel group, covering visits from "sources like ChatGPT, Gemini, Deepseek, Copilot, or Grok." A visit lands there when "the referrer matches a list of AI Assistants," a list Google does not publish, so a visit that arrives without a referrer cannot be classified this way. The channel "excludes Google's AI Overviews and AI Mode."
| Source | What it counts | What it cannot tell you |
|---|---|---|
| Search Console, Generative AI report | Impressions of your links in AI Overviews and AI Mode | Clicks, queries, or which rivals were shown |
| Search Console, Web search type | Clicks, including from AI features | Which clicks came from an AI feature |
| Bing Webmaster Tools, AI Performance | Citations in Copilot and Bing AI answers, grounding queries, Citation Share | Clicks, which Microsoft's posts do not mention, or mentions without a citation |
| GA4, AI Assistant channel | Sessions referred by assistants such as ChatGPT and Gemini | Visits with no referrer, or anything from AI Overviews and AI Mode |
| Sampled share of model | How often assistants name you and rivals on your questions | How many real people saw those answers |
The measured figures and the sample answer different questions, and they never add up to one total. The measured rows say whether AI features show your pages and send you visits. The sample says who gets named when your buyers ask, which none of these reports shows.
How to report share of model to a client without overclaiming
Report the share with the number of answers and the interval, engine by engine, next to the main rival's share on the same questions, and say plainly that it is an estimate from sampled answers generated through the models' APIs.
Here is how that reads for Harbour & Finch LLP, a sample Toronto law firm that AIO Copilot uses as demo data. Assistants named the firm in 21% of 630 sampled answers, from 21 questions run 10 times on each of three engines, with a 95% interval of 16% to 27%. Its rival was named in 68%. The interval is wider than the simple formula would give for 630 independent answers (about 18% to 24%). It matches the Wilson interval for about 210 effective answers, a third of those collected, which is the kind of allowance clustering calls for. The 47-point gap to the rival is far outside the noise. A two-point move in the firm's own share next month would not be.
A report that will survive a skeptical client follows a few rules:
- Every share carries its number of answers and its interval.
- Each engine gets its own line before any blended figure, and a blend says how the engines are weighted.
- Rivals are measured on the same questions, runs and dates.
- A change is called a change only when it exceeds the margin on the difference, not the margin on one month.
- Measured figures from Search Console, Bing and GA4 sit in their own rows and are never added to sampled ones.
- The client can open the answers that were counted.
None of this says the agency's work caused a change. Assistants update their models and rivals publish, so crediting the work needs a comparison: questions or pages the work touched against similar ones it did not, over the same weeks. Our guide to proving an SEO change worked with a control group sets out the method for pages, and it carries over to questions.
AIO Copilot's AI visibility report runs this kind of sample through each model's API with web search, shows the 95% interval with every share, and keeps it apart from what Search Console and Bing count. It does not read the consumer ChatGPT app. Whatever tool produces the number, ask of it what a client should ask of yours: how many answers, from which engine, on which questions, with what interval. A share of model that cannot answer those four is a screenshot with a percentage sign.
Questions
Is share of model the same as AI share of voice?
Mostly, and tools use the two names interchangeably. Check the arithmetic, though: share of voice is sometimes calculated as your mentions divided by all brand mentions across the answers, which gives a different number from the share of answers that name you. A report should say which one it shows.
What is a good share of model?
There is no published benchmark, because the figure depends on the question set and on how many businesses could plausibly be named. In our Toronto study, retirement home answers linked fewer than three homes each while private school answers linked more than five. Judge a share against named rivals on the same questions, engines and dates.
How often should share of model be measured?
Monthly suits most businesses. The margin of error depends on how many answers sit behind each reading, so splitting a monthly sample of 300 answers into four weekly samples of 75 roughly doubles the margin on each reading, from about 4.5 to about 9 points at a 20% share. Weekly readings that size mostly measure noise.
Can I track share of model for free?
Yes, by hand. Put 20 buyer questions to an assistant in fresh logged-out chats, record which businesses are named, and repeat on three different days. Sixty answers at a 20% share leave a margin of about 10 points either side even before allowing for clustering, so the result is a rough reading. Sampling through the model APIs costs money: Anthropic charges $10 per 1,000 web searches plus tokens (its documentation, November 2026).
Does share of model cover Google AI Overviews?
Only if the tracker checks Google results pages, which is a different method from asking a chat assistant. For your own site, Search Console counts how often your pages were linked in AI Overviews and AI Mode in its Generative AI performance report, available to all sites since 31 August 2026. GA4's AI Assistant channel excludes AI Overviews and AI Mode.
New studies, by email
Our own studies, and what each new release changes for SEO, AEO and Google Ads.
