AI-visibility numbers are easy to inflate and hard to check. This page is the antidote: exactly what we sample, how often, what counts as a mention, and what we refuse to claim.
We track 9 answer engines. Every one is web-grounded — its answer reflects what a consumer assistant actually tells a buyer today. We never pad the count with ungrounded model variants.
ChatGPT
Grounded
Official provider API with live web grounding enabled, so the answer reflects current web results.
Gemini
Grounded
Official provider API with live web grounding enabled, so the answer reflects current web results.
Perplexity
Grounded
Sampled from a logged-in consumer session — the same answer surface a real buyer sees, not an API approximation.
Claude
Grounded
Sampled from a logged-in consumer session — the same answer surface a real buyer sees, not an API approximation.
xAI Grok
Grounded
Sampled from a logged-in consumer session — the same answer surface a real buyer sees, not an API approximation.
Google AI Overviews
Grounded
Sampled from a logged-in consumer session — the same answer surface a real buyer sees, not an API approximation.
Kimi (Moonshot)
Grounded
Open model answering over live web retrieval: we fetch current search results first, the model answers over those sources with real citations.
Mistral
Grounded
Open model answering over live web retrieval: we fetch current search results first, the model answers over those sources with real citations.
GPT-OSS
Grounded
Open model answering over live web retrieval: we fetch current search results first, the model answers over those sources with real citations.
Freeis a one-time snapshot: your buyer questions are sampled once on Gemini so you can see how you're represented, with no ongoing tracking.
Paid subscriptionssample continuously. The flagship engines run on a daily tick; the search-grounded open models run on a staggered rotation through the week to keep sampling honest without burning budget on redundant checks. Not every question is re-asked on every engine every day — and we'd rather label that precisely than claim “everything, daily.” Your dashboard shows the actual last successful run per engine, always.
Lifetime plans are scan-based: you trigger checks on demand from a monthly pool, plus an automatic weekly Gemini heartbeat that keeps your receipts and change alerts current.
Engines occasionally degrade — a provider outage, a rate limit, an expired session. When that happens the engine's badge goes stale or down in your dashboard and its samples stop counting, rather than being quietly extrapolated.
Each sampled answer gets one of three verdicts for your brand (and each tracked competitor):
The visibility score averages these over real runs (recommended = 1, named = 0.5, absent = 0, scaled to 0–100). The same scale is used everywhere — dashboard, weekly email, receipts — so no surface can disagree with another.
Every score, alert and chart traces back to a real sampled answer stored verbatim — engine, timestamp, full text, cited sources. If a run produced no usable answer, it produces no verdict. You can open any number in the product and read the answers behind it.
Answers pass a sanitizer before they count. Page chrome, sidebar dumps, rate-limit modals and search-result wrappers masquerading as answers are detected and discarded — they never become verdicts, alerts or competitor “wins.”
When a tracked answer changes after you ship a fix, you get the before/after receipt: both answers verbatim, with engine and dates. We say the answer changed. We never say your fix caused it — nobody can prove that, so we refuse to sell it.
An accuracy alert fires only when an engine contradicts your own published facts. High-severity claims are then re-checked across independent model families before they carry a confidence label (low → medium → high → verified). The deterministic evidence always wins; a language model never gets the final word over it.
Every engine in your dashboard wears a live / stale / down badge computed from its last successful run. If a feed stops, it shows as down — it never silently poses as fresh data. Cadence varies by engine and plan, and we label it rather than round it up to “daily.”
AI answers are non-deterministic — the same question can produce slightly different answers an hour apart. So we never alert on one-off wording differences. Change alerts fire only on real transitions per question and engine (you or a competitor entering or leaving an answer, or a new source starting to feed it), deduplicated so each transition alerts once. Where the evidence is too thin to call, the product says “inconclusive” instead of guessing.
→ That a fix you shipped caused an answer to change. We show the change; attribution in AI answers is not provable, by us or anyone.
→ That answers will change on any schedule. In practice, moving an AI answer takes weeks to months, and sometimes doesn't happen.
→ Coverage we don't have. If an engine is down, staggered, or not on your plan, the product says so instead of interpolating.
→ Precision the sample size can't support. Where evidence is thin, you'll see “inconclusive” — not a confident number.
Free one-time snapshot · No credit card