Transparency · Updated 2026-06-12

How Surfedo Measures AI Visibility

Exact position rankings across ChatGPT, Perplexity, Gemini, and Claude — measured via production APIs with live retrieval where supported. Every claim on this page reflects how the system works today.

Measurement

What we measure

We ask each engine real buyer-intent questions for your category and parse the ranked order of brands in the answer — numbered lists, bullet rankings, and explicit rank phrases. Your position is where your brand appears (#1, #2, #3, and so on). Unranked means the engine did not mention your brand in a ranked context.

We track four engines in parallel on every scan: ChatGPT, Perplexity, Gemini, and Claude. Each engine receives the same buyer-intent query; we store the answer text, extracted position, and history so you can see trends over time.

Production config

The engines

EngineModel IDAPIGrounding
ChatGPTgpt-5OpenAI Responses APILive web search enabled
PerplexitysonarPerplexity APIRetrieval-native (always live)
Geminigemini-3.5-flashGoogle Generative Language APIGoogle Search grounding enabled
Claudeclaude-sonnet-4-6Anthropic APIModel-native (no separate web-search tool)

Model IDs update as providers release new generations; this page reflects production config. Override via environment variables without a code deploy when we rotate models.

Process

How a scan works

  1. Query generation — From your category, services, competitors, and (when connected) Search Console data, we build buyer-intent questions your prospects ask AI engines.
  2. Engine calls — For each query we call all four engines once (1 sampled response per query per scan). AI answers vary between samples, which is why we emphasize trends over single data points.
  3. Position parsing — We extract ranked brand order from each answer and record your position per engine.
  4. Storage & history — Results are stored per query with timestamps so weekly or daily re-scans build a position history chart.

Re-scan cadence: Pro — weekly automatic re-scan (default workflow cadence). Agency — daily re-scan supported on Agency plans (select daily in Settings → Automation).

Volatility

Why positions move

AI-generated answers are not deterministic. Temperature, retrieval freshness, and source ranking can change the brand order between two calls to the same engine with the same question — even when your website has not changed.

Engines that use live web search (ChatGPT with web search, Perplexity, Gemini with Google Search) can cite different domains month to month as the open web shifts. That volatility is industry-wide, not unique to Surfedo.

Practical guidance: judge direction over weeks of scans, not a single before/after. A one-rank dip on one engine is noise; sustained movement across engines and queries is signal.

Proof loop

Fix verification

When you mark a fix as done, Surfedo saves a before snapshot of positions for the affected queries and schedules a follow-up re-scan (14 days later by default, or immediately via Verify now). The dashboard reports before/after position delta per engine.

Honesty

What we don't do

  • We do not scrape consumer ChatGPT, Claude.ai, or Gemini UIs — measurement runs through official provider APIs for repeatable, comparable results.
  • We do not fabricate scores when an engine is unavailable. Since our CH-02 update, failed API calls show data unavailable, not a placeholder number.
  • We do not claim to show exactly what every individual ChatGPT user sees — consumer apps add personalization and memory we exclude for comparability.
FAQ

Methodology FAQ

We measure OpenAI's current production model (gpt-5) with live web search via the Responses API. Answers closely track consumer ChatGPT for category research queries, but we deliberately exclude consumer-only personalization and memory so results are comparable scan-to-scan.

AI answers are non-deterministic: the same question can produce different rankings between samples, and engines refresh retrieved sources continuously. Industry-wide, cited domains and brand order can shift month to month even without changes on your site. Judge direction over weeks of scans, not a single data point.

Paid plans include automatic position re-scans via scheduled workflows. Pro includes weekly automatic re-scan by default. Agency plans support daily re-scan — choose daily, weekly, or bi-weekly in Dashboard → Settings → Automation.

No. If an engine API call fails or returns unusable data, we show data unavailable — not a substitute number or mock score.

ChatGPT: gpt-5 (OpenAI Responses API, web search). Perplexity: sonar. Gemini: gemini-3.5-flash with Google Search grounding. Claude: claude-sonnet-4-6. See the engine table on this page; model IDs update as providers ship new generations.