AEOmeter sends the prompts you choose to ChatGPT, Claude, Perplexity and Google AI Overviews from your own Chrome, saves each finished answer with its sources, and counts which brands each answer mentions and which websites it cites. This page defines every number the dashboard shows, what goes into each denominator, and what the data can and cannot tell you.
What counts as an answer
One check is one prompt sent to one engine. A run is a set of checks, started by you (Run now) or by a daily schedule. A check only becomes an answer when the engine shows its own finished state and AEOmeter saves the answer text. Every rate on this page uses answers as its unit.
| Check status | What happened | In the denominator? |
|---|---|---|
| Answered | The engine finished and the answer was saved with its sources. | Yes |
| No AI Overview shown | Google returned results without an AI Overview for that search. | No. There was nothing to measure. |
| Failed | The answer timed out (10 minutes), the tab closed, the engine returned an error reply, or a sign-in was missing. | No. A failure is not a brand miss. |
| Needs attention | A sign-in wall, verification page or usage limit stopped the check. | No, unless it later finishes. |
| Cancelled / Skipped (newer run) | You cancelled the check, or a newer run replaced it before it started. | No. |
| Queued / Running / Waiting for answer | The check has not finished yet. | Not yet. |
When a period has no answers, the dashboard shows a dash (–) instead of 0%. "No answers" and "answers that never mention you" are different facts, and the dashboard keeps them apart.
Mention rate (shown as Visibility)
Mention rate is the share of captured answers that mention your brand by name or by one of its aliases.
mention rate = answers mentioning any alias of your brand
÷ answers captured successfully- A brand counts at most once per answer. An answer that names you five times counts the same as one that names you once.
- The denominator is the same set of answers for every brand in the comparison, so competitor mention rates are directly comparable to yours.
- Filters (period, engine, tag, prompt) narrow numerator and denominator together.
Alias matching rules
Mentions are found with deterministic text matching. There is no model deciding whether a brand "was really meant", so the same answer always produces the same result and you can check every match yourself in the highlighted answer.
- Each brand matches on its name plus every alias you add in Brand & competitors (for example "Acme Analytics", "Acme", "acme.io").
- Matching is case-insensitive: "ACME", "acme" and "Acme" all match.
- Matches need word boundaries. The characters on either side of the match must not be letters, numbers or underscores, in any language. "Acme" matches "Acme's pricing" and "acme.io" but not "Acmeify".
- When two aliases overlap in the same spot, the longest one wins, so "Acme Analytics" is one occurrence and not two.
- Matching runs on the saved answer text. It does not read sentiment, recommendation order or whether the mention was positive.
| Answer text | Counts as a mention? | Why |
|---|---|---|
| "Acme is a good fit for early teams" | Yes | Whole word. |
| "…compared with ACME's free plan" | Yes | Case-insensitive; the apostrophe is a boundary. |
| "see acme.io for details" | Yes | The dot is a boundary. |
| "Acmeify automates onboarding" | No | Letters continue after the alias. |
| "a pinnacle of analytics" | No | The alias is not a standalone word. |
Owned citation rate (shown as Cited)
Owned citation rate is the share of captured answers that cite at least one page on a domain you own.
owned citation rate = answers citing ≥ 1 URL on your domains or their subdomains
÷ answers captured successfully- Your domains are the websites you list for your own brand.
www.is ignored, and subdomains count:docs.acme.ioandblog.acme.iocount foracme.io. - Only citations count (the sources the engine attributes to its answer). A link that appears inline in the answer text does not make an answer "cited".
- An answer citing three of your pages counts once.
- If you have not added a website for your brand, the dashboard asks you to add one instead of showing a rate.
Citations vs inline links
AI answers contain two kinds of links, and they mean different things. AEOmeter keeps them separate.
| Kind | Where it comes from | Used for |
|---|---|---|
| Citation | The engine's own source pills, numbered footnotes, source cards or source list attached to the answer. Perplexity sources come from its thread data. | Owned citation rate, the Sources view, "sources citing competitors, not you". |
| Inline link | A link written into the answer text, or a plain URL typed in the prose. | Kept with the answer for inspection. Never counted as a citation. |
The Sources view groups citations by domain or by page and labels each one: owned (your domains), competitor (a tracked competitor's domains), community (Reddit, YouTube, LinkedIn, X, Facebook) or other. A source counts once per answer.
A citation shows that the engine attached that page to its answer. It does not prove the page caused the answer, and AEOmeter never claims it did.
Incomplete source lists
Engines hide sources in different ways. ChatGPT can group several sources behind one pill, and Claude often answers in prose with no links at all. When AEOmeter cannot confirm it read the full source list, the answer keeps the citations it did find and is marked as having incomplete source coverage. It never invents the missing URLs.
Tracked share of voice
Tracked share of voice compares your brand with the competitors you chose to track, in the same answers.
tracked share of voice (brand) = answers mentioning that brand
÷ sum of answers mentioning each tracked brand- Several brands can count in one answer, so the shares across all tracked brands add up to 100%.
- It is a share among the brands you track. Adding or removing a competitor changes everyone's share. It says nothing about brands you do not track, and it is not market share.
- The Overview shows each brand's mention rate side by side. Tracked share of voice is returned by the analytics API and the MCP tools.
Gaps
A gap is an evidence-backed finding that a competitor appears where you do not. Each one links to the answers behind it. AEOmeter reports two kinds:
- Prompts where competitors appear and you don't
- For each prompt and engine, AEOmeter takes the latest answer in the period. If that answer mentions at least one tracked competitor and does not mention you, it is a miss for that engine. The prompt is listed with the competitors found and "missed on N of M engines", where M is the number of engines that returned an answer. An answer that mentions nobody is not a gap.
- Sources citing competitors, not you
- Domains cited in answers that mention a competitor but not you. Your own domains are excluded and each domain counts once per answer. These are the pages AI leaned on when it recommended someone else.
Gaps are findings, not instructions. They tell you where to look. Whether to publish a page, pitch a list, or ignore the prompt is your call.
Worked example
The following is example data for a fictional brand, Acme Analytics, tracked against Mixpanel, PostHog and Amplitude. Three prompts ran once on four engines: 12 checks.
| # | Prompt | Engine | Status | Acme mentioned | Competitors mentioned | Acme cited |
|---|---|---|---|---|---|---|
| 1 | best product analytics tool for a seed-stage startup | ChatGPT | Answered | Yes | Mixpanel, PostHog, Amplitude | Yes |
| 2 | best product analytics tool for a seed-stage startup | Claude | Answered | No | Mixpanel, PostHog | No |
| 3 | best product analytics tool for a seed-stage startup | Perplexity | Answered | Yes | Mixpanel, PostHog | Yes |
| 4 | best product analytics tool for a seed-stage startup | Google AI Overviews | No AI Overview shown | – | – | – |
| 5 | product analytics that works without a data engineer | ChatGPT | Answered | Yes | PostHog | No |
| 6 | product analytics that works without a data engineer | Claude | Failed (timed out) | – | – | – |
| 7 | product analytics that works without a data engineer | Perplexity | Answered | No | Mixpanel, PostHog, Amplitude | No |
| 8 | product analytics that works without a data engineer | Google AI Overviews | Answered | No | Mixpanel | No |
| 9 | how to track feature adoption in a B2B SaaS app | ChatGPT | Answered | No | Mixpanel, Amplitude | No |
| 10 | how to track feature adoption in a B2B SaaS app | Claude | Answered | No | None | No |
| 11 | how to track feature adoption in a B2B SaaS app | Perplexity | Answered | Yes | PostHog | No |
| 12 | how to track feature adoption in a B2B SaaS app | Google AI Overviews | Answered | No | PostHog | No |
Checks 4 and 6 produced no answer, so 10 answers form the denominator.
| Metric | Calculation | Result |
|---|---|---|
| Mention rate (Acme) | Answers 1, 3, 5, 11 mention Acme: 4 ÷ 10 | 40% |
| Owned citation rate (Acme) | Answers 1 and 3 cite acme.io: 2 ÷ 10 | 20% |
| Mention rate (PostHog) | 7 ÷ 10 | 70% |
| Mention rate (Mixpanel) | 6 ÷ 10 | 60% |
| Mention rate (Amplitude) | 3 ÷ 10 | 30% |
| Tracked share of voice (Acme) | 4 ÷ (4 + 6 + 7 + 3) = 4 ÷ 20 | 20% |
| Gap: seed-stage prompt | Missed on Claude | Missed on 1 of 3 engines |
| Gap: data engineer prompt | Missed on Perplexity and Google AI Overviews | Missed on 2 of 3 engines |
| Gap: feature adoption prompt | Missed on ChatGPT and Google AI Overviews (Claude named nobody) | Missed on 2 of 4 engines |
If the failed check and the missing AI Overview were counted as misses, Acme's mention rate would read 4 ÷ 12 = 33%. That number would describe the tooling, not the answers, which is why AEOmeter leaves them out.
Editing a prompt starts a new baseline
Changing one word of a prompt can change the answers completely, so AEOmeter treats an edited prompt as a new measurement. By default the dashboard shows answers for the current wording of each prompt and the current brand setup (names, aliases, domains, competitors). Answers to older wordings stay available under "All saved definitions" and are labelled "Older version of this prompt". The API returns all definitions unless you ask for the current ones, and it reports how many answers were left out and whether definitions were mixed.
How trends compare like with like
The Overview compares the selected period (for example the last 30 days) with the previous period of the same length and shows the change in percentage points.
Daily trend lines are stricter. Each day, AEOmeter takes the latest answer for each combination of prompt (ID and exact text), engine, recorded model, locale, collection context, collection method, extension version and private mode. Only combinations that appear on every observed day are plotted. Extra repetitions and inputs that do not appear every day are excluded and counted, so you can see how much was left out. Days with no answers are gaps in the line, never zeros. When nothing matches across all days, the dashboard says so instead of drawing a misleading chart.
Matching recorded context reduces noise from changes in setup. It does not control personalization on the engine side and does not prove that a change is statistically significant.
Sample size: why small samples are noisy
AI answers vary from one ask to the next, even for the same prompt on the same day. With few answers, one answer moves the rate a lot. Every rate in AEOmeter is shown next to its sample ("4 of 10 answers mention Acme Analytics") so you can judge this yourself.
| Answers in the sample | One answer moves the rate by | Rough uncertainty (worst case) |
|---|---|---|
| 10 | 10 points | ± about 30 points |
| 30 | 3.3 points | ± about 18 points |
| 100 | 1 point | ± about 10 points |
| 400 | 0.25 points | ± about 5 points |
The last column uses the textbook approximation of ±1/√n for a proportion near 50%. Treat it as a reminder of scale, not a precise interval: repeated answers to the same prompt are not independent random samples. AEOmeter does not calculate statistical significance.
- More prompts beat more repetitions of one prompt. Ten different buyer questions tell you more than one question asked ten times.
- A daily schedule builds a sample over weeks. Read 30-day views before reacting to a single day.
- Compare engines only when each has a reasonable number of answers. "1 of 2" on Claude is an anecdote.
Collection context: what browser data represents
AEOmeter collects from the consumer apps your buyers use, signed in with your own accounts, in your Chrome. This is a different measurement from calling a model API, and it comes with its own context.
| Context | What AEOmeter does | What it means for the data |
|---|---|---|
| Account | Uses the account you are signed in with on each engine. | Your plan and model access affect answers. A free account and a paid one can see different models. |
| Private mode | Turns on each engine's private mode where it exists: ChatGPT temporary chat (unpersonalized), Claude and Perplexity incognito, Google's "without personalisation" search. Best effort, recorded with each answer. | Reduces memory and history effects. It does not make the session anonymous. Claude incognito can still apply profile preferences. |
| Locale and location | Records the browser language with each answer. Google searches use English. | Location, language and device still affect results, especially Google. Locale is not a verified location. |
| Model | Records the model the engine shows, when it shows one. | Engines change default models without notice. Trends match on the recorded model. |
| Fresh conversation | Every check starts a new conversation with the exact prompt. No follow-ups. | Answers reflect a first question, not a multi-turn chat. |
Browser data is evidence of what these engines answered for your account, at that time, in that context. It does not represent what every user sees, how many people asked, how often an answer was shown, or how many clicks it produced. AEOmeter does not report impressions, search volume, ranking position or sentiment.
Known limitations
- Your Chrome must be open. Schedules queue checks. Collection only happens while Chrome is running and connected, with each engine signed in. A day with Chrome closed has no answers, and the dashboard shows the last real capture separately from the next scheduled time.
- Engines change their pages. The engine integrations are experimental. A layout change can break a check until AEOmeter is updated. Broken checks fail visibly instead of producing empty answers.
- Four engines. ChatGPT, Claude, Perplexity and Google AI Overviews. Other assistants are not measured.
- Sign-ins and verification need you. AEOmeter stops at login walls, verification pages and usage limits. It never bypasses a CAPTCHA.
- Source lists can be incomplete. Grouped or hidden sources are flagged as incomplete coverage, not filled in.
- Text matching is literal. Misspellings you did not add as aliases are missed, and common-word names over-match.
- No sentiment or ranking. A mention in a list of ten and a mention as the top pick count the same.
Questions
Why does a failed check not count as a miss?
A failed check has no answer, so there is nothing to search for your brand in. Counting it as a miss would lower your mention rate every time an engine timed out or asked you to sign in.
Is Visibility the same as mention rate?
Yes. The dashboard labels mention rate "Visibility" and owned citation rate "Cited". The formulas are identical to the ones on this page.
Does a link to my site inside the answer count as a citation?
No. Only sources the engine attributes to its answer count as citations. Inline links are saved with the answer so you can see them, but they do not change the owned citation rate.
Can I check the numbers myself?
Yes. Every rate links to the answers behind it, with brand mentions highlighted and sources listed. You can export comparisons as CSV, or pull the raw answers through the API and MCP server.