How AI Models Actually Choose Which Brands to Cite
A technical teardown of the retrieval pipeline, and why the metric you should be tracking sits one step upstream of the one everyone talks about.
Ask ChatGPT, Claude, Gemini, or Perplexity for "the best project management tools for remote teams" and you get back a tidy list of four or five names. Someone made that list. Not a human editor, a pipeline. And the pipeline that produced it looks almost nothing like the Google ranking algorithm that most "AI SEO" advice is quietly still modeling in its head.
That mismatch is why so much guidance in this space turns into busy-work. It optimizes the wrong stage. This piece walks the actual mechanism end to end, then gives you a single reframing, Share of Retrieval, that shows where your visibility is really leaking and what to do about it.
If you take one thing away, make it this: a model cannot cite a page it never pulled into its context window. Everything else is downstream of that.
The mental model most people are running, and why it's wrong
The instinct carried over from a decade of SEO is that there's a big index, your page has a "rank" in it for a query, and if you improve the page you climb the rank and get more visibility. One query, one ranked list, one position to fight over.
Modern AI answers don't work that way, in three specific ways that matter.
There is no single query. When you ask an assistant a question, it usually doesn't search for your exact words. It rewrites your question into several sub-queries and runs them in parallel. "Best PM tools for remote teams" might fan out into "project management software remote work," then "async collaboration tools," then a couple of head-to-head comparisons. You are competing across a cloud of searches you never see.
There is no stable position either. Ask the same question twice and the retrieved sources, and the final list, can differ. Sampling temperature, query rewrites, and freshness all introduce variance. A screenshot of "we rank #2 in ChatGPT" is one sample from a distribution. It is not a ranking.
And the model reads a handful of sources, not an index. After retrieval and reranking, only a small set of passages actually enters the context the model writes from, often a few thousand tokens' worth. If your page isn't in that set, no amount of on-page optimization matters for that answer. You weren't outranked. You weren't in the room.
Hold onto that last point, because it carries the whole argument.
The pipeline, stage by stage
Here is what happens between the question and the answer in a retrieval-augmented system like ChatGPT Search, Perplexity, or Gemini's grounded mode. Implementations differ, but the shape is consistent.
1. Query interpretation and fan-out. The model decides whether it even needs to search, since many answers come straight from parametric memory, and if so, rewrites the user's prompt into one or more search queries. This step alone decides which race you're entered in. If customers describe their problem in language your content never uses, the fan-out generates queries your pages cannot match.
2. Retrieval. Each sub-query hits a search backend. Sometimes that's a traditional web index; ChatGPT uses provider-managed web retrieval, while Perplexity operates its own crawler and a provider-managed retrieval stack. Sometimes it's a vector store of embedded documents. Either way it returns a candidate set, tens to low hundreds of URLs per sub-query. This is the gate. Making it into the candidate set is a binary event, and it's the one most content strategies never measure.
3. Reranking. The candidate set is too large and too noisy to hand to the model whole. A reranker, often a cross-encoder that scores each passage against the query together rather than by embedding distance alone, cuts it down to the strongest few. Relevance to the specific sub-query dominates here, along with signals like source quality and how self-contained the passage is.
4. Chunk selection and context assembly. Retrieval and reranking operate on chunks, not whole pages. A long page gets split, and only the passages that survived reranking are stitched into the context window. A 4,000-word guide can be "retrieved" and still contribute a single paragraph. It's also why a page's structure changes what the model actually sees.
5. Synthesis and attribution. The model reads the assembled passages, writes an answer, and attaches citations to the sources it drew from. Attribution is not the same as retrieval. A source can sit in context and go uncited, and models sometimes state a fact from one source while citing a neighbor. The brands that get named are a subset of the sources that reached context, which are a subset of the candidate set, which are a subset of the pages that could have answered the question.
Read those subsets backward and you get a funnel.
The AI Visibility Funnel
Four stages sit between "your page exists" and "your brand is in the answer." Most advice only ever touches the third.
Retrievability → Candidacy → Citation → Attribution
Retrievability asks whether the engine can access and index your content at all. Crawlability, rendering (content that only appears after client-side JavaScript is a common silent failure), and presence in the indexes these engines actually pull from.
Candidacy asks whether, for a given customer prompt and its fan-out, your page enters the candidate set. This is Share of Retrieval. It's the highest-leverage stage and the least measured one.
Citation asks whether, once you're in context, the reranker and the model keep your passage as source material worth using. Self-containment, specificity, and information gain decide this.
Attribution asks whether the model actually names you in the visible answer, rather than absorbing your fact and citing someone else.
The value here is diagnostic. You want to know which stage you're losing at, because the fixes are unrelated. A retrievability failure is an engineering ticket. A candidacy failure is a content-coverage and third-party-presence problem. An attribution failure is about being the specific, quotable origin of a claim rather than one of ten pages repeating it. Treating all three with the same "add more FAQ schema" reflex is exactly why results come out inconsistent.
Share of Retrieval: the metric one step upstream
Most AI-visibility tracking measures share of voice, sometimes called share of model. Out of the answers to a set of prompts, how often does your brand get mentioned? That's a real outcome and worth tracking. But it's a lagging indicator. By the time it moves, the causes are several stages back and hard to attribute.
Share of Retrieval is the leading indicator. Across the sub-queries your target prompts fan out into, what fraction of candidate sets does your content appear in, before reranking, before synthesis, before the model decides who to name?
Three reasons it's the better lever.
It's causally upstream. You cannot be cited from a candidate set you never entered. Retrieval is the necessary condition, and citation and attribution are refinements layered on top of it. Fix retrieval and the downstream stages at least become possible.
It's less noisy. Final answers swing from run to run because generation is sampled. Whether your URL shows up in retrieval for a given query is far more stable, so it's a cleaner signal to optimize against.
And it separates two very different problems. High Share of Retrieval with a low citation rate means your content is being seen and passed over, which is a quality and specificity problem. Low Share of Retrieval means nothing on the page matters yet, because you have a coverage and distribution problem. One number tells you which conversation to have.
The distance between the pages that could answer a query and the ones the engine actually retrieves is what we call the Retrieval Gap. Closing it is usually where the largest visibility gains hide, and almost nobody is looking there, because the popular tools only show the final answer.
What the research actually says, and what it doesn't
The most-cited study in this field is the Princeton and IIT Delhi paper GEO: Generative Engine Optimization (Aggarwal et al., 2023). It's worth reading rather than repeating secondhand, because the secondhand version is usually wrong.
The researchers built GEO-Bench, a set of 10,000 queries across roughly 25 domains, and tested nine ways of rewriting a source to see which raised its visibility in a generated answer. The headline that traveled was "up to 40% more visibility." The parts that didn't travel are the useful ones.
The methods that worked were adding citations, adding statistics, and adding direct quotations. Improving fluency helped too. Quotation and statistic additions produced the largest gains in their tests. On Perplexity, adding statistics improved a subjective-impression metric by roughly a third.
Keyword stuffing, the reflex from classic SEO, did nothing or slightly hurt. Nothing else in the paper signals as plainly that AI search is not a re-skin of Google.
The effects are domain-dependent, which the "just add statistics" crowd tends to skip. Citations helped most on factual queries. An authoritative tone helped on debate and historical questions. Statistics helped most in law, government, and opinion content. There is no universal tweak, and "add statistics" is bad advice for a query type where statistics aren't what the answer needs.
Lower-ranked sources benefited most, some by over 100%. The mechanism appears to reward relative information gain, which behaves very differently from link-authority dynamics.
Notice what these methods have in common. Every one of them is a content-quality intervention that improves your odds at the citation stage, once you are already in context. The paper is nearly silent on getting into the candidate set in the first place, because its setup mostly holds retrieval fixed. None of that faults the paper. It simply marks the boundary of what the study set out to measure. Most people apply its findings as if they covered the whole funnel. They cover one stage of it.
Two patterns from practitioner data are worth folding in, with the caveat that they're correlational. Verify them on your own category rather than taking them as laws.
Third-party pages such as comparisons, reviews, and forum threads frequently carry brand mentions into AI answers, but the share varies by category and engine. Your Citation Surface, in other words, is bigger than your website and often more decisive than it. Passage length matters too: self-contained text is easier to retrieve than the same information buried in long, unbroken prose, because rerankers score chunks rather than whole pages. Write chunks that stand on their own.
Measure your own Share of Retrieval
You don't need a vendor to get a first read on this. You need the prompts your customers actually use, a way to see what each engine retrieves, and the discipline to sample more than once. Here is a minimal method.
Step 1. Build a prompt set, not a keyword list. Collect 30 to 100 real questions a buyer would ask on the way to your category. Phrase them the way a person types into an assistant ("what's the best X for Y"), and include comparisons and problem-framed versions like "how do I stop Z happening." This is your slice of prompt-space.
Step 2. Capture what gets retrieved, not just the answer. Perplexity and ChatGPT Search both expose the sources they used. The Perplexity API returns citation URLs directly, which makes it the easiest place to start. In pseudocode:
import requests
PROMPTS = [...] # your 30-100 buyer questions
YOUR_DOMAINS = {"yourbrand.com"}
def retrieved_sources(prompt):
# Call an engine that returns the sources it retrieved.
# Perplexity's API returns citations; ChatGPT Search surfaces
# its sources in the UI you can capture. Return a list of URLs.
resp = call_engine(prompt)
return [normalize_domain(u) for u in resp["citations"]]
def share_of_retrieval(prompts, runs=5):
hits, total = 0, 0
for p in prompts:
for _ in range(runs): # sample, to handle variance
sources = set(retrieved_sources(p))
total += 1
if sources & YOUR_DOMAINS:
hits += 1
return hits / total # fraction of runs you appeared inStep 3. Sample, because one run lies. Run each prompt at least a handful of times. The point is to see the variance, not to hide it. If your appearance rate for a prompt is five out of five, that's real presence. One out of five is a coin flip you would otherwise misread as a win or a loss depending on which screenshot you happened to take.
Step 4. Split the two numbers. For each prompt, track "appeared in sources" separately from "named in the answer." The ratio between them is your citation efficiency. High retrieval with low naming means your content is in the room and losing the argument, which is a specificity and information-gain problem you fix on the page. Low retrieval means you're not in the room, which is a coverage and Citation-Surface problem you fix off-site.
That split is the entire diagnostic. It's also, not by accident, the thing a dedicated tool like shareof.ai automates across models, regions, and time, so you're watching a trend line instead of collecting screenshots. You can prove the concept to yourself in an afternoon with the sketch above.
What to actually do, by stage
Once you know where you're losing, the work gets specific.
If you're losing at retrievability, confirm the engines can fetch and parse your pages. Server-render anything important, since content that only appears after client-side JavaScript is frequently invisible to the crawlers feeding these systems. Check that you're present in the indexes each engine draws on, rather than assuming your Google coverage carries over.
If you're losing at candidacy, meaning low Share of Retrieval, the cause is usually a coverage gap or a distribution gap. Coverage means your content doesn't exist for the sub-queries the fan-out generates, often because it's written in your brand's language instead of the customer's problem language. Distribution means you're absent from the third-party pages that make up most of the Citation Surface: the "best X" listicles, the review sites, the community threads the models lean on. Getting accurately represented on those pages tends to move visibility more than anything on your own domain.
If you're losing at citation, you're retrieved but passed over. Make passages self-contained and specific. Be the origin of a concrete claim, a number you measured or a definition you wrote, rather than the tenth page repeating a common one. The Princeton results point the same way: quotable, cited, statistic-backed passages get used.
If you're losing at attribution, you're in context but unnamed. This is the hardest to move and the least worth obsessing over early. It tends to improve on its own as you become the distinctive source of a claim instead of an interchangeable one.
The uncomfortable part
Most of what decides whether AI recommends your brand happens before your content is ever read, and a good deal of it happens on pages you don't own. The discomfort is the point. It means the highest-leverage work usually isn't on your homepage at all. It lives in coverage of the questions customers actually ask, and in presence across the surface of pages the models trust. Those are slower and less controllable projects than adding schema markup. They're also the ones that compound.
Track the outcome, by all means. Share of voice tells you whether you're winning. But if you want to know why, and what to do next, watch the number one step upstream. You can't be chosen from a set you never entered.
Sources and further reading
- Aggarwal et al., GEO: Generative Engine Optimization, Princeton and IIT Delhi (arXiv:2311.09735). The foundational study; GEO-Bench methodology and per-method, per-domain results.
- Practitioner analyses of LLM citation signals: branded-search correlation, source age, third-party-page share, passage length. Treat these as correlational and validate them on your own category.
- Retrieval-augmented generation primers on chunking, embedding retrieval, and cross-encoder reranking, for the mechanics behind stages 2 through 4.
Methodology note: the appearance-rate figures you generate with the method above are specific to your prompt set, the engines you test, and the week you test them. Re-run on a schedule. A point estimate in a system this variable is a screenshot, not a measurement.
Primary sources and evidence
- GEO: Generative Engine Optimization (Aggarwal et al.) — the original paper and benchmark.
- Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks — the foundational RAG paper.
- Web search in the OpenAI API — current search-tool behavior and citations.
- OpenAI web crawlers — official user-agent controls for search and training.
Continue through the system
- Share of Voice vs Share of Model vs Share of Retrieval
- The AI Visibility Funnel: A Diagnostic for Where You're Losing Citations
- Map Your Citation Surface: Every Page Where AI Can Find You
Run the practical layer with the free AI visibility scan, explore the AI search library, or see the AI visibility benchmarks.