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
8–20
Questions in standard samples
40–100
AI checks in standard samples
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 RateDiscovery answers that cite the business’s website.
Across five AI tools, we count each discovery answer whose saved sources cite the business’s verified website domain or an accepted official alias. Multiple links to the same business in one answer count once. Brand-name searches are excluded. A square-root curve awards 30 of 60 points at a 25% citation rate. Names in answer text, explicit recommendations, clicks and clients are separate signals and do not contribute to this component. Failed answers stay visible in the coverage note; they are not confirmed absences.
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 parse JSON-LD from the page content successfully retrieved by the website scan and score per-type completeness. This is not a complete inventory of every page. 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.
8ptsOrganization DataStructured organization information (hygiene).
The current scan checks Organization JSON-LD. The formula can also accept verified profile-link and indexed-page counts when supplied, but missing values earn no points. This component is a website-data proxy; it does not measure reputation or prove why an AI engine cited the business.
8ptsQuestion & Answer MarkupFAQ/HowTo structured data (hygiene).
The current scan supplies FAQPage and HowTo markup presence. The formula can accept a measured heading count when available. These are limited structural signals: missing markup does not mean the visible page lacks useful answers, and adding markup does not guarantee an AI citation.
10ptsAI Overview PresenceGoogle AI Overview presence for any audited query.
This small category-level component records whether an AI Overview appeared for any checked query. It does not establish that the business was cited, that every query shows an overview, or that the site is eligible for all AI search surfaces.
citation points = 60 × √(discovery citation rate ÷ 100). Add up to 14 schema + 8 organization + 8 Q&A markup + 10 AI Overview points.
Access controls
Training preferences and search access serve different purposes.
GPTBot and ClaudeBot control training crawls; OAI-SearchBot and Claude-SearchBot serve search. Google-Extended does not control Google Search inclusion. Review restrictions for the specific service. They never erase a website citation already present in a saved answer or cap every engine’s score.
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 a selected sample of local discovery questions and separate brand checks, against five engines. A broad specialty sample has 18 discovery questions and two brand checks. A focused sample uses six discovery questions per confirmed service, plus two shared brand checks: 40, 70 or 100 AI checks for one, two or three services. Each report shows its actual questions, answers and failures. Historical and expanded regional reports can have different counts.
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
"{Business} reviews {city}, {state}"
Checks name recognition separately from discovery.
"Best car accident lawyers in {city}, {state}"
Samples local searches for a relevant professional or business.
"Lawyer for a denied work injury claim in {city}, {state}"
Tests a concrete client need within the selected service scope.
"Which attorneys in {city}, {state} offer an initial consultation?"
Samples natural-language questions about choosing help.
"Compare personal injury law firms in {city}, {state} by experience and fees."
Compares options without supplying the subject business name.
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 answers can change between runs. A later score may differ even when the business has made no changes.
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
These are editorial samples, not measured search volumes or independent customer searches. Repeating questions across five engines does not prove a statistical ranking, conversion rate or market-wide share.
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