Methodology

How VisibilityAI defines a mention, a score, and a guarantee

This is the measurement spec. Editorial ranking of generated pages is separate and lives on /about/editorial. Provenance badges live on /trust.

What we are measuring

GEO here means Generative Engine Optimization: whether an AI answer names a business. It is not GIS, mapping, or a Google page-one rank. We do not sell a ChatGPT recommendation.

Live AI Check (public demo and on-demand probe)

The Live AI Check calls model APIs with two differently worded prompts and keeps the stronger result per engine. Engines in this path: Gemini, ChatGPT, Claude, Perplexity. Results that are not a provider error are cached for 1 hour so the same prompt is not billed twice in a short window.

Query shape when category and city are known: “Best {category} in {city}” plus a second “who is a good {category} in {city}” phrasing. Product listings without a city use a category-only prompt. Ambiguous “GEO” categories are rewritten so the model is not asked a GIS question.

Mention rule. A mention is counted only when the answer contains the business name and is not a refusal, “I don’t know”, or a provider error. Name-in-a-denial does not count. Position is a coarse paragraph index (early / mid / late in the answer), not a ChatGPT Search ranking.

Dashboard AI Visibility Rate

Paid tracking uses a larger engine list, gated by plan. The number on the dashboard is an AI Visibility Rate / Mention Rate: mentioned engines divided by successful mentioned + not_mentioned checks. Failed, missing-config, timeout and fallback checks are excluded. That is not competitive Share of Voice. True SOV is client qualifying mentions divided by total qualifying mentions in an explicitly tracked comparison set, and is omitted when that set does not exist.

The Basic five — the surfaces named in customer copy — are Perplexity, ChatGPT, Gemini, Google AI Overview, Bing. Pro and Premium add more models. A plan cannot be sold an engine its tier does not actually query.

Background refresh is a scheduled cron, not a continuous scrape of ChatGPT’s consumer UI. That is a real product difference versus tools that sample the public ChatGPT front-end. mySOV is a deprecated API alias of AI Visibility Rate, not competitive Share of Voice. See vs Profound.

Legacy visibility history

New records use a shared runId and an explicit per-check outcome. A legacy aggregate such as mentionCount 1 / totalQueries 10 is never converted into one binary mentioned outcome (that would turn 10% into 100%). Unproven aggregates are classified unknown_legacy and excluded from canonical AI Visibility Rate. Zero or missing data is never inferred as not_mentioned. Legacy documents are never merged by timestamp proximity and never combined with a new explicit-outcome run. Excluded counts and reasons are returned as methodology debug metadata.

explicit checkOutcome → use that outcome (new per-check records)
runId groups those new records into one run; do not reinterpret mentionCount as one mentioned flag
legacyEligibleQuerySemantics=eligible_mentioned_not_mentioned_only → contribute mentionCount/totalQueries as that many eligible checks
all other legacy aggregates → unknown_legacy, excluded from visibilityRate (1/10 must not become 100%)
zero/missing mentionCount without explicit not_mentioned → unknown_legacy, never not_mentioned
never merge legacy documents by timestamp proximity
never combine a legacy aggregate with a new explicit-outcome run
group: runId → run:{runId}
else group: checkOutcome → phase0-recordedAt:{recordedAt}
else group: one document → legacy-singleton:{id|recordedAt:engine} (no timestamp-proximity merge)
canonical visibilityRate = reconstruct(latest group's rows only)
do not mix a legacy aggregate into a new explicit-outcome run
excluded unproven legacy counts/reasons are methodology/debug metadata only

60-Day Visibility Guarantee

Window: 60 days. Engines: Perplexity (Sonar API) and Bing organic search signal. Query kind: generic category searches a stranger would type, e.g. "best {category} in {city}". Branded queries are excluded. The bar: your business name or website appears in the answer to at least one of those searches, on at least one of those engines.

ChatGPT is tracked on paid plans. It is not an engine in this guarantee. Sold guarantee engines are exactly Perplexity (Sonar API) and Bing organic search signal. Azure+Bing grounded proxy is diagnostic only. Consumer Microsoft Copilot is not claimed as measured. A mention on one generic query on one named guarantee engine is the bar — not top-N, not “recommended first,” not “cited as the source.”

The 60-day window starts only from captured first-payment, provider subscription-activation, or a verified webhook timestamp that retains a provider event, payment, or subscription ID. Generic subscription.createdAt and business.createdAt are not paid-start. Renewal startDate does not replace the original eligible activation date. Missing, conflicting, cancelled, future, or backfilled dates without provider proof return unverifiable_manual_review — no automatic credit or denial.

GEO score

GEO score is a 0–100 estimate of how AI-ready a listing looks (profile completeness, content, schema, tracked citations). It is labeled estimated, not live. Public directory order: Plan is not a public sort key (Phase 0B), then VisibilityAI directory completeness score, then name. Not an AI-engine ranking factor.. Active free listings are included in the same organic order as paid listings. Paid plan does not rewrite the mention check and does not buy organic directory or comparison rank.

How those generated pages are written is disclosed on Editorial methodology. Evidence badges are on Trust & provenance.

Crawlers

VisibilityAI allows GPTBot, ChatGPT-User, and OAI-SearchBot in robots.txt. Bingbot and Googlebot are allowed on public pages. Allowing a bot is not the same as being retrieved or cited. IndexNow pings submit URLs; they do not create a Bing or ChatGPT ranking.

What we still cannot measure from this site

  • Whether OAI-SearchBot stored a specific URL in ChatGPT Search (we do not have OpenAI’s index logs).
  • Independent review volume on G2, Capterra, or Clutch (none published from this entity record yet).
  • A customer baseline → outcome → date case with third-party evidence. That gap is listed on case studies.

Last reviewed 1 September 2026. Corrections: [email protected]. Related: Trust · Editorial ranking · Contact.