Why web-grounded measurement is non-negotiable
An AI visibility number is only meaningful if every query ran with live web search enabled. A model answering from training data alone produces confident, plausible, and frequently fabricated citations — including URLs that have never existed — and those fabrications are indistinguishable from real ones once they are in a spreadsheet. Grounded mode is not an accuracy improvement; it is the difference between measuring the answer surface and measuring the model's memory.
Last updated 2026-07-28
What actually goes wrong without grounding?
Three failures, all silent. First, staleness: an ungrounded answer reflects a training cutoff months in the past, so a competitor that launched this year may not exist in it at all, and a product that shut down may still be recommended. Second, hallucinated citations: asked to source its claims, an ungrounded model generates URLs that follow the shape of real ones — right domain, plausible slug, no such page. Third, and worst, the fabrications correlate with fame. Models are likelier to invent citations for widely-discussed brands, which systematically inflates incumbents and understates exactly the challengers most people are trying to measure.
None of these announce themselves. An ungrounded run produces a full result set, a clean-looking score, and a chart that trends. It is simply a chart of something else.
How does each AI engine run a grounded query?
Every major engine exposes grounding as an explicit API mechanism, and each returns its citations as structured data rather than as text you have to parse. The table below is what AI Visibility Tracker uses per engine, verified against the providers' APIs as of July 2026.
| Engine | Grounding mechanism | Where citations come from |
|---|---|---|
| ChatGPT (OpenAI) | Responses API with the built-in web_search tool | url_citation annotations on the response |
| Claude (Anthropic) | The web_search server tool | Structured web-search result blocks |
| Gemini (Google) | The google_search tool | groundingMetadata.groundingChunks |
| Perplexity | sonar / sonar-pro — search is always on, with no ungrounded mode | search_results and citations fields |
| Any engine via OpenRouter | The :online suffix appended to the model slug | Normalised url_citation annotations, plus exact reported cost |
Why read citations from metadata instead of the answer text?
Because URLs written into prose are model output, and model output can be invented; URLs in grounding metadata are a record of pages the system actually retrieved. Scraping links out of the answer text with a regex reintroduces exactly the hallucination problem grounding was supposed to remove.
AI Visibility Tracker never scrapes URLs from prose. Each engine adapter returns a normalised result — answer text, the provider's structured citation list, token counts, and cost — and only that structured list is treated as citations. The answer text is still read, but for a different purpose: detecting brand and competitor names that were mentioned without a link. Keeping those two signals separate is what makes it possible to say "you were named but not linked", which is a real and common state. More on that in what is Share of AI Answer.
Does the choice of model change what you are measuring?
Yes, decisively, and this is where cost optimisation quietly destroys data. "Measuring ChatGPT" with a cheap mini model measures a product almost nobody uses. The model is not an implementation detail of the measurement; it is part of the definition of the measurement.
AI Visibility Tracker therefore fixes the measurement models to consumer-representative choices — the tier a normal user of each product actually gets — and does not expose a free-text model field for them. It deliberately separates two roles: measurement models (fixed, not cost-optimisable, because changing them changes the metric) and a report/summariser model used for prompt suggestions and written summaries (fully cost-optimisable, never used for measurement, and deliberately run without grounding since it is synthesising over supplied context rather than researching). Answers are also capped at a fixed token ceiling, which is enough for an answer plus its citations but not an essay — a constant by design, not a setting, so the yardstick cannot drift.
Settings flags any selected model that is not grounded, rather than silently collecting data that cannot be compared.
How can I tell whether a tool I already use is grounded?
Ask the vendor three questions and accept only specific answers. What is the exact grounding mechanism per engine? Are citations read from provider metadata or parsed out of the answer text? Which model version represents each engine, and does it change when you change plans?
A tool that answers all three concretely is measuring something real. A tool that answers "we query the leading AI models" is telling you nothing, and the failure mode — a confident number derived from fabricated citations — is not visible in its dashboard. This applies to a $29 desktop app and a five-figure enterprise platform equally; see how AI Visibility Tracker compares for how the trade-offs actually differ.
Frequently asked questions
Do AI models really make up citations?
Ungrounded ones do, routinely. Asked to support a claim without web access, a model generates a URL with the right shape — plausible domain, plausible path — for a page that does not exist. This is why any AI visibility measurement taken without live web search is unreliable in a way that does not show up in the results.
Is Perplexity always grounded?
Yes. Perplexity's sonar models are search-first and have no ungrounded mode, which makes it the one engine you cannot accidentally mismeasure. Every other engine requires grounding to be switched on explicitly through its API.
Does grounded measurement cost more?
Somewhat — grounded calls carry search fees and read more tokens than a bare completion, and consumer-tier models cost more than mini models. That is the price of measuring the real thing. AI Visibility Tracker shows a projected cost before every run and enforces a per-run budget cap (default $5), so the trade-off is visible rather than surprising.