Only 24% of the domains cited in an AI panel show up on more than one engine
Earlier posts on this blog looked at what each engine cites in isolation: Gemini's opaque redirects, Perplexity's fondness for Facebook, the small set of editorial sites that dominate a category. None of them asked the question directly: for the same panel of questions, are the four engines reading the same pages, or genuinely different ones? We checked, across every live panel we have.
Three out of four cited domains are unique to a single engine
For each of our 270 live audit panels (project management, customer support, and HR software, run against ChatGPT with web search, Gemini with grounding, Perplexity Sonar, and Claude with web search), we pulled every citation URL from every real, non-error response, normalized it to a hostname, and excluded Gemini's opaque vertexaisearch.cloud.google.com redirects the same way our production scoring does. That gives each panel a set of distinct domains per engine. We then checked, domain by domain within a panel, whether it was cited by one engine only or by two or more.
| Cited by | Domain-panel pairs | Share |
|---|---|---|
| 2 or more engines | 7,426 | 24.0% |
| Exactly 1 engine | 23,486 | 76.0% |
Across 30,912 total domain-panel pairs, three out of four are a domain that only one of the four engines cited for that panel. The other engines, asked the same buyer-intent questions about the same brand, built their answers from a source list that did not include that page at all.
The overlap rate barely moves from panel to panel
What is more striking than the headline number is how little it varies. Per-panel overlap share (the fraction of that panel's distinct domains cited by 2 or more engines) has a median of 24.0%, with the middle half of panels falling between 21.6% and 27.0%. Of the 270 panels, 268 had at least one domain cited by multiple engines; only 2 panels had zero overlap at all. Not a single panel crossed 34%. Whatever category or brand the panel concerns, roughly one domain in four ends up on more than one engine's reading list, and that ratio holds almost regardless of which panel you look at.
Gemini and Perplexity share the most ground. OpenAI shares the least with everyone.
The pooled overlap number blends six different engine pairs, and they are not equal. We computed the domain overlap (Jaccard similarity: shared domains divided by the union) for every pair, pooled across all panels where both engines had citation data.
| Engine pair | Shared domains | Combined domains | Overlap |
|---|---|---|---|
| Gemini vs Perplexity | 4,806 | 21,956 | 21.9% |
| Perplexity vs Claude | 2,311 | 16,385 | 14.1% |
| Gemini vs Claude | 3,300 | 23,082 | 14.3% |
| ChatGPT vs Claude | 701 | 8,439 | 8.3% |
| ChatGPT vs Gemini | 701 | 11,533 | 6.1% |
| ChatGPT vs Perplexity | 488 | 8,433 | 5.8% |
Gemini and Perplexity have the closest reading lists of any pair, at 21.9% overlap. Any pair involving ChatGPT sits well below the other four pairs, between 5.8% and 8.3%. Part of that gap is coverage: ChatGPT had usable citation data in only 130 of the 270 panels, versus 267 to 268 for the other three engines, because ChatGPT's real-world API error rate is the highest of the four (documented in an earlier post at 68.6% on live calls; this session's fresh pull put it at 75.1%, consistent with the same rate-limit-driven pattern, not a new problem). A thinner, burstier sample of successful ChatGPT responses means fewer chances for its domains to line up with anyone else's, and that caveat belongs alongside the number. It does not explain away the gap entirely though, ChatGPT's overlap with every other engine is roughly a third of Gemini and Perplexity's overlap with each other, on real citation data.
Gemini's reading list is also just bigger
Part of why Gemini shows up in the strongest pairs is that it cites more distinct domains per panel than anyone else to begin with, an average of 64.6 versus 34.2 to 36.6 for the other three (consistent with an earlier post that found Gemini's average citation count per response is more than double Claude's). A bigger reading list has more chances to intersect with someone else's, even if the underlying retrieval logic is not converging.
Why this matters for a visibility strategy
If a visibility audit shows your brand missing on a specific engine, the instinct is to find "the" source gap and close it. This data says there usually is no single gap. Each engine is running its own retrieval largely independent of the others, and getting onto Gemini's list, Perplexity's list, Claude's list, and ChatGPT's list are four mostly separate jobs, not one job with four outputs. The one piece of good news is that Gemini and Perplexity's lists overlap the most of any pair, so a source win aimed at one of those two has better-than-even odds of showing up on the other's list too. A ChatGPT-specific or Claude-specific gap is much more likely to need its own dedicated fix.
Find out which sources each engine is actually reading for your category, and where your brand's pages are missing from that list.
Get an AI Visibility Audit, $490Methodology
Data drawn from 270 live, search-grounded audit panels (project management, customer support, and HR software brands), each run across four AI engines: ChatGPT with web search, Gemini with grounding, Perplexity Sonar, and Claude with web search. For every real (non-error) response across all 270 panels, we pulled the citation URL list, normalized each to its hostname, and excluded Gemini's vertexaisearch.cloud.google.com redirect wrapper, matching the normalization our production scoring applies. For each panel we built the set of distinct cited domains per engine, then measured, domain by domain, how many engines cited it within that panel (the overlap share) and, pairwise, the Jaccard similarity between each pair of engines' domain sets pooled across every panel where both engines had citation data. Panel coverage varied by engine because of real API error rates: Claude 268/270 panels, Perplexity 268/270, Gemini 267/270, ChatGPT 130/270. Numbers recomputed fresh from results.jsonl this session. No development-rail or fixture data is included; all responses came from live engine calls. Data collected June-July 2026.