I used to tell clients to win AI citations the way you win rankings: publish more, earn links, wait for authority to compound. I was wrong. A page has to survive a hidden search before any of its paragraphs can be cited.
When a buyer asks ChatGPT a long question, the assistant can break it into narrower searches, gather candidate pages, then use the passages that answer cleanly. Google documents query fan-out for AI Overviews and AI Mode, and independent testing describes a similar pattern inside ChatGPT. Your head keyword may never be searched. The contest has two parts: get a useful page into the candidate set, then give the assistant an answer it can use. Most AI visibility work optimizes neither.
First, the buyer’s question becomes smaller searches
Say a buyer types: What’s a fair price to pay someone to run Google Ads for my plumbing company? There are several questions inside that sentence. What do management fees look like for home services? What does a flat fee include? How does a percentage-of-spend fee change as spend grows? A page that answers only “Google Ads management” may miss the parts the buyer needs.
The assistant can rewrite a question into narrower queries, run them separately and merge the results. That is the search you never see. For our plumbing buyer, a clear comparison of flat fees and percentage fees might be more useful to the assistant than a broad page promising expert PPC management. The broad page may sound more impressive. It does less work.
This also explains an apparent rankings puzzle. A page can sit far down the results for the buyer’s original wording yet be a strong candidate for one of the assistant’s narrower searches. In one Ahrefs test of 15,000 prompts, only about 12% of URLs cited by ChatGPT, Gemini and Copilot ranked in Google’s top 10 for the same prompt; roughly 80% did not rank for the original query at all. That does not make search visibility irrelevant. It tells you the original question is not necessarily the search you need to win.
I learned the distinction the way I learned match types: the query you bid on and the query that triggers you are two different things. Before rewriting a page for the full plumbing question, I would write down its component questions. If the page answers none of them directly, better prose alone will not save it.
Then the assistant needs an index that can find the page
Those smaller searches still need somewhere to run. Assistants do not all draw candidates from the same place. ChatGPT uses Bing and third-party search providers, Claude re-ranks Brave results, Google’s AI draws on Google’s index, and Perplexity has its own crawl. A good showing on one surface does not guarantee a good showing on another.
Take the plumbing fee comparison. If it is findable for a useful sub-query on the search surface an assistant uses, it has a chance to be considered. If it is absent there, a beautiful answer block on the page cannot help that particular search. This is the first job: be retrievable for a component of the buyer’s question, not merely visible for the broad topic in one dashboard.
Do not turn that into a simplistic “rank on Bing, get cited by ChatGPT” rule. RivalHound found only 26.7% alignment between ChatGPT citations and Bing top results in the analysis linked above. Ranking somewhere matters; it is not the entire selection process. I would rather inspect the narrower questions and the pages that answer them than buy a single visibility score and pretend it represents every assistant.
A candidate page still has to survive the live fetch
Finding a page is not the same as reading it. When ChatGPT browses to answer a user, it can fetch pages at answer time rather than relying only on what it learned during training. OpenAI distinguishes the bots involved: OAI-SearchBot helps surface sites in search answers, GPTBot is used for training, and ChatGPT-User handles per-user visits. An index crawl and a live visit tell you different things.
That is why I stopped trusting screenshots of bot hits in visibility reports. A crawler hit tells you a bot walked past your door. A live-answer fetch means a page was requested in connection with a user’s question. Neither hit, by itself, proves that your words appeared in the answer. You have to keep following the mechanism.
Our own edge logs make the division concrete. One groas post was fetched 528 times by ChatGPT-User for live answers, while the homepage was read separately for brand facts. Different pages did different jobs: the post explained a topic; the homepage established who was behind it. A homepage does not need to carry every detailed answer, and an explanatory post does not need to do the homepage’s job.
For the plumbing example, imagine the assistant finds a fee-comparison page but cannot get through a consent wall, or the answer appears only after JavaScript renders. Retrieval worked; reading failed. The immediate fix is not another paragraph about your credentials. It is a page the assistant can actually fetch and read.
AI Overviews have their own eligibility rule: there is no separate AI crawler or special markup required; a page must be indexed and eligible to appear in Search with a snippet. Blocking Google-Extended does not remove a page from AI Overviews; setting nosnippet does. Check the access rule for the surface you care about before changing a crawler setting.
The answer has to stand on its own
Now suppose the fee page is found and fetched. The assistant still has to identify the useful part. Selection happens passage by passage, not simply page by page. If the answer sits behind a long introduction and only makes sense after five earlier paragraphs, the page has made the assistant’s job harder.
For the plumbing buyer, compare these two approaches. “Our experienced team offers flexible solutions for businesses of every size” could appear on almost any agency page. It does not answer the question. A paragraph that names the two fee structures, shows how to compare them at a stated spend level and says what the comparison does not establish gives the assistant something usable.
Here is the distinction I would want that page to make: at an illustrative $20k monthly ad spend, a $1,500 flat management fee costs less than a fee of 12 to 15% of spend. That calculation compares two offers; it does not prove either is a fair market price or tell you whether the work included is the same. At $12k, the comparison depends on which percentage you use. The boundary matters as much as the number.
I used to bury the useful sentence because I thought suspense kept people reading. It does not help a buyer who came for a fee comparison, and it gives an assistant more work before it reaches the answer. Put the direct answer under a heading that names the question. Then explain the arithmetic, the assumptions and the exceptions for the human reader. Put the quotable sentence first, the clever sentence second.
Structure helps, but it is not a magic template. The Princeton-led GEO study on 10,000 queries found that adding statistics, quotations and citations from credible sources lifted visibility in AI answers by 30 to 40% on its Position-Adjusted Word Count measure. Keyword stuffing gained nothing. A separate Wix analysis of more than 1 million citations found that listicles accounted for 21.9%, articles 16.7% and product pages 13.7%. I would not turn those shares into an order to make every page a listicle. I would take the narrower lesson: make a specific answer easy to find and understand without making it up.
The citation is a display choice, not the whole selection process
After selection comes attribution. Perplexity uses numbered inline citations, ChatGPT presents a curated set of clickable citations, and AI Overviews combine information from multiple pages with resource links. These are different presentations on different systems, not one shared fetch dressed in three interfaces.
That difference changes what I inspect. In Perplexity, I look at which claim a citation supports. In ChatGPT, I check whether the page that answered the question made it into the visible links. In AI Overviews, I look for the specific information a page may have supplied to a combined answer. A citation report shows what the interface displayed. It cannot, on its own, explain why a page was found, fetched or passed over.

Call attribution the display layer if you like. Just do not confuse it with the work underneath. A missing link is a symptom; finding the failed step is the diagnosis.
What the mechanism says to fix, in order
I sort the work into three jobs now: be retrievable, be fetchable, be liftable. The order matters. A perfect paragraph absent from the relevant search cannot be retrieved. A retrievable page that fails on fetch cannot be read. A readable page that never answers the question gives the assistant little reason to use it.
For our plumbing buyer, retrievable means covering the component questions rather than repeating “Google Ads management” across a services page. A single buyer question can expand into narrower searches before any source is chosen. The fee comparison, what the fee includes and how spend changes the arithmetic are distinct answers. They need not all live on separate pages, but each must be findable and clear.
Fetchable is less glamorous. Use a fast page with readable HTML. Do not hide the answer behind a consent wall or make JavaScript the only way to see it. Then examine your own logs with care. In our live-fetch test, I separate ChatGPT-User and Perplexity-User visits on answer pages from index crawls such as OAI-SearchBot and PerplexityBot, and exclude spoofed user agents. The remaining requests are evidence of live fetching, not a final citation count. That distinction keeps a large crawler number from becoming a flattering but useless report.

Liftable means the relevant passage makes sense on its own. Use the buyer’s question as a heading where it fits. Answer directly beneath it; include the number, the named thing and the condition that changes the answer. Elaborate afterward. A reader can skim to the comparison, while someone weighing two offers can keep reading. That is good page design even if no assistant visits.
I would check those three jobs in sequence before buying another link package or another digital PR push. Authority cannot compensate for an answer that never loads. It also cannot turn vague copy into a useful fee comparison. Fix the failed step, not the metric nearest the top of the report.
Run the model on a different buyer question
Now take a garage-door installer instead of a plumbing advertiser. A buyer asks what a replacement will cost. The question can break into labor versus parts, double versus single doors, and emergency callout fees. A grand page titled “Garage Door Installation” might mention all three without answering any one of them. That makes it a weak candidate for a narrower search and leaves little for an assistant to use if it does get fetched.
I would work backward from one component. Is there a page a search can find for the labor-versus-parts question? Can a live visitor read it without a block? Does its first relevant passage distinguish the two costs and state when that distinction is useful? If the installer cannot publish a straight number because every job is custom, it should not invent one for a citation. It can still answer the narrower question honestly. The same test applies to the double-versus-single-door question, then to emergency callouts. One buyer question becomes several chances to answer well, not a license to publish several vague pages.
This will not be the next priority for everyone. If your buyers never ask an assistant, or their choice is settled by price and proximity in Google Maps, chase that demand first. If they do ask detailed questions, the expensive mistake is paying to look authoritative while the relevant page cannot be found, cannot be read or never reaches its answer.
That is why this work sits inside execution at groas, not inside a report that stops at a visibility score. Our models track the sub-queries that trigger answers, distinguish pages pulled for explanations from pages read for brand facts, and refine passages; a named strategist owns the direction and the reasoning is logged in plain language. You can see how groas runs paid and organic as one system. SEO and AI Search has one flat monthly fee, month to month. The work starts with a buyer question, not a dashboard.
A week after you ship a fix, ask that question in a fresh chat and read the answer. If your sentence appears with your link, the page made it through retrieval and into the displayed answer. If a competitor’s comparison appears instead, do not reflexively rewrite your homepage. Go back to the narrower question, the page that could answer it and the passage the assistant had to choose between. That is the loop: one question, a page it can fetch, and a paragraph worth keeping.

