TL;DR
Both Gemini and ChatGPT rewrite their visible answers, so nobody "wins" by being quoted verbatim. What you can win is the retrieval gate: being the passage the model picks as its source of truth for a claim. In Gemini's retrieval, a passage that names the entity in its first sentence, opens with the answer, and echoes the query's language shows up as the picked passage 3 to 4 times more often than passages without those traits. In ChatGPT's cited-claim stream, the same entity-naming trait is the biggest predictor (2.7x lift), but almost every other structural signal is noise because ChatGPT has already curated for them.
Two retrieval pipelines. Two grounding formats. One shared discipline for the passages that win them. That is the finding.
If you need the SRO intro, the full pipeline, and the Snippet Tester, start with Selection Rate Optimisation: The AI SEO Metric Replacing CTR. This post is the data behind those principles.
An important clarification up front
Gemini's visible answer is synthesised prose written by the model, not a lifted extract of the passages it cites, and the same is true of ChatGPT. Run a Gemini query yourself and you will notice the answer looks nothing like the passages on the pages it cites.
This study does not measure "which passage got quoted verbatim in the answer" because on both platforms that basically never happens. It measures the earlier and more actionable step:
Which passage does the model pick from a page as the grounding source it will paraphrase for a given claim?
That is the retrieval gate. If your passage does not clear it, your URL is not cited at all, and the model's answer is rewritten from someone else's passage instead of yours. The whole game happens before the visible answer is written.
We collected these grounding candidates directly from each platform's API:
- Gemini's grounding chunks via the
googleSearchtool inside the Gemini API. These are the raw source-page passages the model retrieved to write its answer from. - ChatGPT's cited claim segments via the OpenAI Responses
web_searchtool. These are the model's own cited claims, each tied back to a source URL through a citation annotation. In ChatGPT's pipeline the model does not expose the raw retrieved passages, only the claim it generated from them.
Because the two platforms surface different artefacts at the citation layer, they are two different retrieval games measured through two different lenses. That is a real limitation of the study and it is spelled out again in the methodology section.
Why this study exists
Everyone writing about AI SEO in 2026 has an opinion about what gets cited. Very few show the data. This study tests one specific question:
Given the exact grounding candidates that Google Gemini and ChatGPT surface for a query, which candidate does an AI judge pick as most likely to win, and what structural traits does that winner have that the losers do not?
I ran 30 queries across 6 realistic SEO categories: definitional, how-to, comparison, causal, freshness-dependent, and YMYL. For each query I collected Gemini's grounding chunks and ChatGPT's cited claim segments, then ran a cross-judged head-to-head contest. ChatGPT judged Gemini's candidates. Gemini judged ChatGPT's candidates. Two runs per query with randomised candidate ordering to filter out position bias.
Then I scored every candidate, winners and losers, 385 in total, against a 5-factor structural rubric so I could see what winners have that losers do not.
Everything was done using the native Gemini and OpenAI APIs only. No third-party SEO stacks and no page scraping.
The 5 SRO structural factors (rubric)
Every passage was scored 0 or 1 on each factor. Passage length is the only factor that allows 0.5 partial credit.
| # | Factor | Present if |
|---|---|---|
| 1 | Answer-first | The first sentence directly answers the query, with no preamble or throat-clearing. |
| 2 | Entity named | The primary entity from the query is named verbatim in the first sentence. |
| 3 | Factual claim | The passage contains at least one specific factual claim (number, date, percentage, named study, or source). |
| 4 | Length band | Passage is 60 to 120 words (0.5 for 40 to 60 or 120 to 180, else 0). |
| 5 | Query-language match | At least 2 substantive nouns or verbs from the query appear in the first sentence. |
The rubric is deliberately narrow and mechanical so scores are reproducible. It is not intended as a complete model of retrieval quality. It is intended as a set of five hypotheses about what structural traits make a passage more likely to be picked, tested against data.
Headline finding: winners score higher on every factor
Across both platforms, winning passages score higher than losing passages on every structural factor. The size of the gap is where the leverage is.

Where the leverage lives in Gemini's retrieved grounding:
- Entity naming. Winning passages are named +0.26 more often than losing passages.
- Answer-first. Winners open with the answer +0.17 more often.
- Query-language match. Winners echo query nouns and verbs +0.14 more often.
- Factual claim. Winners include a data claim +0.14 more often.
- Length band. Winners fall inside 60 to 120 words +0.11 more often.
Where the leverage lives in ChatGPT's cited claim segments:
The signal is much narrower. Entity-naming still matters (+0.17), but answer-first (+0.04), factual-claim (+0.03), and query-language match (-0.01) are effectively noise. That is not surprising: ChatGPT's cited claims are already generated by the model, and the model already tends to write short, answer-first, entity-named claims by default. So the variance between winning and losing claims on those factors is small. If you want to be the source ChatGPT chooses when it needs one, entity naming is the biggest lever the data shows.
Read carefully: this does not mean "the other four factors do not matter for ChatGPT ranking". It means that at the point where the model has already generated candidate claims to attach citations to, those four factors are not the discriminator. The discriminator earlier in the pipeline (which we cannot observe directly) may be very different.
Pairwise lift: how much does having a factor beat not having it?
The deltas above are averages. The pairwise-lift view answers a sharper question: when the winner had factor X and the loser did not, how often did that happen versus the reverse? A lift of 4x means winners exhibited the factor four times as often as losers in head-to-head comparison.

The pattern is stark. On Gemini's grounding chunks:
- Entity named: 4.2x lift. A passage that names the entity beats one that does not four times more often than the reverse.
- Query-language match: 4.2x lift.
- Answer-first: 3.3x lift.
- Factual claim: 3.1x lift.
- Length band: 1.6x lift. Real but weaker.
On ChatGPT's cited claim segments:
- Entity named: 2.7x lift. Still the biggest signal, but roughly two-thirds the strength of Gemini's.
- Factual, answer-first, and language-match all cluster around 1.2x to 1.3x. Real but small effects.
- Query-language match is 0.9x. No measurable advantage in this dataset.
Takeaway: Gemini's retrieval rewards structural signals. ChatGPT's cited-claim generator has largely internalised the same signals already. Both punish anonymity in the passage the model picks to represent your page.
The two retrieval pipelines: why the artefacts look so different
The single biggest source of confusion in AI SEO advice right now is treating both platforms as if they retrieved and cited the same way. They do not. Here is what the underlying pipelines actually look like.
Gemini pipeline (as exposed by the googleSearch grounding tool):
- User query goes to Gemini.
- Gemini calls Google Search and receives a set of grounding chunks, each a short passage extracted from a source page.
- Gemini synthesises an answer that paraphrases and combines those passages.
- The answer is presented to the user with the source URLs attached as citations.
The grounding chunks we captured are step 2. They are extractive: passages taken from source-page HTML, minimally reformatted. The wording in the visible answer at step 4 is Gemini's own rewrite.
ChatGPT pipeline (as exposed by the Responses web_search tool):
- User query goes to ChatGPT.
- ChatGPT calls its search tool and receives search results and page content.
- ChatGPT synthesises an answer, and for each factual claim it emits an annotation pointing to a source URL.
- What surfaces as a "cited claim" is a segment of the model's own answer text with a citation annotation attached.
We captured step 4. Unlike Gemini, ChatGPT does not expose the raw retrieved page passages via its API, so we can only observe the model-authored claims that carry citations.
This is why the wordcount distributions look so different.

Gemini's winning grounding chunks are 60 to 250 words long. Median: 126 words. These are extracts from the page's own HTML.
ChatGPT's winning cited claim segments are 25 to 100 words long. Median: 53 words. These are model-authored claims tied back to your URL by an annotation.
The practical implication:
- To get picked by Gemini's grounding retrieval, your page needs to contain a well-formed 100 to 150 word passage that the retriever can lift cleanly.
- To get cited by ChatGPT, your page needs to be summarisable into a short, entity-first factual claim that the model can paraphrase and attach a citation to.
The same page can serve both, but the writing style needed is different. And the widely-repeated "the perfect AI snippet is 60 to 120 words" advice is roughly right for ChatGPT and about 30% too short for Gemini's retrieval.
Winners are stable, not lucky
Winners in this study are stable, not lucky: re-running every contest with a different randomised candidate order produced the same winner in most queries, which rules out prompt position as the explanation. Same query, same candidates, different letter assignments, run twice.

60 to 70% of queries returned the same winner in both runs. That is well above the roughly 15% you would expect from random chance with 5 to 7 candidates per query. It says the structural signals the judges are keying off are real and not artefacts of prompt order.
The 30 to 40% that flipped are useful too. They are queries where two candidates are structurally similar enough that either could reasonably be picked. In production, that means there is still competition at the top of the retrieval funnel. You can win a query that already has a well-optimised incumbent.
Query type matters, a lot
Not every SRO factor matters equally for every query type. The heatmaps below show, for each query category, the fraction of winners exhibiting each factor.
Gemini grounding-chunk winners, by query type

Patterns:
- Definitional and causal queries. 100% of winners are answer-first, 100% name the entity, 100% match query language. These three are non-negotiable for these query types in this dataset.
- How-to queries. Reward query-language match (88%) but tolerate lower entity-naming (50%), because the entity often has to be introduced through steps.
- Freshness-dependent queries. Reward factual claims (67%) far more than other categories. Dates, versions, and changelogs matter.
- YMYL queries. The outlier: factual claims (71%) matter more than answer-first (57%). On medical, financial, and legal topics, authority beats speed.
ChatGPT cited-claim winners, by query type

Patterns:
- How-to and freshness-dependent queries. 100% answer-first. ChatGPT is strict about not attaching citations to preamble.
- Comparison queries. The only ChatGPT category where factual claims are near-universal (88%). Comparison tables and specific data points get the citation.
- Causal queries. The weakest structurally, average score of 1.9/5. If your target queries are "why does X happen", ChatGPT tends to generate its own explanation and cite lightly.
Length is a query-type dependency, not a rule
The "60 to 120 words is the golden snippet length" advice is right on average and wrong for definitional queries.

Gemini grounding-chunk winner length medians by query type:
- Definitional: ~200 words
- YMYL: ~155 words
- Causal: ~150 words
- Freshness: ~124 words
- Comparison: ~120 words
- How-to: ~35 words
Definitional queries need enough room to define, distinguish, and situate the entity. How-to queries win with terse step-first passages. Write to fit the query type, not to a single length rule.
An example: a winning definition passage versus a losing one
Below is a real winning grounding chunk for the query "what is selection rate optimisation in AI search". It scored 4.5 out of 5 on the rubric and won both randomised judge runs. Note that this is the passage the retriever picked from the page, not what Gemini's visible answer said afterwards. The visible answer paraphrases it in the model's own voice.
Selection Rate Optimisation (SRO) is a specialized strategy in digital marketing and SEO focused on ensuring your content is chosen, cited, and referenced by generative AI search engines such as ChatGPT, Google's AI Overviews, and Perplexity when they synthesize answers for users. (168 words in full, answer-first, entity named, query language matched)
Source: richvoller.com/blog/selection-rate-optimisation
Now here is a losing candidate for "why does selection rate matter more than CTR in AI search". It scored 1 out of 5.
Why CTR is Losing Its Value For decades, CTR was the gold standard because it directly measured the success of a link. If a user saw your link and clicked, you won. Users frequently get their answers without ever visiting a website, making CTR less reliable.
Same topic space. The losing passage leads with a header plus a subordinate clause instead of the answer. It never names "selection rate" in the first sentence. It is discursive prose that reads well to humans and vanishes in a retrieval contest.
What to do about it (practical playbook)
Here is the operational conversion of the findings, in order of impact. Every one of these applies to the passage that will be picked from your page, not to the visible AI answer, which you have no control over.
1. Name the entity in the first sentence, every time
This is the single largest signal we measured on both platforms. If the query is "what is a grounding query classifier", your first sentence should contain the words grounding query classifier. Do not paraphrase it. Do not put it behind punctuation. Do not open with a rhetorical question.
Do: "A grounding query classifier is a machine-learning model that predicts whether an AI needs to fetch external sources for a given user prompt."
Do not: "You've probably heard the term thrown around, but what does it actually mean?"
2. Answer the query in the first sentence, then explain
Answer-first structure is a top-3 signal for Gemini and the top signal for ChatGPT how-to and freshness queries. This is the same discipline that used to earn featured snippets, but the AI-search bar is higher: the first sentence must be a complete answer, not a setup for one.
3. Match the query's nouns and verbs early
Query-language match had a 4.2x lift on Gemini's retrieval. This is not keyword stuffing. It is making sure the language on the page and the language in the query use the same words for the same concept. If people are searching AI Overview citations, write "AI Overview citations", not "generative-search references".
4. Include a factual anchor for freshness and YMYL queries
For freshness and YMYL queries specifically, add at least one concrete factual claim: a date, a percentage, a named source, a version number. Freshness winners cited factual claims 67% of the time on Gemini and 71% of the time on ChatGPT. YMYL was even higher.
5. Write to the query's shape, not to a single length rule
- Definitional queries: around 200 words. Room to define, disambiguate, and situate.
- Comparison and causal queries: 120 to 150 words.
- How-to queries: 35 to 80 words per step, terse and imperative.
- Freshness queries: around 120 words with a date or version anchor.
- YMYL queries: around 160 words with an authority signal (source, credential, or citation).
The single "60 to 120 word" rule is optimising for ChatGPT-style summarisation only.
6. Do not bury the passage under H2s and bullets
Several losing candidates were entirely correct prose that had been broken up inside a bulleted list or placed as a trailing sentence under an H2 header. Google's grounding retrieval treats structured markup as a boundary. Passages that need to be reassembled from bullets are harder to lift as one clean grounding chunk. Prefer well-formed paragraphs between headers over Markdown-heavy text inside structural elements. This is an observation from the sample, not a documented Google behaviour.
Methodology (short version)
| Stage | What | Count |
|---|---|---|
| Query selection | 30 queries across 6 SEO-relevant categories | 30 |
| Step 1, candidate collection | googleSearch grounding (Gemini) plus web_search (OpenAI) |
385 candidates |
| Step 2, head-to-head contest | Cross-judged: ChatGPT judges Gemini, Gemini judges ChatGPT | 120 judge calls (2 runs each) |
| Step 3, structural scoring | Gemini 3.1 Flash-Lite scores all 385 candidates on 5 factors | 385 score records |
| Step 4, analysis | Winner/loser aggregation plus pairwise lift plus query-type slicing | see charts |
Key design decisions:
- Cross-judging. ChatGPT judges Gemini's candidates and Gemini judges ChatGPT's, so no platform is scoring its own outputs. This isolates structural signals from platform preference.
- Two randomised runs per query. Filters out position bias in the judge prompt.
- Blind letter labels A to G in judge prompts. Judges never see the source URL or platform of origin.
- A separate model (Gemini 3.1 Flash-Lite) does the structural scoring, so the same model is not both judging and explaining.
Query set (30): 5 per category across 6 categories. Definitional, how-to and procedural, comparison, causal and explanatory, freshness-dependent (2026 references), and YMYL (your money or your life topics).
Important limitations for anyone kicking the tyres on this study:
- This is a study of retrieval, not final answers. Neither platform's visible answer is quoted from the passages we measured. Optimising for the passage the retriever picks is the actionable step; the visible answer wording is not under your control.
- The two platforms expose different artefacts. Gemini surfaces raw extractive grounding chunks. ChatGPT surfaces its own already-summarised cited claims. So the two sides of the analysis are not measuring identical objects. Comparisons between platforms should be read as directional signals about the retrieval and citation pipelines, not as apples-to-apples equivalents.
- 30 queries is enough to detect large effects with confidence but not fine-grained sub-slices such as "definitional YMYL". The lift ratios are directional, not p-value-anchored.
- Gemini's grounding chunks arrive via
vertexaisearch.cloud.google.comredirects for all 39 winners in this sample. This obscures the original domain. We can characterise the passage but not always the source's off-page authority signals. - The judges are AI models, not human raters. Cross-judging and randomised ordering reduce but do not eliminate model-specific biases. A human-rater replication with the same rubric would be a natural follow-up.
- Two ChatGPT winners belong to my own domain (richvoller.com). With a 30-query sample this is within the range of chance for a regular writer on the topic, but it is disclosed here so no reader is surprised by it later.
What "different retrieval pipelines" means for your content strategy
To get picked by Gemini's grounding retrieval, your page needs to contain a well-formed extractive passage. A paragraph the retriever can lift as-is.
To get cited by ChatGPT, your page needs to be summarisable into a short entity-first factual claim. A paragraph the model can compress without losing your point.
The good news: both are the same underlying discipline, written slightly differently. If you write pages where each paragraph is a self-contained, answer-first, entity-named claim with a factual anchor and query-matching language, you are building content that survives both retrieval games. Add clean HTML structure and you are covering featured snippets and AI Overviews at the same time.
The bad news: most of the web is not written this way. Which is exactly why the leverage is currently so high.
Data, code, and reproducibility
All 385 scored candidates, all 120 judge results, both contests' JSONL logs, the 30-query dataset, and the seven charts in this article are available in the study artefacts alongside this post. The pipeline uses only the native Gemini and OpenAI APIs. No third-party SEO tools. If you want to run this on your own 30 queries, the code is small enough to be a single afternoon of work.