AI Search

How AI Assistants Pick Sources: ChatGPT to Gemini

How AI assistants pick sources differs by engine. Compare the retrieval, selection and citation pipelines behind ChatGPT, Claude, Perplexity and Gemini.

S SparkCliks 0 14 min read
Share
How AI Assistants Pick Sources: ChatGPT to Gemini

How AI assistants pick sources is four different questions wearing one label. ChatGPT, Claude, Perplexity and Gemini run different crawlers, query different indexes, and attach citations at different points in the answer, so a page quoted constantly in one can be invisible in another. This breaks down what each engine does at each stage, and which of those stages you can actually influence.

The Four Stages Behind Every Citation

Every assistant that shows links behind an answer runs the same skeleton. The branding differs, the vocabulary differs, the shape does not.

StageWhat happensWhat you control
AccessA crawler fetches your pages, or a live fetch pulls one URL at answer timerobots.txt, server response, whether content exists without JavaScript
ExpansionYour one question becomes several machine written queriesNothing directly. You influence it by covering the sub-questions
RetrievalCandidate passages come back from an index or a search APIIndexability, page structure, topical coverage
SelectionThe model discards most candidates and keeps what it will useWhether a passage answers something on its own
AttributionLinks attach to sentences, or to the answer as a wholeWhether your claim is distinct enough to trace back to you

Two of these fail silently. If Access fails you were never a candidate, and if Selection fails you were fetched, read and dropped. No dashboard anywhere reports "retrieved but not cited," which is why most people optimizing for AI search are guessing about which half of the funnel is broken.

ChatGPT: Two Crawlers and a Narrow Citation Slot

OpenAI publishes three user agents and they do different jobs, documented at platform.openai.com/docs/bots. GPTBot collects data for model training. OAI-SearchBot builds the index behind ChatGPT's search results. ChatGPT-User fetches a page live when a prompt points at a specific URL.

That split matters more than anything else in this section. Blocking GPTBot does not remove you from ChatGPT's search results. Blocking OAI-SearchBot does.

ChatGPT also searches conditionally rather than on every prompt, and when it does cite, it cites sparingly: a handful of links for an answer where Perplexity would show twenty. Your pressure point here is Selection. Being retrievable is the entry fee. Being the clearest available statement of the specific claim is what wins the slot.

One caution on tactics you may read elsewhere. Ignore advice about optimizing for whichever third party index is currently rumored to sit behind ChatGPT. OpenAI documents its own crawler, that crawler shows up in your access logs, and a rumor does neither.

Free trial

Stuck on page two?

Real human clicks that lift your CTR and move you up the rankings.

Claude: Search Is a Tool Call, Not a Standing Index

Anthropic documents ClaudeBot for training data, Claude-SearchBot for search indexing and Claude-User for user triggered fetches, described in Anthropic's crawler documentation.

The structural difference is upstream of all of that. Claude's web search is a tool the model chooses to call, so the first gate is not your content at all: it's whether the model decided the question needed the web. A question it believes it can answer from what it already knows never triggers retrieval, and no citation is possible no matter how good your page is.

The queries that reliably trigger a search are the ones about recent, changing, local or narrowly specific facts. That makes your realistic surface area with Claude narrower than with Perplexity, and it makes being current worth more than being comprehensive. When search does run, results come back with source metadata attached and Claude cites the pages it drew on.

Perplexity: Retrieval First, Attribution Per Sentence

Perplexity is the retrieval led one. It searches on essentially every query rather than conditionally, runs PerplexityBot for indexing and Perplexity-User for live fetches (documentation here), and attaches numbered citations inline as it writes, often several in a single paragraph.

Two things follow. The retrieved set is wider, so mid authority pages get cited here far more often than anywhere else: this is the friendliest of the four for a site that is good but not dominant. And because attribution happens per sentence, a page can be retrieved, read, and still never cited, because no sentence in the finished answer traces cleanly back to it.

That second point is the practical lesson. Perplexity rewards pages that make one checkable claim per sentence. Long narrative paragraphs where the useful fact is distributed across four clauses get read and discarded.

Gemini and AI Mode: The Search Index With Fan Out on Top

The naming here causes more confusion than the technology. Gemini the assistant app, AI Overviews in search results, and AI Mode are different surfaces sitting over overlapping infrastructure.

For the search surfaces, one fact matters above the rest: there is no separate AI index. AI Overviews and AI Mode are served from the same Search index Googlebot builds, which Google states directly in its AI features and your website documentation. If a page is not indexed, it cannot be cited there. Indexing is a hard gate, not a ranking factor you can compensate for elsewhere.

Google describes AI Mode as using a query fan out technique: your single question is decomposed into multiple related searches issued at once, and the answer is assembled from all of them. You are not competing for the query the user typed. You are competing for a set of synthetic sub-queries you will never see in a keyword tool or in Search Console.

Then there is the control most people get backwards. Google-Extended is not a crawler. It's a robots.txt token that governs whether your content helps improve Gemini apps and Vertex AI generative APIs, and Google's crawler documentation states it does not affect inclusion in Google Search. Blocking it does not take you out of AI Overviews. Many sites added it in 2024 and 2025 believing it would.

How AI Assistants Pick Sources, Side by Side

DimensionChatGPTClaudePerplexityGemini and AI Mode
Search index crawler`OAI-SearchBot``Claude-SearchBot``PerplexityBot``Googlebot`
Training crawler or token`GPTBot``ClaudeBot`Not published as a separate agent`Google-Extended` (a token, not a crawler)
Live user fetch`ChatGPT-User``Claude-User``Perplexity-User`Not applicable
Searches every promptNo, conditionalNo, the model decidesYes, by defaultYes on the AI surfaces
Typical citations per answerFewFewManyModerate, varies by query
Where attribution attachesAnswer level, some inlineTo the results the tool returnedInline, per sentenceInline links and source cards
Your usual bottleneckSelectionWhether a search runs at allBeing in the retrieved setBeing indexed at all

These lists change: OpenAI added OAI-SearchBot alongside the older GPTBot, and that split is exactly the trap described in the next section. Every cell above traces to a vendor documentation page linked in the sections before it. Check the live page before you write a rule against it.

Why Blocking One Bot Can Cost You Every Citation

The most expensive mistake in this area is treating "AI crawlers" as one category. There are three doors, and they have completely different consequences.

DoorExample agentsWhat blocking it means
Training`GPTBot`, `ClaudeBot`, `Google-Extended`Your content is not used to train or improve models. Citation in the search products is generally unaffected
Search indexing`OAI-SearchBot`, `Claude-SearchBot`, `PerplexityBot`, `Googlebot`You cannot be retrieved, so you cannot be cited. This is the door that costs you
Live user fetch`ChatGPT-User`, `Claude-User`, `Perplexity-User`A reader who pastes your URL into an assistant is told the page cannot be accessed

The common failure runs like this. Somebody reads that AI companies are scraping the web, finds a list of AI user agents, and adds a blanket Disallow for all of them. The training door closes, which may well have been the intent. The search door closes too, which was not. Months later the site is never cited and nobody connects the two, because nothing in any analytics product or webmaster tool reports a citation that did not happen.

Decide the doors separately. They are separate decisions with separate trade-offs.

What All Four Reward

Different architectures, converging incentives. The overlap is short and unglamorous.

  • Content that exists in the raw HTML. Googlebot renders JavaScript. Several of the other crawlers perform a plainer fetch, so text that only appears after client side hydration may not exist for them at all.
  • A visible, accurate date. Recency is a retrieval and selection signal across all four, and it is the one thing Claude's conditional search actively looks for.
  • Claims that are checkable. A sentence carrying a number, a named entity or a date can be attributed to you. "Best practices vary depending on your goals" cannot be attributed to anyone, which is precisely why it never gets cited.
  • Passages that stand alone. Selection operates on chunks rather than whole pages, so a paragraph that only makes sense after reading the two above it is a weak candidate even on a strong page.
  • Corroboration. A claim that appears on several independent sites survives selection more often than a claim only you make. This is uncomfortable for original research and it is how these systems behave.

Worked Example: Auditing Your Citation Surface

About thirty minutes of work, and it tells you which stage is actually failing instead of leaving you to guess.

Step 1: count the bots in your server logs

Run this over the last 30 days of access logs:

for ua in GPTBot OAI-SearchBot ChatGPT-User \
          ClaudeBot Claude-SearchBot Claude-User \
          PerplexityBot Perplexity-User Googlebot; do
  printf "%-18s %s\n" "$ua" "$(grep -c "$ua" access.log)"
done
What you seeWhat it means
Googlebot onlyYou are visible to AI Overviews and AI Mode, and to nothing else
Search bots present, zero user fetch agentsNobody is pasting your URLs into assistants yet. That is a demand problem, not a technical one
Training bots present, search bots at zeroCheck robots.txt. You have very likely blocked the door that matters
Nothing at all in 30 daysStart with indexing and basic crawlability. AI search is not your current problem

User agent strings are trivially spoofed, so if the number is going to drive a decision, confirm it by reverse DNS or against the IP ranges each vendor publishes.

Step 2: confirm the target pages are indexed

In Google Search Console, open Indexing, then Pages, then "Why pages aren't indexed." Check whether your target URLs are sitting under Discovered currently not indexed or Crawled currently not indexed. For AI Overviews and AI Mode this is pass or fail, because those surfaces read from the Search index and nowhere else.

Step 3: look for snippet controls you forgot about

Google documents that nosnippet, max-snippet and data-nosnippet apply to AI features as well as ordinary results. A max-snippet:20 added years ago to discourage scrapers, or a data-nosnippet wrapper left on a template's summary block, quietly removes the exact text you want quoted. Grep your templates and your robots meta tags for all three before you conclude your content is the problem.

Step 4: run a fixed prompt set

Write ten prompts a real customer would type. Run all ten in ChatGPT, Claude, Perplexity and Gemini on the same day, and record three columns: were you cited, which URL, and which competitor took the slot instead. That table is your baseline.

There is no report to check instead of doing this. Google has folded AI Mode data into the existing Search Console Performance totals rather than giving it a dedicated search type, and citations from ChatGPT, Claude and Perplexity never appear in Search Console at all. The hand run prompt set is the substitute, not a stopgap you will later swap for real reporting.

Measuring a change without fooling yourself

Use a 28 day baseline window and a 28 day change window, and hold back a control set of comparable pages you deliberately do not touch. The numbers that follow are an illustration, not results: if the baseline is 2 citations across 40 prompt runs and afterward it is 4 across 40, that is a move of two on a sample of forty, and you should treat it as noise.

At this sample size, signal means a change large enough to see without squinting, sustained across two consecutive measurement rounds, and absent from the control set. Assistants are also non-deterministic, so the same prompt can return different sources an hour apart. Run each prompt more than once per round or you are measuring the weather.

What None of This Changes

None of this is a route to a guaranteed citation. Every engine here can change its retrieval stack, its crawler names and its citation behavior without notice, which is why every vendor claim in this post links to a page you should re-check rather than take on trust.

It also has nothing to do with traffic volume, which is worth stating plainly given what we sell. SparkCliks provides search engine clicks and website visits through SERP Clicks, Sparky Traffic Bot and the Website Traffic and Realistic Traffic products. Those change what your analytics records about visits to your site. None of them put a page into a retrieval index, and no assistant consults your traffic numbers when deciding what to cite. Anyone selling AI citations as a traffic product is selling something they cannot deliver.

There is a real overlap, and it is worth describing precisely because it is usually overstated. The work that makes a passage citable, namely clear claims, honest dates and structure that survives extraction, is the same work that makes a search snippet worth clicking. That is a shared cause, not a causal link running from one to the other. Doing the first does not buy you the second.

Frequently asked questions

FAQ

Is how AI assistants pick sources the same in every engine?

No. All four run the same five stages: access, query expansion, retrieval, selection and attribution. The stage that blocks you differs by engine, which is why being cited by Perplexity and being cited by ChatGPT are different problems with different fixes.

How do I get my site cited by ChatGPT?

Allow OAI-SearchBot in robots.txt, get the page indexed and readable as plain HTML, and write the claim you want quoted as a single self contained sentence. There is no submission form and no paid placement for AI citation sources.

Does blocking GPTBot remove me from ChatGPT search results?

No. OpenAI documents GPTBot as the model training crawler and OAI-SearchBot as the agent behind ChatGPT's search results. Blocking GPTBot alone leaves your search visibility intact.

Does Google-Extended control whether I appear in AI Overviews?

No. Google's crawler documentation describes Google-Extended as a robots.txt control for Gemini apps and Vertex AI generative APIs, and states it does not affect inclusion in Google Search. AI Overviews and AI Mode are served from the index Googlebot builds.

Why does Perplexity cite more sources than ChatGPT?

Perplexity searches on nearly every query and attaches numbered citations inline while writing, so one answer can reference many pages. ChatGPT searches conditionally and attributes at a coarser level, leaving far fewer citation slots to win.

Does buying traffic or clicks help me get cited by AI assistants?

No. Retrieval runs on crawled and indexed content, not on visitor counts, and no assistant has access to your traffic figures. Treat any claim that paid traffic produces AI citations as false.

About the Author

Written by the SparkCliks Team. SparkCliks builds search click and website traffic services, which means we spend most of our working hours inside Search Console and analytics dashboards watching what search behavior does and does not move. We publish what we can verify against primary sources, and we say so plainly when something is contested, undocumented or simply unknown. Every vendor claim above links to that vendor's own documentation, and those pages change: check them before acting on anything here.

Keep reading

Related articles