AI visibility trackers record whether an answer names your brand and whether it shows your pages as sources, and tools such as Peec AI and Ahrefs Brand Radar count the two as separate events. This playbook keeps the two signals apart from the raw response to the monthly report.
This applies when a team already tracks a fixed prompt set in an AI visibility tool and reports AI presence to stakeholders at least monthly.
What Is The Difference Between An AI Brand Mention And A Citation
An AI brand mention is your brand name appearing in the text of a generated answer, while an AI citation is a source reference the answer includes to support what it says, and a single response can contain either, both or neither. Reporting starts by keeping those two outcomes apart on every response a tracker records.
Trackers built for AI search visibility already treat the two as different events. Peec AI counts brand visibility only when the brand is explicitly named in the response text. It counts source visibility when the domain or its content was used or cited, even if the brand is not named. A link in a Google AI Overview is recorded under Sources in Peec AI, not as a mention.
Ahrefs Brand Radar keeps the two apart too. A mention counts when the brand appears at least once in an AI response, and a citation counts when a page appears at least once as a cited source.
Put the two signals together and every response lands in one of four combinations:
- Mentioned and cited: The answer names the brand and shows an owned URL as a source.
- Mentioned only: The answer names the brand but shows none of its pages as a source.
- Cited only: The answer shows an owned page as a source without naming the brand, often called a ghost citation.
- Neither: The answer neither names the brand nor shows its pages.
The broader picture of what AI search visibility means, including how AEO and GEO fit in, has its own explainer. The rest of this playbook stays with the split and the workflow that produces it.
Why Mentions And Citations Need Separate Reporting
A June 2026 BuzzStream study of 12,000 AI responses found that only 23.1% of brand mentions also carried a citation to the brand's own domain, so a mention count and a citation count describe two different outcomes. A report that merges them hides which of the two outcomes moved from one month to the next.
23.1%
Fewer than one in four AI brand mentions in the BuzzStream study came with a citation to the brand's own domain.
2026 · 12,000 AI responses, about 200 brands in 10 industries · Source
The study covered about 200 brands in 10 industries and roughly 2,967 prompts, with 3,000 responses each from Google AI Mode, Google AI Overview, Google Gemini and GPT-5.4-mini. Read from the other side, 69.9% of citations also named the brand, and 76.9% of mentions carried no citation at all.
The gap depends on the kind of prompt. Single-brand prompts produced a mention with a citation 39.0% of the time, head-to-head prompts 35.8% and list or category prompts 7.2%. Citations that also named the brand ran at 79.1%, 65.3% and 36.5% for the same three prompt types.
The engine changes the picture too. In the BuzzStream study, 92.7% of GPT-5.4-mini citations also named the brand, against 63.9% for Gemini, 64.8% for AI Mode and 70.2% for AI Overview. GPT-5.4-mini also showed far fewer citations per response, 3.8 on average against 33.1 in AI Mode and 24.9 in AI Overview.
A single blended visibility score averages these differences away. A brand can gain mentions in list prompts while losing citations in single-brand prompts, and one number would show neither move. Two numbers, reported side by side, show both.
How To Separate AI Brand Mentions From Citations
Separating AI brand mentions from citations takes five steps, define the labels, capture each response, map your tracker's fields, classify every row in a spreadsheet, and report mention rate and citation rate as two numbers. Each step has its own section below, built on the exports and formulas the vendors document.
Inputs: A fixed prompt set, every brand name variant, the domains you own and a competitor list.
Output: A split report with one row per engine and prompt type.
Success measures: Mention rate, citation rate, cited-only share and mentioned-only share, each per engine.
- Define the labels, two flags per response plus a recommendation label
- Capture response-level evidence, the response text and cited URLs per prompt, engine and run date
- Map your tracker's fields, noting how it defines a mention, a citation and a retrieved source
- Classify each row in Google Sheets with REGEXMATCH flags and a nested IF label
- Report mention rate and citation rate in separate columns per engine, then act on each label
The workflow rests on documented features, such as OtterlyAI's raw response export and the REGEXMATCH function in Google Sheets, so a team can rebuild it inside its own accounts.
Define What Counts As A Mention, A Citation And A Recommendation
Every AI response in a split report gets two yes-or-no flags, brand named in the answer text and owned URL shown as a cited source, and those two flags produce four labels plus a separate recommendation label. Fixing that schema before any data arrives stops each new export from quietly redefining the terms.
brand_named: TRUE when any brand name variant appears in the response text. List the variants up front, including the company name, product names, common aliases and abbreviations.
owned_url_cited: TRUE when a URL on a domain you own, subdomains included, appears among the sources the answer cites.
A URL the engine retrieved but did not show as a source never sets owned_url_cited. Peec AI's documentation draws the same line, treating sources as the URLs a model accessed and citations as the sources explicitly referenced in the final answer.
Mentions also play different roles. Yoast notes that a brand mention can sit inside a recommendation, a comparison or a summary, and those roles are not worth the same to a buyer. Add a recommendation column with a fixed list of values:
- recommended: The answer presents the brand as a pick or a top option.
- listed: The answer names the brand among several without a preference.
- compared: The answer sets the brand against another brand.
- not applicable: The answer does not name the brand.
Peec AI's Position metric, the brand's average ranking when it appears, is a useful cross-check on how prominent a mention is. The recommendation label stays a reviewer's call, because a high position in a list is still a listing.
{{prompt}} | {{engine}} | {{run_date}} | {{response_text}} | {{cited_urls}} | {{brand_named}} | {{owned_url_cited}} | {{label}} | {{recommendation}}
label values
mentioned and cited = brand_named TRUE and owned_url_cited TRUE
mentioned only = brand_named TRUE and owned_url_cited FALSE
cited only = brand_named FALSE and owned_url_cited TRUE
neither = brand_named FALSE and owned_url_cited FALSE
recommendation values
recommended, listed, compared, not applicableKeep the cited_urls column for sources the answer displays. Pages a tool reports as retrieved belong in a separate column, if you keep them at all.
Capture Response-Level Evidence From Your Tracker
OtterlyAI exports raw AI responses as CSV or JSON from each prompt's detail view on all plans, which gives the response text and cited URLs a mention-versus-citation split has to start from. A dashboard score cannot be relabelled, but a row holding one response, its sources, its engine and its run date can.
Aggregates such as a visibility percentage have already decided what counts as a mention. To apply your own two flags, each row needs the prompt, the engine, the run date, the full response text and the list of cited URLs.
Where those rows come from depends on the tracker. Teams still comparing AI visibility platforms can check for these fields before they commit to one.
Where each tracker exposes response-level rows
| Tracker | Where the rows come from | What the rows hold |
|---|---|---|
| OtterlyAI | Prompt Detail export, CSV or JSON | Raw AI responses |
| OtterlyAI | Citations export, full or summary CSV | URL, page title, position, date, domain category, times cited |
| Peec AI | Looker Studio connector | Source URL and classification, prompt, model, citation and retrieval metrics |
| Rankscale | Looker Studio connector and Query Fanout export | Fanout query lists in CSV or Google Sheets |
| Ahrefs Brand Radar | Tracked prompt view | Fanout queries, response, mentions and citations |
OtterlyAI's prompt export adds citation totals, brand mentions, rank, sentiment and coverage per prompt, and its Looker Studio connector comes with the Standard, Premium and Enterprise plans. Peec AI's connector is set up with a key scoped to a project. Rankscale's Query Fanout export to CSV and Google Sheets needs the Pro plan or higher. Ahrefs checks each tracked prompt daily on every platform you select.
Whichever tracker you use, keep the export at one row per response. Summary exports are useful for totals, but they cannot be split into the four labels after the fact.
How AI Visibility Tools Count Mentions And Citations
Peec AI counts a response as brand visibility only when the brand is named in the answer text and counts source visibility when the domain is used or cited, so its two numbers can move in opposite directions for the same prompt. Every tracker draws its own line between a mention, a citation and a page that was only retrieved.
That is why labels are compared within one tool's data, never across tools. Readers still choosing between AI citation tracking tools can use the table to see where each one draws the line.
| Tool | Public API | Mention rule | Citation rule | Retrieved vs cited | Raw export |
|---|---|---|---|---|---|
| OtterlyAI | Yes | Brand flag per cited URL | Citations counted per URL | Checks cited page for brand | Responses as CSV or JSON |
| Peec AI | Yes | Brand named in answer text | Explicit reference in answer | Retrieval rate kept separate | Looker Studio connector |
| Rankscale | Yes | Mentions tab, share of voice | Clickable links to domain | Citation vs source attribution | Looker Studio, fanout CSV |
| Ahrefs Brand Radar | Yes | Brand appears at least once | Page shown as cited source | Uncited pages logged Found in | Tracked prompt response view |
OtterlyAI marks brand mention as Yes or No for each cited URL in its All cited URLs table, next to a citations count, the domain, its domain category and competitors. Its citation analysis also checks the cited page's own content to see whether the brand appears there, not only in the AI answer. Raw responses export as CSV or JSON, and citations export in full or as a summary. Only Admins can create and manage its access keys, and key requests are capped each month at 2,000 on Standard and 5,000 on Premium, with no extra requests for sale. The limitation is that the Citations report records the brand flag per cited URL rather than per response, so a per-response split starts from the raw response export.
Peec AI records a link in a Google AI Overview as a source, not a mention, because brand visibility needs the brand named in the response text. Its citation rate is the average number of times a domain was explicitly referenced in the response text when it was used. Its retrieval rate is the average number of times a URL from the domain appeared as a source per chat. Sources are the URLs a model accessed, and citations are the sources the final answer explicitly references. The Looker Studio connector exposes source URL, prompt and model dimensions, and it needs a key created in the Peec AI dashboard with its scope set to Project. The limitation is that its headline rates are averages per chat, so the four labels have to be built from the row-level dimensions rather than read off the dashboard.
Rankscale puts mentions and citations on separate dashboard tabs. The Mentions tab asks whether the brand is named in answers and tracks it as share of voice against competitors, and the Citations tab asks whether your URLs are sourced. Its citation rate counts how often clickable links to the domain appear. Its citation attribution shows whether the AI gives a citation or only references the domain as a source, which varies by provider. A native Looker Studio connector and the Query Fanout export carry the data out, and public dashboards are shared by live permalink without user accounts. The limitation is timing, since Rankscale's guide says visibility scores are probabilistic and detection can take 2 to 4 weeks to settle.
Ahrefs Brand Radar counts a mention when the brand appears at least once in an AI response and a citation when a page appears at least once as a cited source, with a domain citation when any page from the domain is cited. Pages retrieved in the background but not cited are recorded as Found in, never as citations. The tracked prompt view shows the fanout queries, the response, the mentions and the citations for each custom prompt, and every prompt draws on a check allowance per platform. The limitation sits in the reach metric, because impressions sum the Google search volumes of prompts where the brand appears, so they are estimates, and AI share of voice depends on how entities are set up.
Classify Each Response In Google Sheets
In Google Sheets, REGEXMATCH returns TRUE or FALSE for a text cell, so one formula column can flag whether a response names the brand and a second can flag whether its cited URLs include an owned domain. A nested IF then turns the two flags into a label, and COUNTIFS rolls the labels up by engine.
Set up the sheet in Google Sheets with columns A to I in the order of the evidence log, then work through these steps:
- Paste or import the export so each row holds one response, with the response text in column D and the cited URLs in column E.
- Write the brand pattern as lowercase variants separated by a pipe, for example acme|acme analytics|acmehq.
- Write the owned-domain pattern the same way and escape each dot with a backslash, for example acme\.com|help\.acme\.com.
- Add the formula columns from the template below and fill them down.
- Have a reviewer fill the recommendation column from the fixed list of values.
REGEXMATCH uses RE2 regular expressions and works only with text, not numbers, so keep the response and URL columns as text. Wrapping the response in LOWER lets the brand pattern stay in lowercase. COUNTIFS counts rows that meet several criteria at once, and every extra range must have the same number of rows and columns as the first.
F2 brand_named
=REGEXMATCH(LOWER(D2), "{{brand-pattern}}")
G2 owned_url_cited
=REGEXMATCH(LOWER(E2), "{{owned-domain-pattern}}")
H2 label
=IF(AND(F2, G2), "mentioned and cited", IF(F2, "mentioned only", IF(G2, "cited only", "neither")))
Count of one label for one engine
=COUNTIFS(B2:B1000, "{{engine}}", H2:H1000, "{{label}}")
Mention rate for one engine
=COUNTIFS(B2:B1000, "{{engine}}", F2:F1000, TRUE) / COUNTIFS(B2:B1000, "{{engine}}")
Citation rate for one engine
=COUNTIFS(B2:B1000, "{{engine}}", G2:G1000, TRUE) / COUNTIFS(B2:B1000, "{{engine}}")The roll-up formulas only hold if the rows underneath are clean. Run through these data-hygiene rules before every report:
- One row per response, per engine, per run
- Reruns of the same prompt, engine and run date removed before the roll-up
- The run date kept on every row
- Only displayed sources in the cited URL column, never retrieved-only pages
- The same row range used in every COUNTIFS criterion
A reviewer should spot-check a sample of rows each run, because a brand pattern that misses a new product name undercounts mentions without any error message.
What Counts As Linked Source Evidence
Linked source evidence is a URL the AI answer itself shows as a source, and Peec AI's documentation keeps it apart from the wider set of pages a model accessed by treating only sources explicitly referenced in the final answer as citations. Pages the engine retrieved without showing them are context for the answer, not evidence in it.
Ahrefs Brand Radar applies the same separation, recording pages retrieved in the background but not cited as Found in. Counting those pages as citations inflates the citation rate.
Most linked source evidence does not point to the brand at all. The BuzzStream study found about 80% of citations went to third-party websites rather than brands' own sites, from 221,946 cited URLs of which 47,550 resolved to tracked brand domains.
Tag each cited URL by type, so the report shows where the evidence comes from. OtterlyAI sorts cited domains into Brand, Blogs, News/Media, Community/Forum and Social media. Peec AI sorts sources into Editorial, Corporate, UGC, Reference and your own website.
How two trackers classify cited sources
| Tracker | Source categories | Owned versus other |
|---|---|---|
| OtterlyAI | Domain category per URL | Brand category marks owned domains |
| Peec AI | Source type per URL | You, Competitor and Other filters |
Add a third flag, third_party_cited_with_brand, for citations to other sites that name your brand. OtterlyAI's brand mention flag on each cited URL gives a starting value, and a reviewer can confirm the rest. These rows show third-party pages carrying your name into AI answers, even when no owned URL appears.
Brand Mention Reporting That Keeps Citations Separate
A brand mention report should show mention rate and citation rate as two columns for each engine, because Ahrefs' study of more than 31,000 brand mentions found AI Overviews linked only 10.7% of the time while Perplexity linked 51.6% of the time. A single blended rate would mostly reflect which engines are in the mix.
The study is Ahrefs' own research, drawn from Brand Radar's database of 150 million prompts and published in November 2025, so treat it as vendor data. Across all engines, brands were mentioned with a link about 28% of the time on average, with Gemini at 16.8%, Copilot at 26.1%, ChatGPT at 26.9% and AI Mode at 36.8%.
Build the report with one block per engine and, inside each engine, one row per prompt type, single brand, head-to-head and list or category. The BuzzStream study shows why the prompt split matters, since list and category prompts produced a cited mention 7.2% of the time against 39.0% for single-brand prompts.
Columns of a split mention and citation report
| Column | How to calculate | What it tells you |
|---|---|---|
| Mention rate | Rows with brand_named TRUE divided by all rows | How often the engine names you |
| Citation rate | Rows with owned_url_cited TRUE divided by all rows | How often an owned page is a source |
| Cited-only share | Cited only rows divided by all rows | Ghost citations to fix with brand naming |
| Mentioned-only share | Mentioned only rows divided by all rows | Citation gaps for SEO and GEO work |
| Recommendation share | Recommended rows divided by rows with brand_named TRUE | How often a mention is a pick |
When the same brand shows different numbers in two trackers, label each figure with the tool it came from. The reasons why AI visibility scores differ between platforms apply to mention and citation rates as well.
What To Do When You Are Mentioned But Not Cited
When Semrush ran 115 prompts across 14 countries and four AI engines, 61.7% of domain appearances were ghost citations, meaning the engine cited a site without naming the brand, and only 25.1% were mentions without a citation. Being mentioned but not cited is a citation gap, often an SEO and GEO problem in the BuzzStream study's reading.
The Semrush study counted 3,981 domain appearances on ChatGPT, Google AI Overviews, Gemini and Google AI Mode, and 13.2% were both cited and mentioned. Each label points to a different owner and a different first move.
Mentioned only: The engine knows the brand but does not show your pages as evidence. The BuzzStream study frames a missing citation as a possible SEO and GEO problem. Ahrefs' Cited Pages report, filtered to exclude your domain and include competitors' domains, shows which pages earn the citations you are missing.
Cited only: A ghost citation occurs when AI sources your content but does not mention your brand, in the definition Seer Interactive gives from its analysis of half a million LLM responses across 20 brands. Strengthen how clearly the cited page names the brand, and earn mentions on other sites.
Finding mention gaps: The BuzzStream study frames missing mentions as more of a PR problem. OtterlyAI's Citations report combines a Not Mentioned filter with the News/Media and Blogs categories, which lists news and blog pages that AI engines cite without your brand on them.
Neither: Check whether the prompt belongs in the set before acting. A prompt your buyers would not ask adds noise to every rate.
What to do for each label
| Label | Likely cause | Owner | First action |
|---|---|---|---|
| Mentioned and cited | Brand and page both used | SEO and PR | Keep the cited page current |
| Mentioned only | Citation gap | SEO and GEO | Study competitors' cited pages |
| Cited only | Ghost citation | Content and PR | Name the brand on the cited page |
| Neither | Prompt outside your reach | Report owner | Recheck the prompt set |
Permissions And Limits In Your AI Visibility Workflow
Google's own help page says protecting a range in Google Sheets is not a security measure, because anyone with access can still copy, print or export the spreadsheet, so a shared classification sheet should only go to people who may see the raw AI responses. Every other step in the workflow has its own access rule or stated limit.
Access and stated limits at each step
| Step | Who needs access | Stated limit |
|---|---|---|
| OtterlyAI export and keys | An Admin for key management | Monthly request caps by plan |
| Peec AI connector | A user who can create a project key | Key scope set to Project |
| Rankscale public dashboard | Anyone holding the permalink | No user accounts needed |
| Ahrefs custom prompts | Whoever manages the tracked prompts | Claude platform uses 8 checks per update |
| Google Sheets classification | Owners and editors | Protection is not security |
In Google Sheets, owners decide who can change ranges and sheets, editors can set protection but cannot remove owners' permissions, and viewers and commenters cannot change anything. Protection can be warning-only or restricted to named people or the domain.
OtterlyAI's starred citations are visible only to the user who starred them, so shared review notes belong in the sheet, not in stars. Rankscale public dashboards are shared through live permalinks without user accounts, which makes the link itself the access control.
Ahrefs checks each custom prompt daily on every selected platform, and the Claude platform consumes 8 checks per update, so adding engines spends the allowance faster. Extra checks can be added on top of the plan quota. Rankscale lets a team configure its tracking frequency.
AI answers are probabilistic. Rankscale's dashboard guide says detection can take 2 to 4 weeks to settle after tracking starts, and that branded prompts should reach a detection rate of at least 90%. Set the baseline from several runs across that window, not from one run.
Frequently Asked Questions
Unlinked AI brand mentions still matter, because the BuzzStream study found most mentions carry no citation at all, so a team that counts only links misses most of the times an engine names its brand. The answers to the other common questions follow the same split.
Do unlinked AI brand mentions still matter?
Yes. In the BuzzStream study, 76.9% of AI brand mentions carried no citation to the brand's domain, so a team that counts only links misses most of the times an engine names its brand. An unlinked mention still puts the brand name in front of the reader, often inside a recommendation or a comparison.
Which AI engine links to brands most often?
In Ahrefs' own study of more than 31,000 brand mentions, Perplexity linked to the brand 51.6% of the time, the highest rate of the six engines measured, while AI Overviews linked 10.7% of the time. Because rates differ this much between engines, report citation rate per engine rather than as one blended number.
Can you separate mentions from citations without a paid tracker?
Yes, if you collect the responses and their cited URLs yourself. Paste each response into Google Sheets with its engine, run date and sources, then use REGEXMATCH to flag the brand name and owned domains. REGEXMATCH returns TRUE or FALSE on text cells, so the same four labels work on hand-collected rows.
How long before AI mention and citation rates are stable?
Expect several weeks. Rankscale's dashboard guide says visibility scores are probabilistic and detection can take 2 to 4 weeks to settle after tracking starts, with branded prompts expected to reach a detection rate of at least 90%. Treat the first runs as calibration and set the baseline once branded prompts are detected consistently.
Sources
Sources
- What are AI Brand Mentions? Brand Mention vs. Citations · yoast.com
- How AI Mentions and Cites Your Brand (New Study) · buzzstream.com
- docs.peec.ai
- Why 62% of AI citations don't lead to brand mentions [Study] · semrush.com
- Do AI Assistants Link When Mentioning Brands? For Ahrefs, Only 28% of the Time · ahrefs.com
- Seer Ghost Citations Research in Forbes · seerinteractive.com



