The GEO Playbook
Part 1 of 6/15 min read

How AI Engines Pick Sources

ChatGPT, Claude, Perplexity and Gemini each choose sources differently. We map the retrieval logic and trust signals behind all four, so you know which engine your effort belongs on.

Each of the four major AI engines, ChatGPT, Perplexity, Claude and Gemini, retrieves candidate sources from a different index, applies a different set of ranking signals, and presents citations in a different format. A page that ranks well in Google does not automatically get cited in Claude. A source Perplexity trusts today may be invisible to ChatGPT. Understanding the retrieval layer for each engine is the first step toward closing citation gaps across all of them.

How the four engines differ at a glance

Before going engine by engine, it helps to see the structural differences in one place. The table below maps each engine's retrieval source, citation format, and the single most important lever for B2B sites.

EngineRetrieval sourceCitation formatPrimary lever for B2B sites
ChatGPTBing index, live search via OAI-SearchBot, plus training data for non-search answersNumbered inline footnotes, collapsible source panelBing indexation and crawlability for OAI-SearchBot
PerplexityOwn crawler, PerplexityBot, plus Bing and other feeds, real-time by defaultNumbered superscript citations, source cards below answerFreshness, structured answers, and Bing presence
ClaudeBrave Search index, live, plus ClaudeBot training dataInline hyperlinks with up to 150-character cited_text excerptBrave Search ranking and answer-first passage structure
GeminiGoogle Search index via a retrieval pipeline, with grounding re-ranking the candidatesInline numbered links, expandable source panel in AI OverviewsE-E-A-T signals, structured data, and Knowledge Graph presence
No single optimization fixes all four engines: each has a different gating index, and failing one gate means zero citations from that engine regardless of how well the page performs elsewhere.

ChatGPT: Bing is the gate, passage quality is the filter

When a ChatGPT user asks a question that needs current information, the model triggers live web search through OpenAI's OAI-SearchBot crawler, which pulls results from the Bing index. OpenAI's ChatGPT Search documentation confirms that the search feature retrieves results from the web to provide up-to-date answers. If your site is not indexed in Bing, or if Bing's crawler has been blocked in your robots.txt, ChatGPT's live-search answers will never include you, regardless of your Google ranking.

How ChatGPT decides what to cite

Once candidate pages are retrieved from Bing, ChatGPT applies its own re-ranking pass before generating the answer. The signals that matter at this stage are different from standard Bing ranking signals:

  • Passage extractability. The model lifts specific passages, not whole pages. A page that buries its main claim in paragraph four will lose to a shorter page that opens with a direct answer.
  • Claim specificity. Vague assertions, such as "a leading provider of", are skipped. Named entities, dates, version numbers, and statistics are far more likely to be lifted and cited.
  • Source diversity. ChatGPT tends to cite multiple domains per answer rather than repeating the same domain. A single high-authority page will not dominate, because the model actively pulls from varied sources.
  • Freshness for time-sensitive queries. For queries where recency matters, such as pricing, product comparisons and recent events, pages with visible publication or update dates are preferred over undated content.

What ChatGPT citations look like

ChatGPT presents citations as numbered inline footnotes within the answer text, with a collapsible source panel that shows the page title, domain, and a short excerpt. The citation number appears immediately after the claim it supports. This means the cited passage must be close to the surface of the page: if the model cannot match the claim to a specific passage, the page may inform the answer without receiving a visible citation link.

What to do differently for ChatGPT

  • Verify that OAI-SearchBot is not blocked in your robots.txt. A block on GPTBot, the training crawler, does not automatically block OAI-SearchBot, the search crawler. They are separate user-agents.
  • Submit your key pages to Bing Webmaster Tools and confirm they are indexed. Bing's index is smaller than Google's, and pages that Google has indexed for years can still be absent from Bing.
  • Open each priority page with a direct, claim-first sentence under each heading. The model needs a clean passage to lift, and it will not paraphrase a buried point.
  • Add visible publication and update dates. For B2B comparison and pricing pages, undated content is treated as potentially stale.
ChatGPT's gate is Bing: if OAI-SearchBot cannot crawl your page and Bing has not indexed it, no amount of content quality will put you in a ChatGPT citation.

Perplexity: real-time by default, freshness is non-negotiable

Perplexity is the only major AI engine that treats every query as a live search by default. It runs its own crawler, PerplexityBot, and supplements that with feeds from Bing and other sources to assemble a real-time candidate pool before generating an answer. Perplexity's Publishers Program also gives publishers a direct route to appear in Perplexity's source set, which signals that the engine actively curates its source relationships rather than relying purely on algorithmic retrieval.

What Perplexity weights when choosing sources

Because every answer is grounded in live retrieval, Perplexity's source-selection criteria skew heavily toward signals that indicate a page is current and trustworthy right now, not just historically authoritative:

  • Recency. Pages with recent publication or update dates are strongly preferred for any query that touches current state, pricing, or comparisons. Stale pages, even from high-authority domains, lose to fresher pages on smaller sites.
  • Structured, scannable content. Perplexity's retrieval pipeline favours pages that use clear headings, short paragraphs, and lists. Dense prose without structural markers is harder to parse and less likely to be cited.
  • Bing presence. Because Perplexity uses Bing as one of its source feeds, pages not indexed in Bing face a structural disadvantage, particularly for queries where PerplexityBot has not yet crawled the page independently.
  • Domain credibility signals. Perplexity applies its own trust scoring on top of retrieved results. Domains with a consistent publishing history on a topic and clear authorship signals score higher than one-off pages from otherwise unrelated sites.

How Perplexity citations differ from the other engines

Perplexity's citation format is the most transparent of the four. Every claim in the answer carries a numbered superscript that links directly to the source page, and a row of source cards appears below the answer with the page title, domain, and a short excerpt. The engine typically cites between three and six sources per answer, and it re-asks the query in multiple phrasings before synthesising, which means a single question can create multiple retrieval events and multiple chances to be cited.

Perplexity's related questions at the bottom of each answer are generated from the same retrieval pool. Pages that get cited in the main answer often appear again in the related-question answers, compounding citation frequency for well-positioned pages.

What to do differently for Perplexity

  • Treat content freshness as a maintenance task, not a launch task. Pages that have not been substantively updated in months lose ground on time-sensitive queries.
  • Add a visible "Last updated" date to every page that covers pricing, comparisons, or product capabilities. Perplexity's retrieval pipeline reads page age signals, and a missing date is treated as a freshness unknown.
  • Structure pages so that each section opens with a one-sentence direct answer. Perplexity extracts short passages, and a section that starts with context before the point is harder to cite.
  • Apply to the Publishers Program if your domain publishes original research or primary data. Publisher status gives your domain a direct signal in Perplexity's source curation layer.
Perplexity's real-time retrieval means a page published today can appear in answers tonight, but a page left unupdated for months starts losing ground to fresher competitors on the same topic.

Claude: Brave Search is the index most teams are not optimizing for

Claude grounds its web answers in live search, and the public evidence points to Brave Search as the backend index. Anthropic added Brave Search to its public subprocessor list in March 2025, one day before Claude's web search feature launched, and developer Simon Willison found a parameter named BraveSearchParams inside Claude's search tool definition. A page that ranks well in Google but not in Brave has a structural disadvantage in Claude that Google-only SEO cannot fix.

Claude's three crawlers and what they each do

Anthropic documents three distinct crawlers, and understanding which one matters for citation is essential:

  • ClaudeBot collects public web content for model training. Blocking it removes your content from future training data but does not affect live-search citations.
  • Claude-SearchBot indexes content to improve the quality of Claude's search results. This is the indexing layer.
  • Claude-User fetches your page live at the moment a user's question needs it. A Claude-User hit in your server logs means a real answer just pulled your page in. This is the citation moment, as documented by Rankry.

Blocking any of these user-agents in robots.txt has a different consequence. Most teams that block ClaudeBot for training-data reasons do not realise they may also be blocking the search indexing layer.

How Claude's citation format works

Claude's Citations API returns a cited_text span of up to 150 characters tied to each source URL, per Anthropic's web search tool documentation. That 150-character window is the passage Claude lifts from your page. If the most useful claim on your page is buried in the middle of a 400-word paragraph, Claude cannot extract it cleanly. Answer-first writing, where the direct claim appears in the first sentence of each section, is the structural requirement that makes a page extractable by Claude's citation layer.

What to do differently for Claude

  • Check your Brave Search rankings for your target queries. Brave's index is independent of Google's, so being in Google's top three does not guarantee Brave visibility. Run your priority queries in Brave Search directly and audit where your pages appear.
  • Confirm that Claude-SearchBot and Claude-User are not blocked in your robots.txt. A blanket block on Anthropic crawlers removes you from Claude's live-search pool entirely.
  • Write the direct answer as the first sentence of every H2 and H3 section. Claude's 150-character extraction window rewards passages that lead with the point, not passages that build to it.
  • Add JSON-LD structured data and keep markup clean. Rankry's analysis found that Claude favoured deep articles and listicle-style pages with semantic HTML over pages with minimal markup.
Claude's citation pool is gated by Brave Search, not Google: a page invisible to Brave's independent index is effectively invisible to Claude's live-search answers, regardless of its Google ranking.

Gemini: Google's own signals, applied twice

Gemini is the only engine in this group that runs on the same index it already ranks in. When a query triggers an AI Overview, Google's infrastructure retrieves candidate pages from its own search index, then passes those candidates to Gemini's grounding layer for a second evaluation pass. The practical implication is that organic ranking gets you into the candidate pool but does not guarantee citation. A page at position 15 with strong structured data and a verified author entity can outperform a page at position 1 that has no schema markup.

The two-stage filter that determines citation

Understanding Gemini's pipeline as two distinct gates changes how to prioritise work:

  1. Gate 1, retrieval. Your page must be indexed and eligible for AI Overviews, meaning it cannot have a nosnippet directive or max-snippet:0 set, and it must carry sufficient E-E-A-T signals to enter the candidate pool. Google Search Central's documentation on AI features states that a page must be eligible to be shown in Search with a snippet to appear as a supporting link. Setting nosnippet removes a page from citation eligibility entirely.
  2. Gate 2, grounding re-rank. Gemini's grounding layer scores the candidate pool on extractability, source authority tied to E-E-A-T, recency, and Knowledge Graph alignment. MediaFast's analysis found that only three to five sources are cited per overview, which makes this second gate highly competitive.

Where Gemini differs most from the other three engines

Gemini is uniquely sensitive to signals from across the Google ecosystem. Knowledge Graph presence, Google Business Profile verification, and Search Console structured data validation all feed the grounding re-rank step in ways that have no equivalent in ChatGPT, Perplexity, or Claude. An Organization schema block with sameAs links pointing to LinkedIn, Crunchbase, and Wikidata gives Gemini a confident entity handle on who is making a claim, which increases citation probability for that domain across all queries where the entity is relevant.

Stackmatix's analysis of Ahrefs data, covering 863,000 keyword SERPs and 4 million URLs, reports that the share of AI Overview citations coming from pages in Google's organic top ten had fallen to 38 percent, down from earlier estimates near 76 percent. The gap is filled by pages outside the top ten that pass the grounding re-rank on extractability and structured data signals.

What to do differently for Gemini

  • Audit every priority page for nosnippet or max-snippet directives. Either one removes the page from AI Overview citation eligibility, even if it ranks organically.
  • Add Organization JSON-LD with sameAs links to your LinkedIn company page, Crunchbase profile, and Wikidata entry. This establishes the entity handle Gemini uses to attribute claims to your brand.
  • Use FAQPage and HowTo schema on relevant pages. MediaFast's analysis identified these among the strongest predictive features for AI Overview citation.
  • Update dateModified in Article schema whenever a page receives a substantive revision, and keep it consistent with the visible on-page date. Google cross-references schema dates against visible dates and sitemap lastmod, and conflicts cause the schema date to be ignored.
  • Refresh content regularly for any page covering pricing, capabilities, or comparisons. Older content loses ground on time-sensitive queries.
Gemini applies Google's trust signals twice: once to retrieve candidates and once to re-rank them. Passing the first gate without passing the second still means no citation.

What all four engines share: fix these once, benefit everywhere

Despite using different indexes and different citation formats, the four engines converge on the same underlying requirements when evaluating whether a passage is worth citing. Fixing these shared signals once improves your position across all four engines simultaneously. They are the foundation, and engine-specific work builds on top of them.

Answer-first structure

Every engine extracts short passages, not full pages. ChatGPT lifts claim-level sentences to attach to its footnotes. Claude's API returns up to 150 characters of cited_text. Perplexity's source cards show a short excerpt. Gemini's grounding layer scores pages on how cleanly a direct answer can be extracted. The structural requirement is identical across all four: the direct answer to the question implied by each heading must appear in the first one or two sentences of that section. A section that opens with background context before reaching the point will lose citations to a shorter page that leads with the answer.

Claim specificity and fact density

Vague marketing language is the single most common reason a page is retrieved but not cited. Every engine's selection layer filters for specificity: named entities, dates, version numbers, percentages, and attributed statistics. A sentence like "our platform helps teams work faster" contributes nothing extractable. A sentence like "the platform reduced average report generation time from four hours to 22 minutes in a 2025 pilot with a 200-person operations team" gives the model a specific, liftable claim. The Princeton-led GEO: Generative Engine Optimization paper found that its optimization methods, which include adding statistics and citations to a page, can boost visibility in generative engine responses by up to 40 percent.

Crawler access and indexation

A page that cannot be crawled cannot be cited. Each engine has its own crawler user-agents, and a robots.txt rule that blocks one does not automatically block the others. The table below maps the crawlers that matter for each engine's citation pipeline:

EngineCitation crawler to allowTraining crawler, separate
ChatGPTOAI-SearchBotGPTBot
PerplexityPerplexityBotSame agent for both
ClaudeClaude-SearchBot, Claude-UserClaudeBot
GeminiGooglebot, the standard Google crawlerGoogle-Extended
Blocking a training crawler to keep your content out of model training is a legitimate choice. Blocking the search crawler by mistake is not. Audit your robots.txt against this table before doing any other optimization work.

Content freshness signals

All four engines deprioritise stale content for queries where recency matters. The mechanism differs: Perplexity reads page age directly, Gemini cross-references dateModified in Article schema against the visible on-page date, and ChatGPT and Claude both show preference for pages with visible update dates on comparison and pricing queries. The practical standard is a regular refresh cycle for any page covering product capabilities, pricing, or competitive comparisons. Substantive updates, not cosmetic edits, are what register as freshness signals.

Structured data and semantic markup

JSON-LD structured data improves extractability across all four engines. Organization schema with sameAs links is the highest-leverage single addition for most B2B sites: it establishes entity identity that Gemini uses for Knowledge Graph alignment, Claude uses to corroborate claims, and ChatGPT and Perplexity use to assess domain credibility. Article schema with accurate datePublished and dateModified fields provides freshness signals. FAQPage and HowTo schema package answer structures in typed formats that all four engines can extract without parsing unstructured prose.

Answer-first structure, claim specificity, crawler access, freshness signals, and structured data are the shared foundation: fix all five before optimizing for any individual engine.

The remediation checklist: what to audit first

The items below are ordered by the number of engines each fix affects. Work through them in sequence. Every item in the first group affects all four engines, and items further down are engine-specific.

Fixes that affect all four engines

  1. Audit robots.txt for citation crawlers. Confirm that OAI-SearchBot, PerplexityBot, Claude-SearchBot, Claude-User and Googlebot are all allowed. Fix any accidental blocks before any other work.
  2. Rewrite section openings. The first sentence under every H2 and H3 must state the direct answer. Move context and background to the second sentence or later. This is the single highest-leverage structural change for citation frequency.
  3. Replace vague claims with specific ones. Go through every priority page and replace generalities with named entities, attributed statistics, dates, and version numbers. Remove any sentence that cannot be lifted and cited as a standalone claim.
  4. Add Organization JSON-LD with sameAs links. Point to your LinkedIn company page, Crunchbase profile, and Wikidata entry. This is the entity signal that all four engines use to attribute claims to your brand.
  5. Set a content refresh schedule. Assign a review date to every page covering pricing, product capabilities, or competitive comparisons. Update substantively, not cosmetically, and update the visible on-page date at the same time.

Fixes that affect two or three engines

  1. Submit to Bing Webmaster Tools and confirm indexation. Affects ChatGPT, via OAI-SearchBot, and Perplexity, via its Bing feed. Check that your priority pages are indexed, not just submitted.
  2. Add Article schema with accurate datePublished and dateModified. Affects Gemini, Perplexity and ChatGPT. Keep schema dates consistent with visible on-page dates, because mismatches cause schema dates to be ignored.
  3. Remove nosnippet and max-snippet:0 directives from priority pages. Affects Gemini directly through citation ineligibility, and has knock-on effects for ChatGPT and Perplexity snippet extraction.

Engine-specific fixes

EngineEngine-specific action
ChatGPTConfirm OAI-SearchBot is treated separately from GPTBot in robots.txt. Add visible publication dates to comparison and pricing pages.
PerplexityApply to the Publishers Program if you publish original research. Add a visible "Last updated" date to every page.
ClaudeRun your priority queries in Brave Search directly and audit your Brave rankings. Confirm Claude-SearchBot and Claude-User are both allowed in robots.txt.
GeminiAdd FAQPage and HowTo schema to relevant pages. Establish or claim your Wikidata entity. Verify your Google Business Profile if applicable.
The fastest wins are structural, not technical: rewriting section openings to lead with the answer costs nothing and affects all four engines immediately.

Common questions

How does ChatGPT decide which sources to cite?

ChatGPT pulls live results from the Bing index, then re-ranks candidate pages for extractable passages, claim specificity, freshness, and source diversity. The pages that win lead with a direct answer, use named entities and dates, and are easy for the model to lift as a standalone claim.

What makes a page more likely to be cited by Perplexity?

Perplexity favours fresh, structured, scannable pages with clear headings, short paragraphs, and recent update dates. Because it treats most queries as live search, older pages and dense prose lose ground quickly when a newer, clearer source is available.

Why does Claude cite some pages and ignore others?

Claude grounds its live answers in Brave Search, so visibility in Brave matters more than a Google ranking alone. Pages are most likely to be cited when they use answer-first writing and semantic structure, with passages short enough to fit the 150-character extraction window.

What influences Gemini citations most?

Gemini uses Google’s own retrieval and then a grounding re-rank, so snippet eligibility, structured data, E-E-A-T signals, and extractability all matter. A page can rank organically and still miss citation if its answer is buried, undated, or blocked from snippet eligibility.

What should B2B sites fix first across all four engines?

Start with answer-first section openings, specific claims, crawler access, freshness signals, and structured data. Those five changes improve citation odds on all four engines at once, which makes them the highest-leverage place to begin.

This is the method we run for clients. If you would rather hand it over than do it yourself, the free AI Visibility Audit is where that starts.

Get a free AI Visibility Audit
How AI Engines Pick Sources | The GEO Playbook