How we measure AI visibility
Engines and data sources
We ask each engine the exact prompts you track, in the market and language you choose, and store every answer in full together with its citations. Live answers come from official APIs, either through DataForSEO's AI Optimization and SERP APIs or directly from the providers.
| Engine | Live source |
|---|---|
| ChatGPT OpenAI | DataForSEO AI Optimization API → LLM Responses (web search on); or OpenAI Responses API with web search |
| Perplexity Perplexity | DataForSEO LLM Responses; or Perplexity Sonar API |
| Gemini | DataForSEO LLM Responses (web search on); or Gemini API with Google Search grounding |
| Claude Anthropic | DataForSEO LLM Responses (web search on); or Anthropic Messages API with the web search tool |
| AI Overviews Google Search | DataForSEO SERP API — the AI Overview block on Google's results page |
| AI Mode Google Search | DataForSEO SERP API — Google AI Mode endpoint |
API answers with web search are a close proxy for what consumers see in each app, but not an identical copy: consumer apps may personalise answers, use different model versions or show different sources. We label engines accordingly and recommend reading trends rather than single answers.
Sandbox mode
Accounts without live data credentials run in sandbox mode. Answers are generated by a deterministic simulator, clearly labelled Sandbox data throughout the product, and never mixed with live data. When live sources are connected, tracking starts a fresh baseline.
Metric definitions
For each prompt p and engine e, we take the latest answer inside the reporting window.
- mentioned — 1 if any of the brand's names, aliases or domains appears in the answer (word-boundary, case-insensitive; text inside URLs does not count).
- position — the 1-based order of the brand's first mention among all tracked brands mentioned in that answer; empty when not mentioned.
- position weight — 1 → 1.0, 2 → 0.85, 3 → 0.7, 4–5 → 0.55, 6+ → 0.4.
- cited — 1 if any citation's registrable domain belongs to the brand.
AnswerScore = mentioned × 100 × (0.7 × position weight + 0.3 × cited)
| Metric | Definition |
|---|---|
| AI Visibility Score | Importance-weighted mean of AnswerScore over every prompt × engine in the window (importance 1–3). Also computed per engine and per topic. |
| Mention rate | Answers that mention the brand ÷ all answers. |
| Share of voice | The brand's mentioned-answer count ÷ the sum of mentioned-answer counts of every tracked brand (own and competitors) in the same answer set. |
| Average position | Mean position over answers that mention the brand. Lower is better. |
| Citation share | Citations to the brand's domains ÷ all citations in the answer set. |
| Net sentiment | % positive mentions − % negative mentions. Each mention is scored from −1 to 1 and labelled positive at ≥ 0.25 and negative at ≤ −0.25. |
Dashboards show rolling seven-day windows computed daily. Deltas compare the current window with the window seven days earlier.
Sentiment and recommendation stance
When an LLM judge is configured, each mention is scored by a model that reads the answer and returns a sentiment between −1 and 1 and whether the answer recommends the brand. Without a judge, we use a transparent lexicon tuned for how engines describe products ("top choice", "steep learning curve", "expensive") with negation handling, and mark the result as estimated.
Sampling and limitations
- Each scheduled scan takes one sample per prompt and engine. Engines are non-deterministic, so single answers can vary; trends over several runs are reliable.
- Results depend on the market and language configured for each workspace.
- Google AI Overviews do not appear for every query. When none is shown, the brand counts as not visible for that prompt.
- Brand detection relies on names, aliases and domains you configure. Add aliases for abbreviations and product names to avoid misses.
The AEO audit
The audit fetches the homepage, robots.txt, the XML sitemap, llms.txt and a sample of internal pages, then runs 48 checks. Each check passes, warns or fails; category scores are weighted means of their checks, and the overall score weights categories as follows:
| Category | Checks | Weight |
|---|---|---|
| AI crawler access | 10 | 25% |
| Structured data | 11 | 20% |
| Answerability | 9 | 25% |
| Authority & trust | 7 | 15% |
| Technical health | 11 | 15% |
Failing and warning checks become recommendations, ordered by impact, then severity, then weight.