GEO for comparison pages: how AI engines pick a winner
ChatGPT and Perplexity cite almost none of the same sources on vs queries. Here's how to structure a comparison page either engine can lift and recommend.
ChatGPT and Perplexity cite almost none of the same sources on vs queries. Here's how to structure a comparison page either engine can lift and recommend.

Only 11% of the domains ChatGPT cites are also cited by Perplexity, according to Averi's analysis of 680 million AI citations. An independent Qwairy analysis of 118,000 AI-generated answers, reported by Whitehat SEO, landed on the same figure. That number usually gets framed as a general problem in GEO, generative engine optimization, the practice of structuring content so AI engines cite it in their generated answers rather than a competitor's page: write for one engine and you're invisible to the next. But it hits hardest on exactly the content most SaaS blogs care most about, the "X vs Y" comparison page, because that page has to survive two completely different retrieval styles at once.
Here's the twist the overlap number hides. On "compare" queries specifically, ChatGPT and Google AI agree on the same recommended brand 80% of the time, the highest agreement of any query type measured, against only 23% agreement on open-ended "best" queries, per BrightEdge's brand-recommendation study. The engines converge on the winner far more than they diverge. What they don't converge on is which sources earned that verdict. This is the disagreement that actually matters for a comparison page: not whether AI engines pick different brands, but whether they'll ever cite you as the reason for the pick. We cover the general engine-by-engine mechanics in how to get cited by ChatGPT, Perplexity, and Claude; this post narrows that down to the one query shape most comparison pages exist to win.
A "best CRM for startups" query and a "Salesforce vs HubSpot" query look similar on the surface, but AI engines treat them as different jobs. An open "best" query has to survey a whole category with no anchor point, which is exactly where engines disagree most. A "vs" query already names its two candidates, which narrows what the engine has to decide and, it turns out, narrows how often engines land on different answers.
Brand agreement on "compare" queries runs at 80% between ChatGPT and Google AI, the highest of any query type BrightEdge tested, while "best" queries sit at just 23%, the lowest. Across all query types, BrightEdge's data shows 61.9% of queries get different brand recommendations across ChatGPT, Google AI Overviews, and Google AI Mode, and only 17% return the identical brand on all three. A comparison query is the one shape where the engines are least likely to disagree about who wins.
That's counterintuitive if you assume "different engines, different training data, different opinions." What it actually means is that when a query already names two products, the decision space collapses to a much narrower comparison than an open-ended "best of" ranking. The engines converge because there's less to disagree about, not because they read the same evidence.
Brand agreement is not source agreement. Only 11% of domains ChatGPT cites overlap with what Perplexity cites, based on Averi's analysis of 680 million citations, a figure Qwairy's study of 118,000 AI-generated answers, reported by Whitehat SEO, also confirmed. So two engines can name the same winner on a "Salesforce vs HubSpot" query while citing almost entirely different pages as the reason. One might quote a Wikipedia-adjacent roundup; the other might quote a Reddit thread that never mentions the first source at all. The verdict converges. The evidence trail does not.
That's the real shape of the problem a comparison page has to solve. It's not "will AI engines pick a different winner." It's "will either engine ever cite my page as the source of the verdict, given that they're pulling from almost entirely separate shelves of the web." A page built for one engine's citation habits can lose the other engine's citation entirely, even on a query where both engines land on the same brand.
The two engines don't just disagree on sources. They process a "vs" prompt differently before they ever get to picking one.
ChatGPT doesn't answer a comparison prompt with a single search. Analyzing 5 million query fanouts collected between April 1 and April 21, 2026, Peec found ChatGPT expands the average prompt into about 2.1 sub-searches, and on comparison-shaped queries it injects specific brand names into those sub-searches. A generic "what CRM has the best support for syncing data" becomes a search for "CRM integration sync capabilities, Salesforce, HubSpot, Microsoft Dynamics comparison," fanning one question into several brand-specific ones before it synthesizes an answer.
That synthesis leans on a narrower, more established source pool than Perplexity's. ChatGPT's top-10 cited sources match Bing's top results about 87% of the time, per Seer Interactive's analysis, and Wikipedia alone accounts for roughly 47.9% of them, according to TryProfound's citation-pattern research. ChatGPT also mentions brands far more than it cites them, 3.2x more often on BrightEdge's data (2.37 mentions versus 0.73 citations per query), which means it will happily name your product in a comparison answer without ever linking the page that made the case for you. The page you're competing to be cited by, in other words, is often a Bing-ranked, Wikipedia-adjacent roundup that already has the reputation ChatGPT trusts.
Perplexity works the other direction. It fans a prompt out less, averaging only 1.4 sub-searches per Peec's data against ChatGPT's 2.1, but it retrieves and cites far more sources per answer, 21.87 citations per response against ChatGPT's 7.92 in Qwairy's data, and does a live search on every query rather than leaning on a cached index. Where that live search actually lands is not neutral ground. In Ahrefs' Brand Radar study of 3.1 million US queries (June 2026), YouTube took 32.4% of Perplexity's citations and Reddit took 16.6%, the most community-and-video-weighted source mix of any assistant Ahrefs measured. A "which one is better" verdict on Perplexity is disproportionately likely to come from a video walkthrough or a Reddit thread arguing the two products out in public, not a polished landing page.
You're not writing for one extraction logic. You're writing for two, and they pull in different directions. ChatGPT wants a page with enough off-page reputation and Bing-visible authority to earn a place in its brand shortlist, even if it never links you directly. Perplexity wants a page it can cite directly and repeatedly, competing against community sources that already dominate its top results. A page tuned only for one habit, dense with pricing tables but no outside reputation, or heavy on structure but thin on anything a live retrieval pass would trust, wins the engine it was built for and stays invisible to the other. The structural moves below are what let one page do both jobs.
None of what follows is exotic. It's the same answer-first discipline that runs through our answer-first content structure checklist, applied to the one page type that has to survive two different retrieval habits on the same visit.
State your recommendation and the core difference between the two products before any background, history, or category framing. Guidance on AI-citable comparison pages puts it plainly: place the final recommendation and core differences in the opening 80 words so an answer engine can extract a clear, complete passage without reading the rest of the page. Both ChatGPT's synthesis pass and Perplexity's per-claim citation habit reward the same thing here: a confident answer stated early, with nothing hedging in front of it.
Use one consistent set of comparison criteria (price, top features, integrations, support, ideal customer) across the whole page, in a real markdown or HTML table rather than a screenshot or graphic. A table already presents each fact as a discrete, labeled cell, which is the shape a model can lift as structured data; guidance on structuring content for AI extraction notes that table formatting is what makes a comparison extractable in the first place. An image of a table gives a crawler nothing to parse. Head each row and section with a standalone label, "pricing differences between Product A and Product B" rather than a vague "pricing," so the phrase can stand on its own if an engine quotes it out of context.
A single "the winner is X" verdict fights the fanout mechanics working against it. ChatGPT is already injecting brand and use-case language into 2.1 sub-searches per prompt, and 61.9% of queries overall land on different brand recommendations across AI surfaces. Give each of those fanned-out sub-queries something specific to answer: a short, standalone section for "best for small teams," another for "best for enterprise support," another for "cheapest at scale." One overall verdict forces every reader and every engine to accept a single frame; naming the winner per use case gives each engine's fanout a direct match instead of a compromise.
Byword vs Jasper and Lyra vs Surfer SEO, two comparison pages on this blog, both work this way: neither closes with a single "pick us" line. Byword vs Jasper ranks tools by control versus volume and names which one fits a bulk-content team versus a team that can't afford a wrong fact in a flagship post. Lyra vs Surfer names Surfer as the right call for a team with writers who want SERP-driven guidance, and Lyra as the right call for a team where the drafting itself is the bottleneck. That's the pattern: state the honest per-audience answer instead of forcing one winner to cover every reader.
Every factual claim, a price, an integration, a support-tier detail, needs a link to the source that backs it, placed next to the claim itself rather than dumped in a bibliography at the bottom. The Princeton-led GEO study (KDD 2024) tested tactics like this, adding statistics, quotations, and citations from credible sources, and found they can lift a page's visibility in generated AI answers by up to 40%. That only works if the sourcing holds up: a wrong price or a dead link is exactly the kind of thing fact-checking exists to catch before a page ships, and it's doubly important on a comparison page where the entire premise is being right about two products at once, not just one.
Freshness matters more here than on most posts, because pricing and feature sets on both products in a comparison change on their own schedule, not yours. A page that was accurate in January and untouched since is a liability on a "vs" query, and revisiting it belongs in the same content refresh cadence as anything else on the blog. Once the page is live and structured this way, the next question is whether it's actually working, which is what AI citation tracking is built to answer: run your own comparison query weekly across engines and log who gets cited.
This is a lot of discipline for a single page: an 80-word verdict, one normalized table, a per-use-case breakdown, and a sourced, dated claim next to every fact, kept current as both products change. That's a real gate to hold on the page type that converts the highest and gets read by two engines with almost nothing in common. Lyra writes comparison pages in your blog's existing voice, verifies every pricing and feature claim against a real source before anything ships, and structures the answer-first pattern above by default, then opens the draft as a pull request you review and merge. Our SaaS comparison pages post covers the Google-ranking half of this same page type, the piggyback pairing and the honest-frame copy that gets it ranked in the first place; this post is the citation half of the same cluster. If you want to see the autonomous writer build your next comparison page this way, tell us about your blog.
A comparison page has to win two different engines with one page. Lyra writes the verdict, the table, and the per-claim sourcing this post argues for, then opens it as a pull request you review before it ships.
Step by step
Open with the verdict, not the setup
State your recommendation and the core difference between the two products in the first 80 words, before any history or category background.
Build one normalized table in plain HTML
Use identical fields for both products (price, integrations, support, ideal customer) in a real markdown or HTML table, never a screenshot or image.
Name a winner per use case, not one overall winner
Add a short section for each buyer type ('best for small teams,' 'best for enterprise') so a use-case-specific query has a direct answer to lift.
Cite your own sources next to each claim
Link pricing pages, docs, and any test results directly beside the claim they support, and note when you last verified them.
FAQ
More often than you'd expect, though the data covers different engine pairs for the brand and the sourcing. BrightEdge found ChatGPT and Google AI agree on the same brand recommendation 80% of the time on 'compare' queries, the highest agreement of any query type tested, versus only 23% on open-ended 'best' queries. That agreement doesn't carry over to sourcing: Averi's citation study found only 11% of the domains ChatGPT cites also turn up in Perplexity's citations, so even where the winner matches, the evidence trail usually doesn't.
Because they retrieve from different indexes and reward different content shapes. Averi's analysis of 680 million citations found only 11% of domains cited by ChatGPT are also cited by Perplexity. ChatGPT's citations track Bing's results and lean heavily on Wikipedia; Perplexity runs live retrieval that leans on Reddit and YouTube. A page can win one engine's citation and stay invisible to the other.
Short and early. Put your recommendation and the core differences in the opening 80 words, before any background or setup, so an engine has a complete answer to lift even if it never reads past your first paragraph.
Plain HTML, always. A model can parse a text-based table as structured data; it cannot read an infographic or a screenshot of a spreadsheet. Use one consistent set of fields (price, integrations, support, ideal customer) across every row so an engine can map the comparison cleanly.
Per use case. ChatGPT expands a 'vs' prompt into an average of 2.1 sub-searches that inject specific brand and use-case language, and 61.9% of queries overall get different brand recommendations across AI surfaces. A page that names 'best for small teams' and 'best for enterprise' separately gives each fanned-out sub-query its own extractable answer instead of forcing one verdict to cover every reader.
Built by the tool you're reading about
Lyra finds the topics worth ranking for, writes them in your repo's voice, fact-checks every claim, and opens a pull request scored and ready to merge. You review and hit merge. Want to see what she'd write for you? Tell us about your blog and the founder will walk through it with you.
Keep reading

AI content detectors top out below 80% accuracy, and false positives hit non-native writers hardest. What to check on your blog instead of a detector score.

AI content governance means proving who wrote a post, who reviewed it, what changed, and when it shipped, an audit trail a Git pull request already gives you.

How to get cited by ChatGPT, Perplexity, and Claude. One AEO checklist won't win all three engines, so here's the engine-by-engine playbook, backed by 2026 data.