TL;DR: A fan-out query is what an AI engine actually searches after it reads your prompt. It splits one question into a handful of narrower sub-queries, retrieves pages for each, then writes a single answer. Your AEO tracking tool watches the prompt you typed. It does not watch the sub-queries the model ran. That gap is why pages that "rank" for a tracked prompt still get left out of the answer.
What a fan-out query is
Ask a real question in Perplexity, Google's AI Mode, or ChatGPT with search. None of them simply run your exact words. Each one breaks your question into two, three, sometimes five narrower searches, pulls pages for each, and synthesizes the result into a single response.
Google described this behavior as "query fan-out" when it introduced AI Mode. The label is Google's. The behavior is not unique to Google. Any retrieval-augmented engine does some version of it, because a single broad question is a bad search query and a good answer needs more than one source.
So when a buyer asks ChatGPT "what's the best AEO agency for a B2B SaaS company," the model does not go looking for a page titled "best AEO agency for B2B SaaS." It fans the question out into things like "what does an AEO agency do," "how do SaaS companies get cited in ChatGPT," and "AEO agency pricing and results." Then it retrieves against those.
You optimized for the question. The model retrieved for the sub-questions. Those are not the same documents.
Why your tracked-prompt list is incomplete
Here is the part most teams miss. Your AEO tool, Peec, Profound, whatever you run, tracks the parent prompt. It tells you whether you showed up when someone asked the question you are tracking. It does not tell you which sub-queries the model fanned that question into, and it does not tell you whether your pages matched any of them.
That is not a flaw in the tool. It is what the tool is for. These platforms query the model from the outside and estimate your visibility statistically. Useful for brand monitoring. Limited as a content roadmap, because they report the outcome rather than the retrieval path that produced it.
The fix is to stop asking the model what it cites and start asking your own server what arrived. Every time an AI engine runs a fan-out and fetches a page, that fetch lands in your logs. Cloudflare's AI crawl data, your CDN logs, your server logs: those are direct observation of which URLs the bots pulled when assembling an answer. Deterministic. Free. Yours. The probability tool tells you "you're at 6% visibility on this prompt." The logs tell you "GPTBot fetched these four pages in the last hour." One is a guess about the answer. The other is the answer's raw material.
Run both. The probability tool tracks brand visibility over time. The logs feed the roadmap.
A worked example
Take one prompt off your tracked list. We will use a real one we watch: "best agency for getting cited in ChatGPT."
Fanned out, that question becomes roughly:
- "what does it mean to get cited in ChatGPT" (definitional)
- "how do you get a company cited in AI search" (process)
- "agencies that do AEO or generative engine optimization for SaaS" (commercial)
Now check your own site against each one. Most teams have a single page built to win the parent prompt, a listicle or a service page. That page might answer the commercial sub-query. It almost never answers the definitional one or the process one, because those felt too "top of funnel" to bother with.
The model needed three answers. You supplied one. A competitor who published a clean "how do you get cited in ChatGPT" explainer just took the sub-query you skipped, and the model stitched their page into the same answer you were trying to win.
The prompt was never the unit of work. The fan-out is.
How to map your fan-outs
Three methods, cheapest to most reliable.
Stress-test the prompt by hand. Run your tracked prompt in Perplexity and watch the sub-queries it shows as it works. Perplexity exposes those steps directly. Google's AI Mode shows the sources it considered, which lets you infer the branches it took. ChatGPT hides the actual sub-queries it runs, so read the set of sources it cites and work backward to the questions those pages answer. Ten minutes per prompt, no tooling beyond the engines themselves. If you have no tracked prompt list yet, build one manually first.
Pull per-prompt research. For each tracked prompt, generate the likely fan-out set and see which competitor URLs are already being cited for each branch. This is where a tool earns its keep: not for the visibility score, but for surfacing which sub-queries exist and who owns them.
Read your logs. This is the ground truth. The pages AI bots actually fetch, in the minutes after a class of prompts gets popular, are the fan-out made visible. No estimation. If GPTBot pulled a page, that page matched a real sub-query for a real answer. We already run Cloudflare's AI crawl logs, so the dataset already exists. Most teams own this data and never look at it.
What to do once you have the map
Match the fan-out at the citation surface, not in the body.
Models extract citable answers from the top of a page. What sits below the fold rarely gets pulled. Glasp studied 400,000 pages and found the frequently-cited ones led with a tight summary: a TL;DR around 130 characters, two sentences, opening with the entity and a plain descriptive verb. Rarely-cited pages had throwaway summaries or buried the answer. The lift tracked with how often bots fetched the page.
So for each fan-out you want to win:
- Give it a title in question or command form, matching how the sub-query is phrased.
- Open with a self-contained two-sentence answer before any preamble.
- Lead the first sentence with the entity and the action.
- Let the body be the depth. If the model only reads the top, the answer should already be complete.
One page can serve several related fan-outs if each gets its own clearly-titled section with its own direct-answer opener, marked up with the schema types AI engines actually read. You are not writing one essay. You are writing a set of answers that happen to share a URL.
When we audit this on our own pages, the pattern holds. We sit near the top of the source list when we get retrieved at all, position around three. The constraint was never the quality of the answer once chosen. It was matching enough fan-outs to get chosen in the first place.
The metric that actually matters
Prompt-coverage percentage is a vanity number if you stop there. Impressions and clicks were the last era's vanity numbers. The market matured past them and stakeholders stopped being satisfied by them.
The only metric worth defending to the person who signs the check is whether qualified pipeline went up. Fan-out mapping is a means to that, not the goal. You map fan-outs so your pages get pulled into more answers, so more of the right buyers land on you mid-decision, so sales has more real conversations. If you can map every fan-out for every prompt and pipeline stays flat, you mapped the wrong prompts. Track the money.
Stop optimizing for queries the model never runs
If your AEO work starts and ends with a list of tracked prompts, you are optimizing for the question instead of the search. Map the fan-outs, match them at the top of the page, and measure it in pipeline.
This is the kind of work we do for B2B SaaS companies trying to get cited in AI search. If you want a second set of eyes on where your fan-outs are leaking, get an AEO audit.
Frequently Asked Questions
What is a fan-out query?
A fan-out query is the set of narrower searches an AI engine runs after reading a user's prompt. Instead of searching the prompt verbatim, the engine decomposes it into multiple sub-queries, retrieves sources for each, and synthesizes one answer. Google described the technique as "query fan-out" when it introduced AI Mode, and most retrieval-based AI engines behave similarly.
Why don't AEO tools show fan-out queries?
Tools like Peec and Profound query the model from the outside and estimate your visibility for a tracked prompt. They report whether you appeared. They say nothing about which sub-queries the model ran to build the answer. That makes them strong for brand monitoring and weak as a content roadmap on their own.
How do I find the fan-out queries for my prompts?
Three ways. Ask the engine your prompt directly and record the sub-queries it shows while searching. Use per-prompt research to map the likely sub-query set and who is cited for each. Read your server or CDN logs to see which pages AI bots actually fetched, which is the most reliable signal because it is direct observation rather than estimation.
Does fan-out only happen in Google AI Mode?
No. Google named it, but the behavior of breaking one question into several retrieval queries shows up across ChatGPT with search, Perplexity, and AI Overviews. The exact sub-queries vary by engine and by session.
How do you get cited in ChatGPT?
Map the fan-out queries behind the prompts your buyers ask, then publish a clearly-titled, direct-answer section for each sub-query. ChatGPT builds its answer from pages that match those narrower searches, so the page that answers the most relevant sub-queries, with the answer at the top, gets pulled in. Watch which pages its crawler actually fetches in your server logs to confirm what is working.




