Methodology
How we measure AEO Visibility
A clear, honest breakdown of the formula, the five engines we test, the counting rules, and where every number in your report comes from — including the limits of the data.
AEO Visibility Score
Illustrative score · five engines, one counting standard
5
AI engines
~20
Buyer queries per market
100
Recorded answers
THE SCORE FORMULA
Five components, weighted to add up to 100. The weights are deliberate: citation rate — the only direct measure of whether AI names you — dominates, and website markup is scored as hygiene, not as a driver. Expand any component for the full reasoning.
Score components
100 pts total
60ptsCitation Rate% of discovery queries where AI actually names the business.
We run a fixed query set across ChatGPT, Claude, Gemini, Perplexity, and Google AI Overviews, then count how often the business shows up — either as a domain in the source list or as a named entity in the answer text. Only DISCOVERY queries count toward the rate: searches on the business's own name are excluded, because being recognized on your own name is not the same as being recommended to a stranger. We use a sqrt-curve so getting from 0% to 25% citation rate is worth more than 25% to 50%; small wins matter most when you're starting from invisible. This component dominates the score on purpose — it is the only direct measure of whether AI names you.
14ptsSchema CompletenessRequired JSON-LD coverage for the vertical (hygiene).
Every vertical (medical, legal, home services, hospitality, etc.) has a required schema set — LocalBusiness, Service, etc. We scrape the homepage and a handful of inner pages, parse all JSON-LD blocks, and score per-type completeness. Weighted as hygiene, not as a citation driver: controlled tests show markup presence by itself does not make AI engines cite you, so it earns a small share of the score rather than half of it.
8ptsEntity AuthorityOrganization JSON-LD, sameAs links, indexed pages.
AI engines lean on entity graphs — knowledge panels, profile links, indexed footprint — to decide whether a business is real. We check for an Organization JSON-LD block, count sameAs links to canonical profiles, and approximate indexed page count.
8ptsContent ReadinessReal answers on the site: structure, specificity, Q&A content.
Whether the site actually answers the questions buyers ask — genuine Q&A content, clear structured headings, specific factual claims an engine can quote. Content substance is what gets cited; the markup around it is hygiene, which is why this component is weighted accordingly.
10ptsAI Overview EligibilityGoogle AI Overview presence for any audited query.
Binary: did Google show an AI Overview for any of the audited queries in this market? If AI Overview never fires for the queries that drive the business, content optimization for it is moot — and the score reflects that.
score = citation_rate × 0.60 + schema × 0.14 + authority × 0.08 + content × 0.08 + aio × 0.10
Hard gate
Blocked AI crawlers cap the score at 25
If robots.txt blocks the AI crawlers (GPTBot, ClaudeBot, PerplexityBot, Google-Extended, …), the score caps at 25 no matter what else is true — an engine that can’t read you can’t cite you.
Deterministic
Same inputs always produce the same score — no randomness, no hidden boosts, and the full weighting is published here.
WHAT WE TEST
We run ~20 real buyer queries across 5 categories, against five engines. That works out to 100 individually recorded AI answers plus a SERP scrape per audit — enough sample to surface a real citation-rate signal without overspending on any single market.
ChatGPT
OpenAI · LLM scrape via DataForSEO
Claude
Anthropic · LLM scrape via DataForSEO
Gemini
Google · LLM scrape via DataForSEO
Perplexity
Perplexity · LLM scrape via DataForSEO
Google AI Overview
SERP feature · DataForSEO SERP API
The five query categories
"Is {Business} any good?"
Catches whether AI even knows the business exists.
"Best {service} in {city}"
The high-intent searches that route revenue.
"{Specific procedure} near me"
Long-tail intent — usually closer to booking.
"How much does {service} cost in {city}?"
Where AI Overviews answer directly — and pick who to name.
"{Business} vs {Competitor}"
Surfaces who the AI thinks the alternatives are.
Own-name (branded) answers are tracked as a recognition cue and shown separately in the report — the score’s citation rate counts discovery queries only.
WHAT “CITED” MEANS
A query counts as a citation when either of the following is true:
Your domain appears in the engine’s source list (the citation panel ChatGPT/Claude/Gemini render alongside the answer, or the AI Overview source carousel).
Your business name appears in the answer text — case-insensitive, trimmed of legal suffixes (LLC, Inc., DBA), with a token-overlap fuzzy match for common abbreviations.
A mention without a domain link still counts. AI engines often paraphrase without linking, and our goal is to measure who shows up in the answer the user actually reads.
Perplexity
Illustrative answer
When we asked: “best family dentist in Plano”
“For family dentistry in Plano, locals most often recommend Lakeside Dental Studio for same-day crowns and Saturday hours, with Legacy Smiles and Prairie Creek Dental as alternatives.”
WHERE THE DATA COMES FROM
No first-party tracking, no analytics pixels, no scraping behind paywalls. Every number in your report comes from one of these four sources.
DataForSEO
LLM scrapers (ChatGPT/Claude/Gemini/Perplexity), AI Mention index, SERP API, Maps API.
Google PageSpeed Insights
Mobile + desktop performance scores, LCP, TTFB, Core Web Vitals.
Anthropic Claude
Vertical classification, narrative generation, action-plan synthesis.
Schema scraper
First-party — fetches and parses JSON-LD, microdata, and RDFa from the lead's domain.
LIMITATIONS
We want this to be useful, not oversold. The honest constraints:
Snapshot in time
AI engine outputs drift — re-running the audit a week later can move citation rate by a few points in either direction.
AI Overview isn't always shown
Google decides when to render it; some commercial verticals see it on <30% of queries.
LLM responses have variability
We use deterministic settings where possible, but the same query can return slightly different answers across runs.
Sample size is bounded
~20 queries per engine (100 recorded answers) is enough to make citation-rate ranking meaningful, but it's not a full corpus.
Schema scoring is limited to the pages we fetch
If your richest schema lives behind an authentication wall, we won't see it.
UPDATES
A report is a snapshot of how AI saw the business at the moment it was generated. A fresh read means a fresh audit — the full pipeline (LLM scrapes, SERP scan, schema audit, speed test) re-runs and writes a new snapshot. We typically recommend an updated report every 30–60 days, or right after shipping a meaningful content change; ask your growth partner, or commission an update the same way you ordered the original.
This methodology, run on your market.
One comprehensive report — every engine, every query category, every number counted exactly as described above.
Working with one of our certified growth partners? Your report may already be covered — ask them.
← Back to MyGrowthReport