Spurlock Studios
Contact
Share LinkedIn X
A lime beam hitting a small brass nameplate. Thesis: CITATION GAPS FINDING WHO AI.

A citation gap is the distance between the prompts that make you money and the URLs answer products actually quote. If ChatGPT Search answers a buyer prompt with three competitor pages and a directory, that list is your content and PR brief — not a mystery and not a share-of-voice score you invented from one screenshot.

This spoke is the competitive layer inside the Answer Engine Optimization playbook. Pair it with measuring AI search visibility so the log and the KPI sheet stay the same object. I have been SEO certified since 2021. The AEO version of that work is still a dated panel, not a vendor percentage you cannot audit.

The short answer

  • Freeze 25–40 buyer prompts and a 3–6 competitor set before you change a page
  • Run the panel in ChatGPT Search, Perplexity, and one Overview or AI Mode check where the query triggers
  • Log brands named, URLs cited, and your status as four separate facts
  • Every absent money prompt becomes a ticket: page, PR, listing, entity, or wontfix
  • Re-run the same panel. One session is an anecdote; a month of the same prompts is a brief

What is a citation gap, exactly?

A citation gap is a prompt where an answer product names or links someone else — and you are absent, named without a URL, or described wrong. Semrush splits the same idea into mention, prompt, source, citation, and narrative gaps in its AI visibility-gap guide. Keep those rows separate. Collapsing them into one “AI SOV” number is how teams fund the wrong page.

GapWhat you loggedWhat it is not
Mention gapBrand never appears in the answer textA ranking drop on a blue link
Citation gapYour domain is not in the Sources / footnotesA missing backlink report
Source gapA third-party URL is cited and never mentions you“We need more blog posts”
Narrative gapYou appear, but the facts or framing are wrongA sentiment widget with no URL
Scope gapThe prompt is outside the offer you actually sellA crisis; it is a wontfix

Semrush’s metric glossary defines a mention as a prompt where the brand appears in the answer, a citation as a response that credits your domain, and share of voice as a percentage of mentions versus a chosen competitor set. Use those definitions if you buy the tool. Do not invent a percentage from one chat window.

Pew’s June 2026 Americans and AI study (fielded Feb 17–23, 2026; 5,119 U.S. adults) found about half of U.S. adults use AI chatbots and six in ten read AI summaries at the top of search. Those surfaces already have a source list. Your job is to read it.

How do I see what ChatGPT cites?

Use the product the way a buyer does, then write down the Sources panel. OpenAI’s ChatGPT Search help is the operator check: when search ran, you may get inline citations you can hover, and a Sources control under the response that opens cited links plus other relevant URLs. OpenAI’s launch note says the same thing in fewer words — click Sources, open the sidebar, record the references.

If Sources does not appear, you did not watch a live retrieval. You watched a memory answer. Log that as search_off or no_sources. It is a different problem than “they cited a rival.”

StepWhat you doWhat you write down
1Paste the frozen prompt. Do not “improve” it mid-runprompt_id + verbatim text
2Confirm search / browsing actually ransearch_on or no_sources
3Open Sources. Copy every URLDomain + path, not a vibe
4Read the answer for brand namesNamed / not named / wrong fact
5Screenshot or export the panelDate + product version if shown

Eligibility is not a mystery either. OpenAI’s crawler docs say OAI-SearchBot is the bot that surfaces sites in ChatGPT search. Sites opted out of that bot are not shown in search answers, though they can still appear as navigational links. The publishers FAQ repeats the instruction: do not block OAI-SearchBot if you want to be in summaries and snippets. A 24-hour lag after a robots.txt change is the documented wait, not a folklore SLA.

  • Prompt pasted verbatim from the panel sheet
  • Sources panel opened, not guessed from memory
  • Every cited URL stored, including directories you dislike
  • Your status set to one enum: cited_link, named_only, absent, misrepresented
  • robots.txt checked for OAI-SearchBot before you blame the copy

How do I log Perplexity and AI Overviews without an API?

Stay in the consumer products. Do not stand up a paid Perplexity API job to “automate citations.” The brief is who the buyer sees, not who an endpoint returned on a different model path.

Perplexity’s consumer UI shows numbered footnotes in the answer and a Sources list of page titles and domains. Click the numbers. Copy the URLs. Treat “source card at the top” and “footnote on a sentence” as two columns if they diverge — they sometimes do.

Google is a different surface and a different report. AI features documentation says a page must be indexed and snippet-eligible to appear as a supporting link in AI Overviews or AI Mode. There is no extra AI-only markup. Google also describes query fan-out: one prompt can spawn related searches, which is why a Reddit thread or a docs page shows up next to a polished guide.

Search Console will not replace the Overview screenshot. The June 3, 2026 generative AI performance reports give impressions, pages, countries, devices, and dates for AI Overviews and AI Mode. The Search help page is explicit: an impression is a link to your site shown in a generative AI feature. It does not list queries. It does not list ChatGPT. It does not list Perplexity. Rollout is still a subset of properties.

ProductWhat you can see by handWhat you cannot treat it as
ChatGPT SearchSources sidebar + inline chipsA Search Console query report
PerplexityFootnotes + Sources cardsAn official citation Search Console
AI Overviews / AI ModeVisible supporting links + GSC gen-AI impressionsChatGPT coverage
Semrush / similarMention, citation, and source tables on their prompt setYour frozen panel unless you verify a sample

Build a matrix: prompts on rows, products on columns, your status in the cell. Executives read matrices. They do not read paragraphs about “AI.”

How do I build a competitive prompt panel?

Start from money, not ego. Sales language beats keyword-planner language. Cap v1 at 25–40 prompts so you can re-run it. Expand after the ritual works.

Prompt classExample shapeWhy it belongs
Category recommend“Best [category] for [ICP]”This is where directories win
ICP / size / industry“Best [category] for a 12-person [industry] team”This is where you should win
Head-to-head“[You] vs [Rival]” and the two rival-only versionsComparison pages get cited
Problem / how-toThe question sales hears weeklyThin blogs are beatable here
Brand“Is [You] worth it?” / “What does [You] cost?”Accuracy incidents live here
Ecosystem“Best [category] Shopify app” if pipeline starts thereMarketplace copy is the page

Freeze 3–6 competitors for 90 days. Include one aspirational owner of citations, one peer, and one cheap substitute. If sales adds a new rival mid-quarter, park them on a watch list. Moving the set mid-stream hides whether the work worked.

  • Every prompt maps to a pipeline conversation, not a vanity query
  • Competitor set named and dated
  • Prompt IDs never change; wording changes get a new ID
  • Out-of-ICP prompts marked wontfix up front
  • Owner of the sheet is a person, not “marketing”

What columns belong in the citation log?

Use boring columns. Fancy dashboards die in the handoff. A sheet survives.

date | product | prompt_id | prompt_text | search_or_sources | brands_named | urls_cited | our_status | accuracy | ticket | owner

FieldEnum or ruleWhy it exists
search_or_sourceson / off / unknownMemory answers are not citation losses
brands_namedComma list, including youMention ≠ citation
urls_citedFull URLs, not domains onlyThe brief is a page, not a brand
our_statuscited_link / named_only / absent / misrepresentedFour tickets, not one mood
accuracyok / minor / materialWrong price is not a win
ticketpage / pr / listing / entity / wontfixThe gap is the backlog

Export a monthly pivot: prompts where our_status=absent and a competitor URL appears at least twice. That pivot is the content and PR brief. Share of voice, if you compute one, is your cited_link count ÷ panel runs against a frozen denominator. Write the formula on the sheet. If you cannot write the formula, you do not have a percentage.

Why does a single run lie?

Answer products are not rank trackers. The same prompt, next Tuesday, can cite a different trio. Semrush says as much in the gap guide: one response tells you very little; you need a pattern. That is why the panel is frozen and the cadence is boring.

What changedHow it shows upWhat you do
Search did not runNo Sources controlLog search_off. Do not score a citation loss
Fan-out took a different pathNew supporting link, same gistCount the URL; do not panic on one swap
Personalization / locationLocal pack or geo-specific docsNote locale. Re-run logged-out if the buyer is
Product UI movedChips vs sidebar vs footnotesStill copy the URL. The chrome is not the metric
You “improved” the promptA different question got answeredVoid the row. Use the ID or make a new one

Procedure before you call a gap real:

  1. Run the prompt three times across at least two days, same product, same wording.
  2. Union the cited URLs. The brief is the set, not the first screenshot.
  3. Mark a domain “owns this prompt” only if it appears in at least two of the three runs or it is the only cite on a money prompt you will fund anyway.
  4. Keep the screenshots. Arguments die when the panel is gone.

A competitor that appears once in thirty days is noise. A directory that appears on eleven of twelve category prompts is the brief. Do not average them into one percentage.

What does a mention-only cell actually mean?

named_only is not a consolation prize and it is not a citation. The model used your name and credited someone else’s URL. That is a source gap wearing your brand.

CellWhat happenedTicket
cited_linkYour URL is in Sources / footnotesProtect the page. Watch accuracy
named_onlyBrand in the prose, no your-domain URLPR to the cited host, or a page worth crediting
absentNeither name nor URLPage and/or PR, scored by winnability
misrepresentedName or URL with a wrong factFact packet first. Visibility second

Worked row — format only, fill from your sheet:

2026-08-16 | chatgpt_search | p12 | “best [category] for [ICP]” | on | RivalA, RivalB | [roundup host]/best-…, [rival]/compare | named_only | minor | pr | [owner]

That row already is the brief: pitch the roundup, or ship a comparison page that is easier to credit than RivalA’s. Do not write “we have 12% SOV” on top of it.

  • Mention column and citation column never get summed into one cell
  • named_only always captures the URL that was credited
  • Wrong-price name-drops escalate to misrepresented
  • Partner-page citations get a decide-to-own note, not a victory lap

How do I turn the log into a content and PR brief?

Read the URL leaderboard, not the brand leaderboard first. Brands get named via partner pages you do not control. URLs tell you what to write and who to pitch.

LeaderboardHow you build itWhat you do with it
URLCount cited URLs across the panelOut-write or earn the page
DomainRoll URLs up to hostsPR list for digital PR
BrandCount names in answer textEntity and fact-packet work
FormatList / table / docs / threadSteal structure, not sentences

Ahrefs’ 75,000-brand analysis reported a 0.664 Spearman correlation between branded web mentions and AI Overview brand visibility, against 0.218 for referring domains. That is a correlation, not a law, and it is Overview-side. It still explains why a sentence on a domain the panel already cites beats another homepage backlink with no quote attached.

For each of the top 10 external URLs:

  1. What format got lifted — definition, table, steps, list, docs, thread?
  2. How old is the visible date?
  3. Are the category facts accurate?
  4. Is there a path to inclusion — contribute, earn the roundup slot, or outpublish?
  5. Would you be proud to be quoted next to them?

If the winning URL is a thin listicle, outpublishing is viable. If it is a primary standards document, change the prompt strategy. Do not cosplay as ISO.

How do I read a cited URL like a brief?

Open the URL. Find the passage that could have been lifted. If you cannot point at 40–80 words that answer the prompt, you are guessing why it won.

CheckPassFail
Lead sentenceAnswers the prompt in one lineBrand story, then the point on paragraph six
StructureTable, steps, or ICP rowsUnbroken essay
DateVisible updated or collection windowUndated “ultimate guide”
EntityLegal name, product name, who-it’s-forPronouns and “we” only
ProofA number, a method, or a named constraintAdjectives
Inclusion pathEditor, contribute, or outpublishNo public contact and no equivalent page you can ship

Write three lines into the ticket:

  1. The lift-ready passage (quote it).
  2. The gap — missing ICP, stale date, no criteria, or you are not on the list.
  3. The play — page with a named H2, or pr with a named editor and a locked two-sentence fact.

That is the brief. A card that says “improve AEO” is not.

  • Passage quoted in the ticket, not paraphrased from memory
  • Date on the cited page recorded
  • Inclusion path chosen before a writer is assigned
  • Standards docs marked unwinnable instead of “write a better ISO”

How do I classify gap types?

Classify before you assign a writer. The wrong ticket wastes a sprint.

Gap typeSignal in the logPrimary fix
AbsenceNever cited on category promptsAnswer-first page + earned mention
SubstitutionCompetitor how-to or docs citedClearer method, dates, and proof
Directory dominanceList / roundup hosts winPitch those exact URLs; ship your comparison
Stale corroborationOld press still quotedUpdate the source or outpublish it
Identity errorWrong facts about youFact packet + hallucination repair
Crawl blockSources never include you; robots blocks SearchBotFix robots / WAF, then retest
EcosystemAnswers cite a marketplace listingFix the listing, not the blog

Google’s AI-optimization guide still starts with Search technical requirements and people-first pages. Their helpful-content questions still ask whether the page offers original information. A gap analysis that produces “write 40 more posts” without a cited-URL target is SEO cosplay.

  • Each absent money prompt has one ticket type
  • Source-gap URLs copied into the PR list, not a generic media list
  • Identity errors get a fact-packet diff, not a new thought-leadership essay
  • Crawl blocks get an engineering ticket before a copy ticket
  • wontfix has a written reason

How do I prioritize which gaps to close first?

Score each absent money prompt 1–5 on pipeline influence, buyer frequency, winnability, and strategic fit. Multiply influence × winnability. High influence / low winnability becomes a long PR play, not a weekend blog post.

ScoreInfluenceWinnabilityWhat you fund
High × highSales hears it weeklyCited URLs are thin or stalePage this sprint
High × lowSales hears it weeklyCited hosts are standards or giant directories60–90 day PR
Low × highRare in pipelineEasy page to shipOnly if it supports a cluster
Low × lowVanityEntrenchedwontfix

Winnability is a reading of the cited URL, not a feeling. A 2019 listicle with no criteria table is winnable. A government spec is not.

Do not prioritize “prompts where a tool showed a low SOV.” Prioritize prompts you can point at in a sales call. The sheet exists to stop leadership from funding the prompt that sounded smart in a Slack thread.

What plays actually close a citation gap?

Five plays. Pick from the ticket type, not from a content calendar theme.

Own the missing answer page. If every citation is a “What is X?” post and you lack one, write it. Lead with the sentence a model can lift. Put a table or steps under the first heading. Date it.

Beat the cited URL on compressability. Tables, numbered procedures, explicit ICP, visible dates. FAQPage markup only if the questions are on the page. Do not match word count. Match extractability.

Earn a seat on the roundup. Digital PR aimed at the exact domains already in the log is the job. Random guest posts on domains the panel never cites are optional SEO. See digital PR for citations.

Fix the listing. App stores, marketplaces, and partner directories get mirrored. Classic web PR will not repair a thin Shopify listing that Perplexity already footnotes.

Repair the fact. A misrepresented cell is not a visibility win. Lock the one- and two-sentence facts, update the page, and pitch the source that taught the model the wrong year.

TicketShip thisRetest after
pageAnswer-first URL with a lift-ready lead2–6 weeks
prPlacement on a logged domain4–8 weeks
listingMarketplace / partner copy aligned to the fact packet2–4 weeks
entitySameAs / Organization / visible legal name cleanupNext full panel
wontfixWritten reason in the sheetDo not retest for vanity

Steal structure, not sentences. Reverse-engineer H2s, table shape, and FAQ list. Then beat them on ICP boundaries, freshness, original proof, and accurate entity markup. Derivative sameness is visible to retrieval systems, humans, and lawyers.

Why do directories and roundups keep winning?

They compress category advice into a list a model can quote. Google’s AI-features note that Overviews exist to get people to the gist and then out to supporting links. A “best X for Y” page with a criteria table is purpose-built for that job. Your 2,400-word brand essay is not.

Cited formatWhy it wins the footnoteYour counter
Best-of listICP rows, prices, “who it’s for”Ship your own comparison with named criteria
Docs / changelogDated, specific, hard to reassignPublish the method, not the vibe
Trade roundupThird-party voice + many brandsPitch that editor with a locked fact
Community threadSpecific failure, specific fixContribute where the panel already cites
HomepageEntity fallback when nothing else existsDo not celebrate this; it is a gap

You will not dethrone a directory by complaining about directories. You either get on the list the panel already cites, or you publish a comparison that is easier to lift than theirs. Both is allowed. Neither is a LinkedIn rant.

When is absence the correct answer?

Sometimes the model omits you because you are out of scope. “Best enterprise suite” when you serve mid-market is not an insult. It is a filter. Forcing inclusion with spam creates bad-fit demos.

SignalCorrect moveWrong move
Prompt is outside ICPwontfix + narrow the panelDoorway page for enterprise theater
You are named via a partnerDecide if you want that URLPretend it is “your” citation
Facts are wrong but you are citedAccuracy ticket firstCelebrate the link
You blocked OAI-SearchBotAllow the search bot, wait ~24 hours, retestRewrite the hero copy
GSC gen-AI impressions exist, chat panel is emptyTwo surfaces, two briefsAverage them into one SOV

False inclusion is not a win. A prompt that sends the wrong buyer into a sales call is a cost. Write the reason in the sheet so the argument does not restart every quarter.

What breaks if you skip the log?

The failure mode is theater. Someone pastes one ChatGPT answer in Slack. Leadership funds a “thought leadership” series. Six weeks later the same directory still owns the money prompt, and nobody can prove the series did anything because the prompt wording changed.

SkipWhat breaksWhat it costs
No frozen panelEvery meeting argues a different questionA quarter of unmeasured pages
No URL columnYou pitch “the industry” instead of a hostPR that never gets retrieved
Mention = citationYou celebrate a name-drop with a wrong priceHallucinated brand facts in the wild
Moving competitorsCharts improve by definitionYou cannot tell if the page worked
Treating GSC as ChatGPTYou optimize Overviews and miss the chat panelSplit-brain reporting
Invented SOVA percentage with no denominatorBudget against a fiction

I have watched this pattern across 500+ automations and hundreds of sites: the teams that keep a boring sheet outrun the teams that bought a dashboard logo. The sheet is the product. The dashboard is optional corroboration.

Store decisions in the sheet, not in chat. Six weeks later nobody remembers why a prompt is wontfix, and the argument restarts.

How should leadership read a gap report?

Lead with money prompts. Show one side-by-side: the cited competitor URL versus the page you do not have. Ask for budget against the gap list, not against “AI” as a vibe. Revisit in 60 days with the same prompts.

Write the slide like this — replace the counts with your sheet, never with a number you guessed:

On [N] recommendation prompts for our ICP, we were cited_link on [A] and absent on [B]. Competitor [Name] appeared via [URL 1] and [URL 2]. We lack [page type]. Proposed: ship [page] in [weeks]; pitch [editor / domain] with the locked fact packet. Retest on [date] with the same prompt IDs.

That paragraph is fundable. A generic AI strategy deck is not.

Leadership askShow this artifactDo not show
Where are we losing?Absent-money-prompt pivotA vibe word cloud
What do we fund?Top 5 tickets with ownersA 40-item editorial calendar
Did it work?Same prompt IDs, two datesA new competitor set
What did it cost?Hours + placements, not “SOV points”A screenshot of a vendor gauge

Share a one-page dashboard: citation rate on the frozen panel, top gap URLs, shipped tickets, next retest date. If you report share of voice, print the formula and the competitor freeze date on the same slide. If you cannot, cut the percentage.

What cadence keeps the panel honest?

Weekly, monthly, quarterly. Miss a week and the ritual becomes archaeology.

CadenceWhat you runWhat you ship from it
Weekly10–15 money promptsNew absent cells → tickets
MonthlyFull panel + URL leaderboardPR list + page queue
QuarterlyRetire dead prompts; add sales languageCompetitor freeze review

Run a 25-minute standup:

  1. Three minutes: citation-rate sparkline on the frozen panel
  2. Seven minutes: new absent money prompts
  3. Seven minutes: assign or advance tickets
  4. Five minutes: accuracy incidents
  5. Three minutes: next retest commitments

Invite content, PR, and someone from sales at least twice a month so prompt language stays real. Keep owners named. When someone goes on leave, transfer the ritual in the sheet — AEO dies in the handoff.

Week-one kit, four artifacts, or you are still in opinion mode:

  • Prompt panel sheet with IDs
  • Competitor freeze list with a date
  • URL leaderboard pivot
  • Backlog tagged page / pr / listing / entity / wontfix

Repeat the kit after major launches. The cost of re-baselining is tiny next to a quarter of unmeasured content. If you want a second pair of eyes, the visibility lane exists for that reason: /visibility and the visibility audit path turn the kit into a managed baseline. Either way, ship the ritual before you buy another dashboard.

FAQ

How do I see what ChatGPT cites?

Open ChatGPT Search, paste a frozen buyer prompt, and record the Sources panel plus any inline citation chips. OpenAI documents hover-and-click citations and a Sources sidebar under the response. Repeat across sessions. Pair the run with Perplexity footnotes and an Overview check. No single export replaces that panel today.

What is an AI citation gap analysis?

It is a structured comparison of the sources and brands answer products cite for your priority prompts versus your own presence — then a prioritized plan to earn inclusion. Mentions, citations, and third-party source gaps stay in separate columns. The output is a content and PR brief, not a lonely percentage.

How many prompts do I need?

Enough to cover revenue-relevant intents without drowning the team. Most brands can learn from 25–40 well-chosen prompts re-run on a weekly subset and a monthly full pass. Add prompts when sales language changes. Do not add prompts to make a chart look busier.

Why do directories keep winning citations?

They compress category advice into lists and tables models can quote. Either earn placement on the quality lists your panel already cites, publish a better-owned comparison with named criteria, or both. Complaining about directories is not a play.

Can Semrush show ChatGPT citations?

Semrush can show mention, citation, and source tables on the prompt sets it tracks, and it publishes those definitions in its AI visibility docs. Treat that as corroboration. Your frozen panel is still the brief unless you have verified that the tool’s prompts match the questions buyers ask you. Search Console gen-AI reports cover Google surfaces, not ChatGPT.

How fast can gaps close?

On-site pages can enter browsing-mode answers within days to weeks after they are crawlable and snippet-eligible. Displacing an entrenched roundup is a PR cycle measured in months. OpenAI documents about a day for robots.txt search-bot changes to take effect. Measure monthly on the same prompt IDs, not daily on new wording.

CTA

Stop guessing who AI quotes. Log the panel, classify the gap, ship the page or the pitch, re-measure.

Lane overview: /visibility. Next step: a visibility audit.

FAQ

What questions does this article answer?

How do I see what ChatGPT cites?
Open ChatGPT Search, paste a frozen buyer prompt, and record the Sources panel plus any inline citation chips. OpenAI documents hover-and-click citations and a Sources sidebar under the response. Repeat across sessions. Pair the run with Perplexity footnotes and an Overview check. No single export replaces that panel today.
What is an AI citation gap analysis?
It is a structured comparison of the sources and brands answer products cite for your priority prompts versus your own presence — then a prioritized plan to earn inclusion. Mentions, citations, and third-party source gaps stay in separate columns. The output is a content and PR brief, not a lonely percentage.
How many prompts do I need?
Enough to cover revenue-relevant intents without drowning the team. Most brands can learn from 25–40 well-chosen prompts re-run on a weekly subset and a monthly full pass. Add prompts when sales language changes. Do not add prompts to make a chart look busier.
Why do directories keep winning citations?
They compress category advice into lists and tables models can quote. Either earn placement on the quality lists your panel already cites, publish a better-owned comparison with named criteria, or both. Complaining about directories is not a play.
Can Semrush show ChatGPT citations?
Semrush can show mention, citation, and source tables on the prompt sets *it* tracks, and it publishes those definitions in its AI visibility docs. Treat that as corroboration. Your frozen panel is still the brief unless you have verified that the tool’s prompts match the questions buyers ask you. Search Console gen-AI reports cover Google surfaces, not ChatGPT.
How fast can gaps close?
On-site pages can enter browsing-mode answers within days to weeks after they are crawlable and snippet-eligible. Displacing an entrenched roundup is a PR cycle measured in months. OpenAI documents about a day for robots.txt search-bot changes to take effect. Measure monthly on the same prompt IDs, not daily on new wording.
Sources

Last reviewed — OpenAI ChatGPT Search Sources panel and OAI-SearchBot docs, Google AI-features eligibility and Search Console gen-AI reports (June 3, 2026), Semrush mention/citation/SOV definitions checked 2026-08-16.

More from this lane

AI Visibility

All →
Book the audit