Methodology
How we measure AI visibility
Two AI answers can look the same and mean different things. One is what the model remembers about a brand from training; the other is what it finds when it searches the web first. We report which of the two produced every number, per engine, on the dashboard and in every report.
Last reviewed against the running code on .
Per engine: what we query, and whether it retrieves
| Engine | Surface queried | Retrieves? |
|---|---|---|
| ChatGPT | OpenAI Responses API | Retrieves when grounded mode is on |
| Claude | Anthropic Messages API | Retrieves when grounded mode is on |
| Perplexity | Perplexity Sonar API | Always retrieves |
| Google Gemini | Google Gemini API | Retrieves when grounded mode is on |
| Microsoft Copilot | Microsoft Copilot API | Always retrieves |
| Google AI Overviews | Rendered Google results page | Always retrieves |
| Grok | xAI Responses API | Retrieves when grounded mode is on |
| DeepSeek | DeepSeek chat API | Does not retrieve |
| Meta AI | Meta Llama API | Does not retrieve |
Where the grounded / from-memory label comes from
Every answer we store records whether the engine ran a web search to produce it. The label on an engine tile is computed from those stored flags over the same window as the score beside it — not from the table above, and not from any list of which engines are supposed to retrieve.
- Grounded — 90% or more of the answers in the window searched the web first.
- Mixed — between 10% and 90% did. This is what a window that spans a configuration change looks like.
- From memory — 10% or fewer did. The score describes what the model remembers, not what a searching assistant would say today.
- No answers — nothing trusted landed in the window, so we claim nothing.
What counts as an answer
An answer is excluded from every score when it fails the quality gate — a CAPTCHA, a consent wall or an error page is not an answer, and scoring one would record a false "not mentioned". Brand-wide numbers use one sample per run, so a prompt sampled repeatedly for stability does not count several times.
Citations only exist where an engine retrieves. A citation-derived metric therefore covers the grounded engines only, and we say which those are rather than presenting partial coverage as complete.
Data handling, retention and subprocessors are documented separately on the trust page.