MCP

New

How AI Citations Work: What Makes LLMs Quote One Source Over Another

Written By

Written By

Written By

Chetan Parmar

Chetan Parmar

Chetan Parmar

Published on

Published on

Published on

Open ChatGPT, ask it to shortlist vendors in your category, and read the citation panel instead of the answer. Run that ten times and a pattern shows up fast: the sources doing the work are usually pages you do not own. A directory, a comparison post on somebody's blog, a Reddit thread, a review site, occasionally a competitor's documentation.

How AI citations work is a retrieval problem before it is a content problem, and that ordering is the whole reason your last twelve posts did not move anything. The model never made a judgement about your writing quality. It never saw your page.

Start at retrieval, because that is where AI citations are decided

Every AI answer engine that cites sources runs some version of the same pipeline. The names differ, the implementations differ, the ranking models are proprietary. The shape stays consistent because the constraints are physical: a context window has a limit, latency has a budget, and a synthesis step can only reason over documents that were handed to it.

Six stages, in order.

Stage

What happens

What gets you killed here

1. Interpretation and fan-out

The prompt is rewritten into several underlying search queries

Your page targets the head keyword, not the subqueries

2. Candidate pool retrieval

A search index returns a short list of documents

Your domain is not in that index, or the fetcher is blocked

3. Fetch and parse

Pages are pulled, stripped and split into chunks

Content renders client-side, or the parse produces mush

4. Passage selection

Chunks are scored for relevance to each subquery

Your answer is spread across three sections and one PDF

5. Grounding and corroboration

Claims are assembled, agreement across sources matters

Only your own site makes the claim

6. Citation attachment

Specific sentences get linked to specific sources

You were read, paraphrased, and not credited

Look at what stages 1 through 3 have in common. No quality signal at all. Nothing about your expertise, your structure or your brand gets evaluated until stage 4.

So the diagnosis order is not the pipeline order. Work stage 2 first, because it is binary: you are either in the candidate pool or you are not.

Check whether your pages are even eligible to enter the candidate pool

Most brands lose the citation before a single quality signal is scored.

Eligibility runs on several controls, and they behave differently. ChatGPT's search behaviour has drawn on a third-party web index alongside its own retrieval, which means a page that Bing has never indexed can be invisible to it no matter how well it performs in Google. OpenAI documents three separate agents with distinct jobs: GPTBot for training, OAI-SearchBot for building the search index, and ChatGPT-User for fetching a page live when a user's question requires it. Blocking one and allowing the others produces very different outcomes. Plenty of robots.txt files written in 2023 blocked all of them by reflex.

Google's side has its own trap. Google-Extended controls Gemini app grounding and training, and toggling it does not remove you from AI Overviews, because AI Overviews are built on the standard Search index. The controls that do affect AI Overview usage are the snippet directives: nosnippet, max-snippet, data-nosnippet. A legal or brand team that added nosnippet to reduce scraping exposure has, in practice, also opted the page out of being quoted.

Then there is the layer above your CMS. Cloudflare began blocking AI crawlers by default for new domains in July 2025, with an explicit permission model for AI companies. If your infrastructure team enabled that, or if your WAF is rate-limiting an unfamiliar user agent, your content strategy is arguing with a firewall and losing quietly.

Check server logs before anything else. Filter for OAI-SearchBot, ChatGPT-User, PerplexityBot, ClaudeBot and Googlebot over the last thirty days. If a user agent never appears, or appears and receives 403s, nothing downstream in this guide matters yet.

Map the fan-out subqueries your page has to answer

Google has publicly described query fan-out as a core mechanism in AI Mode: the prompt is decomposed into multiple related searches, run in parallel, and the results are synthesised. Other engines do a version of the same thing when a prompt is broad or comparative.

This breaks the mental model most content teams still use. You wrote a page to rank for a query. That page now has to survive being matched against six or eight queries you never chose, generated on the fly from a prompt nobody typed into a keyword tool.

Take a real buyer prompt in your category. Something like "which API security vendors work best for a company running mostly internal microservices." The fan-out under that probably includes vendor lists, pricing model comparisons, microservices-specific deployment questions, and a "who is best for mid-market" style query. Your product page answers roughly none of them.

The exercise is mechanical. Write out the fifteen prompts a buyer would realistically type, and for each list the three to six subqueries a decomposition step would plausibly produce.

Then check which of those subqueries any page you own answers directly, in one place, without the reader assembling it. The unanswered ones are your actual content gaps. They look nothing like a keyword gap report.

Score your passages instead of your pages

Retrieval systems do not hand a model your page. They hand it fragments. The document is split into chunks, each chunk is embedded and scored, and the winning chunks travel into the context window on their own, detached from the header, the nav, the hero section and the paragraph three screens up that defined the acronym you keep using.

That detachment is the single most underrated fact about AI source selection. A passage that reads perfectly in context can be useless out of it.

Symptoms of a page that chunks badly:

  • The answer to a question is split across a heading, a sentence, and a table further down the page

  • Pronouns carry the meaning, so the chunk says "it typically takes four weeks" with no antecedent

  • The specific claim sits in an image, a chart, or a JavaScript-rendered tab

  • The comparison a buyer needs exists as prose across five paragraphs instead of a labelled table

More words will not fix this. Take each subquery from the previous stage and make sure one self-contained block on the page answers it: a heading that states the question the way a person asks it, then two to four sentences that resolve it completely, naming the entities in full and carrying their own numbers. Cut that block out, paste it into an empty document, and it should still read as a correct and quotable answer.

Earn corroboration from sources you do not control

Stage five is where vendor pages lose to third-party pages, and the reason is structural rather than punitive.

Mechanically, a model assembling a recommendation from several retrieved documents has no basis for preferring the claim a company makes about itself over the same claim appearing in a source with no stake in it. When two independent documents agree, the synthesis step has cheaper grounding. When one document is the only place a claim exists, the safe move is to attribute it or drop it. The citation patterns visible in AI answers across most B2B categories line up with that, which is why directories, comparison posts, community threads and analyst-style roundups keep showing up in the source panel.

You cannot write your way onto those pages from your own domain. A few things do compound: accurate, current entries on the listing and review sites that already rank for your category terms; data or definitions specific enough that other writers cite them by name; and answers to questions where your buyers actually ask them, in communities, with an account that discloses who you work for.

The measurable version of this is a citation source analysis. Pull the domains that appear in AI answers for your category prompts, sort by frequency, and treat the top twenty as a target list. The load-bearing third-party sources in a category tend to be a short list, and you will be absent from several of them.

Separate being retrieved from being cited, because they are different events

Your page can be fetched, parsed, chunked, scored and used to write the answer, and still receive no link. Attribution is a separate step that runs after synthesis, mapping generated sentences back to supporting sources. A sentence assembled from four documents may attach to one, or to none.

This matters for how you write. Sentences that state one falsifiable thing, with the entity named and the number attached, are easy to attribute. Sentences that gesture at a general idea get absorbed into the model's own prose and vanish. The passage that earns LLM citations is usually the one carrying a specific figure, a defined term, or a clear conditional claim.

It also matters for how you measure. Count only linked mentions and you undercount your influence on the answer. Count only brand mentions in the answer text and you overcount, because being named once inside a list of nine is not the same as being the source the answer was built from. You need both numbers, and they move independently. A practical way to separate those is to track LLM brand mentions alongside cited URLs.

But we rank first on Google, so why does the model quote somebody else

Partly because ranking first is predictive and partly because it is not sufficient. The gap between those two is where the frustration lives.

Position one gives you a strong shot at entering the candidate pool for the queries you rank for. It does nothing for the subqueries generated by fan-out that you never targeted. It does nothing if the passage that ranks is a well-optimised introduction rather than a self-contained answer.

It does nothing on ChatGPT if the underlying index is not Google's. And it does nothing at stage five, where a first-place vendor page still loses corroboration weight to a third-party list that mentions you and four competitors.

The honest read: your rankings are an asset here, and teams with strong organic performance usually have a shorter path to AI citations than teams starting cold. The work is different work, though. You are converting pages that rank into pages that quote cleanly, and building presence on domains you do not own. Neither of those shows up in a rank tracker. The shift is closer to GEO ≠ SEO than most teams assume.

Spot the three places the pipeline breaks silently

These fail without an error message, which is why they persist for quarters.

Infrastructure blocks are usually introduced by someone who does not sit in marketing. A security review, a bot-management default, a CDN rule change. Organic traffic is unaffected, so nothing alerts. The tell is a specific engine going quiet while others hold steady.

Consolidation damage is harder to see. You merge four thin posts into one strong pillar page, organic rankings improve, and AI citations drop.

What happened is that four tightly focused documents, each matching a subquery cleanly, became one long document where the relevant passage now competes with every other topic on the page for retrieval scoring. Consolidation is good SEO practice and it can be bad passage architecture. Both are true at once.

Corroboration decay is the quietest of the three. A roundup post that used to include you was updated and you were cut. A directory listing went stale. Nothing on your site changed, your visibility fell anyway, and every internal audit looks clean because the problem sits on a domain you do not control.

Verify a win at the passage level before you scale the tactic

AI answers are not deterministic. Ask the same question twice and you can get different sources. Anyone who declares victory from a single prompt on a single day is reading noise.

A verification that holds up looks like this:

  1. Fix a prompt set of thirty to fifty queries covering the subqueries you mapped, and freeze it before you change anything.

  2. Record a baseline across each engine separately, capturing both whether the brand is named and which URLs are cited, run more than once to see the variance.

  3. Change one thing on one page. Rewrite a section into a self-contained answer block, or fix a chunking problem, and leave the rest of the site alone.

  4. Re-run the same prompt set after the engines have had time to re-fetch, and compare citation counts on that specific URL rather than overall brand mentions.

The signal you want is the cited passage matching the passage you rewrote. When you see that, you have learned something transferable and can apply it across a content type. When brand mentions rise but the cited URLs are all third-party, you learned something different and more useful: your corroboration improved and your own pages still are not quotable.

Run one page through all six stages this week

Pick your single most commercially important page and take it through the pipeline in order.

  • Pull thirty days of server logs and confirm OAI-SearchBot, ChatGPT-User, PerplexityBot and ClaudeBot are reaching it with 200 responses, then check for nosnippet and max-snippet directives that opt you out of being quoted.

  • Write the eight to twelve subqueries a fan-out step would generate from the two buyer prompts that page should own, and mark the ones the page does not answer in a self-contained block.

  • Rewrite the two weakest sections into standalone answers with the entities named in full and the numbers inside the same paragraph as the claim.

  • List the third-party domains already cited for those prompts and pick the two where an accurate entry is missing.

Want to see which pages on your own domain are being cited today, and which third-party sources are carrying your category? We run a free discovery call. No pitch, and no obligation to buy anything.

We are LLMLab (also written LLM Labs). We help B2B brands get recommended by AI assistants across ChatGPT, Google AI Overview, Gemini and Claude.

Frequently Asked Questions

Do AI engines cite the same sources every time for the same question?

No. Retrieval and generation both carry variance, so the same prompt can return different sources across runs and across days. Treat any single answer as one sample. Judging performance requires a fixed prompt set, repeated runs, and comparison over weeks rather than a screenshot.

How long after publishing can a page start earning AI citations?

It depends on the indexing path rather than the content. A page has to be crawled by the relevant agent and enter the underlying search index before it can be retrieved at all, and that timing differs by engine. Pages on domains that are crawled frequently move faster, which is why refreshing a strong existing URL often produces results sooner than publishing a new one.

Does schema markup help with ChatGPT citations?

Schema helps parsing and disambiguation, which sits at stage three of the pipeline, and it makes entity relationships explicit for engines built on search indexes that consume structured data. It will not rescue a page that is blocked, unindexed, or written in passages that fall apart when detached from their context. Treat it as hygiene rather than as the lever.

Should we block AI crawlers to protect our content?

That is a real strategic choice, and it has a cost that is often invisible when the decision is made. Blocking training crawlers while allowing search and user-triggered fetchers is a middle position several publishers have taken. What matters is that whoever owns robots.txt and the CDN rules knows which agent does which job, because blocking the search crawler removes you from consideration entirely.

Can we get cited without any third-party mentions at all?

Sometimes, for questions where you are the primary source: your own documentation, original data, product-specific queries. For comparative and recommendation prompts, corroboration from sources you do not control does most of the work, because a synthesis step has no reason to weight a vendor's self-description above an independent one. Plan for both paths rather than only the one you control.

Open ChatGPT, ask it to shortlist vendors in your category, and read the citation panel instead of the answer. Run that ten times and a pattern shows up fast: the sources doing the work are usually pages you do not own. A directory, a comparison post on somebody's blog, a Reddit thread, a review site, occasionally a competitor's documentation.

How AI citations work is a retrieval problem before it is a content problem, and that ordering is the whole reason your last twelve posts did not move anything. The model never made a judgement about your writing quality. It never saw your page.

Start at retrieval, because that is where AI citations are decided

Every AI answer engine that cites sources runs some version of the same pipeline. The names differ, the implementations differ, the ranking models are proprietary. The shape stays consistent because the constraints are physical: a context window has a limit, latency has a budget, and a synthesis step can only reason over documents that were handed to it.

Six stages, in order.

Stage

What happens

What gets you killed here

1. Interpretation and fan-out

The prompt is rewritten into several underlying search queries

Your page targets the head keyword, not the subqueries

2. Candidate pool retrieval

A search index returns a short list of documents

Your domain is not in that index, or the fetcher is blocked

3. Fetch and parse

Pages are pulled, stripped and split into chunks

Content renders client-side, or the parse produces mush

4. Passage selection

Chunks are scored for relevance to each subquery

Your answer is spread across three sections and one PDF

5. Grounding and corroboration

Claims are assembled, agreement across sources matters

Only your own site makes the claim

6. Citation attachment

Specific sentences get linked to specific sources

You were read, paraphrased, and not credited

Look at what stages 1 through 3 have in common. No quality signal at all. Nothing about your expertise, your structure or your brand gets evaluated until stage 4.

So the diagnosis order is not the pipeline order. Work stage 2 first, because it is binary: you are either in the candidate pool or you are not.

Check whether your pages are even eligible to enter the candidate pool

Most brands lose the citation before a single quality signal is scored.

Eligibility runs on several controls, and they behave differently. ChatGPT's search behaviour has drawn on a third-party web index alongside its own retrieval, which means a page that Bing has never indexed can be invisible to it no matter how well it performs in Google. OpenAI documents three separate agents with distinct jobs: GPTBot for training, OAI-SearchBot for building the search index, and ChatGPT-User for fetching a page live when a user's question requires it. Blocking one and allowing the others produces very different outcomes. Plenty of robots.txt files written in 2023 blocked all of them by reflex.

Google's side has its own trap. Google-Extended controls Gemini app grounding and training, and toggling it does not remove you from AI Overviews, because AI Overviews are built on the standard Search index. The controls that do affect AI Overview usage are the snippet directives: nosnippet, max-snippet, data-nosnippet. A legal or brand team that added nosnippet to reduce scraping exposure has, in practice, also opted the page out of being quoted.

Then there is the layer above your CMS. Cloudflare began blocking AI crawlers by default for new domains in July 2025, with an explicit permission model for AI companies. If your infrastructure team enabled that, or if your WAF is rate-limiting an unfamiliar user agent, your content strategy is arguing with a firewall and losing quietly.

Check server logs before anything else. Filter for OAI-SearchBot, ChatGPT-User, PerplexityBot, ClaudeBot and Googlebot over the last thirty days. If a user agent never appears, or appears and receives 403s, nothing downstream in this guide matters yet.

Map the fan-out subqueries your page has to answer

Google has publicly described query fan-out as a core mechanism in AI Mode: the prompt is decomposed into multiple related searches, run in parallel, and the results are synthesised. Other engines do a version of the same thing when a prompt is broad or comparative.

This breaks the mental model most content teams still use. You wrote a page to rank for a query. That page now has to survive being matched against six or eight queries you never chose, generated on the fly from a prompt nobody typed into a keyword tool.

Take a real buyer prompt in your category. Something like "which API security vendors work best for a company running mostly internal microservices." The fan-out under that probably includes vendor lists, pricing model comparisons, microservices-specific deployment questions, and a "who is best for mid-market" style query. Your product page answers roughly none of them.

The exercise is mechanical. Write out the fifteen prompts a buyer would realistically type, and for each list the three to six subqueries a decomposition step would plausibly produce.

Then check which of those subqueries any page you own answers directly, in one place, without the reader assembling it. The unanswered ones are your actual content gaps. They look nothing like a keyword gap report.

Score your passages instead of your pages

Retrieval systems do not hand a model your page. They hand it fragments. The document is split into chunks, each chunk is embedded and scored, and the winning chunks travel into the context window on their own, detached from the header, the nav, the hero section and the paragraph three screens up that defined the acronym you keep using.

That detachment is the single most underrated fact about AI source selection. A passage that reads perfectly in context can be useless out of it.

Symptoms of a page that chunks badly:

  • The answer to a question is split across a heading, a sentence, and a table further down the page

  • Pronouns carry the meaning, so the chunk says "it typically takes four weeks" with no antecedent

  • The specific claim sits in an image, a chart, or a JavaScript-rendered tab

  • The comparison a buyer needs exists as prose across five paragraphs instead of a labelled table

More words will not fix this. Take each subquery from the previous stage and make sure one self-contained block on the page answers it: a heading that states the question the way a person asks it, then two to four sentences that resolve it completely, naming the entities in full and carrying their own numbers. Cut that block out, paste it into an empty document, and it should still read as a correct and quotable answer.

Earn corroboration from sources you do not control

Stage five is where vendor pages lose to third-party pages, and the reason is structural rather than punitive.

Mechanically, a model assembling a recommendation from several retrieved documents has no basis for preferring the claim a company makes about itself over the same claim appearing in a source with no stake in it. When two independent documents agree, the synthesis step has cheaper grounding. When one document is the only place a claim exists, the safe move is to attribute it or drop it. The citation patterns visible in AI answers across most B2B categories line up with that, which is why directories, comparison posts, community threads and analyst-style roundups keep showing up in the source panel.

You cannot write your way onto those pages from your own domain. A few things do compound: accurate, current entries on the listing and review sites that already rank for your category terms; data or definitions specific enough that other writers cite them by name; and answers to questions where your buyers actually ask them, in communities, with an account that discloses who you work for.

The measurable version of this is a citation source analysis. Pull the domains that appear in AI answers for your category prompts, sort by frequency, and treat the top twenty as a target list. The load-bearing third-party sources in a category tend to be a short list, and you will be absent from several of them.

Separate being retrieved from being cited, because they are different events

Your page can be fetched, parsed, chunked, scored and used to write the answer, and still receive no link. Attribution is a separate step that runs after synthesis, mapping generated sentences back to supporting sources. A sentence assembled from four documents may attach to one, or to none.

This matters for how you write. Sentences that state one falsifiable thing, with the entity named and the number attached, are easy to attribute. Sentences that gesture at a general idea get absorbed into the model's own prose and vanish. The passage that earns LLM citations is usually the one carrying a specific figure, a defined term, or a clear conditional claim.

It also matters for how you measure. Count only linked mentions and you undercount your influence on the answer. Count only brand mentions in the answer text and you overcount, because being named once inside a list of nine is not the same as being the source the answer was built from. You need both numbers, and they move independently. A practical way to separate those is to track LLM brand mentions alongside cited URLs.

But we rank first on Google, so why does the model quote somebody else

Partly because ranking first is predictive and partly because it is not sufficient. The gap between those two is where the frustration lives.

Position one gives you a strong shot at entering the candidate pool for the queries you rank for. It does nothing for the subqueries generated by fan-out that you never targeted. It does nothing if the passage that ranks is a well-optimised introduction rather than a self-contained answer.

It does nothing on ChatGPT if the underlying index is not Google's. And it does nothing at stage five, where a first-place vendor page still loses corroboration weight to a third-party list that mentions you and four competitors.

The honest read: your rankings are an asset here, and teams with strong organic performance usually have a shorter path to AI citations than teams starting cold. The work is different work, though. You are converting pages that rank into pages that quote cleanly, and building presence on domains you do not own. Neither of those shows up in a rank tracker. The shift is closer to GEO ≠ SEO than most teams assume.

Spot the three places the pipeline breaks silently

These fail without an error message, which is why they persist for quarters.

Infrastructure blocks are usually introduced by someone who does not sit in marketing. A security review, a bot-management default, a CDN rule change. Organic traffic is unaffected, so nothing alerts. The tell is a specific engine going quiet while others hold steady.

Consolidation damage is harder to see. You merge four thin posts into one strong pillar page, organic rankings improve, and AI citations drop.

What happened is that four tightly focused documents, each matching a subquery cleanly, became one long document where the relevant passage now competes with every other topic on the page for retrieval scoring. Consolidation is good SEO practice and it can be bad passage architecture. Both are true at once.

Corroboration decay is the quietest of the three. A roundup post that used to include you was updated and you were cut. A directory listing went stale. Nothing on your site changed, your visibility fell anyway, and every internal audit looks clean because the problem sits on a domain you do not control.

Verify a win at the passage level before you scale the tactic

AI answers are not deterministic. Ask the same question twice and you can get different sources. Anyone who declares victory from a single prompt on a single day is reading noise.

A verification that holds up looks like this:

  1. Fix a prompt set of thirty to fifty queries covering the subqueries you mapped, and freeze it before you change anything.

  2. Record a baseline across each engine separately, capturing both whether the brand is named and which URLs are cited, run more than once to see the variance.

  3. Change one thing on one page. Rewrite a section into a self-contained answer block, or fix a chunking problem, and leave the rest of the site alone.

  4. Re-run the same prompt set after the engines have had time to re-fetch, and compare citation counts on that specific URL rather than overall brand mentions.

The signal you want is the cited passage matching the passage you rewrote. When you see that, you have learned something transferable and can apply it across a content type. When brand mentions rise but the cited URLs are all third-party, you learned something different and more useful: your corroboration improved and your own pages still are not quotable.

Run one page through all six stages this week

Pick your single most commercially important page and take it through the pipeline in order.

  • Pull thirty days of server logs and confirm OAI-SearchBot, ChatGPT-User, PerplexityBot and ClaudeBot are reaching it with 200 responses, then check for nosnippet and max-snippet directives that opt you out of being quoted.

  • Write the eight to twelve subqueries a fan-out step would generate from the two buyer prompts that page should own, and mark the ones the page does not answer in a self-contained block.

  • Rewrite the two weakest sections into standalone answers with the entities named in full and the numbers inside the same paragraph as the claim.

  • List the third-party domains already cited for those prompts and pick the two where an accurate entry is missing.

Want to see which pages on your own domain are being cited today, and which third-party sources are carrying your category? We run a free discovery call. No pitch, and no obligation to buy anything.

We are LLMLab (also written LLM Labs). We help B2B brands get recommended by AI assistants across ChatGPT, Google AI Overview, Gemini and Claude.

Frequently Asked Questions

Do AI engines cite the same sources every time for the same question?

No. Retrieval and generation both carry variance, so the same prompt can return different sources across runs and across days. Treat any single answer as one sample. Judging performance requires a fixed prompt set, repeated runs, and comparison over weeks rather than a screenshot.

How long after publishing can a page start earning AI citations?

It depends on the indexing path rather than the content. A page has to be crawled by the relevant agent and enter the underlying search index before it can be retrieved at all, and that timing differs by engine. Pages on domains that are crawled frequently move faster, which is why refreshing a strong existing URL often produces results sooner than publishing a new one.

Does schema markup help with ChatGPT citations?

Schema helps parsing and disambiguation, which sits at stage three of the pipeline, and it makes entity relationships explicit for engines built on search indexes that consume structured data. It will not rescue a page that is blocked, unindexed, or written in passages that fall apart when detached from their context. Treat it as hygiene rather than as the lever.

Should we block AI crawlers to protect our content?

That is a real strategic choice, and it has a cost that is often invisible when the decision is made. Blocking training crawlers while allowing search and user-triggered fetchers is a middle position several publishers have taken. What matters is that whoever owns robots.txt and the CDN rules knows which agent does which job, because blocking the search crawler removes you from consideration entirely.

Can we get cited without any third-party mentions at all?

Sometimes, for questions where you are the primary source: your own documentation, original data, product-specific queries. For comparative and recommendation prompts, corroboration from sources you do not control does most of the work, because a synthesis step has no reason to weight a vendor's self-description above an independent one. Plan for both paths rather than only the one you control.

Get a free AI Visibility report

Get a free AI Visibility report

Get a free AI Visibility report

Free AI Visibility report on how your brand appear in

ChatGPT and Google AI Overview

Free AI Visibility report on how your brand appear in ChatGPT and Google AI Overview