DEV Community

Cover image for Perplexity vs ChatGPT vs Gemini: how each one actually finds your products
Ievgenii Gryshkun
Ievgenii Gryshkun

Posted on • Originally published at angeo.dev

Perplexity vs ChatGPT vs Gemini: how each one actually finds your products

Two stores. Identical products, identical schema, identical SEO. One shows up inside ChatGPT Shopping, the other never does.

The difference isn't optimisation quality. The three engines don't read the same thing to find a product — and a store optimised for one pipeline can be structurally invisible to the other two.

Two pipelines, not one

Every one of these platforms runs two separate systems, and almost every AEO checklist conflates them.

The citation surface answers "what's the best way to do X" with numbered sources. Fed by web crawling. Your pages, schema, llms.txt and robots.txt rules all live here.

The shopping surface answers "best waterproof boots under €150" with a product carousel. On ChatGPT and Google this runs primarily on structured feeds rather than on a crawl of your site.

That's why you can allow every AI crawler, ship perfect JSON-LD, and still be missing from ChatGPT product comparisons.

ChatGPT complicates this, and it's worth stating up front because it cuts against the simple version of the rule. Alongside feed-driven results it runs Shopping Research, an agentic mode that browses in real time. OpenAI states plainly that results are organic and based on publicly available retail sites — reading product pages directly, citing sources, with a separate allowlist for merchants who want to be eligible.

So there are three routes on ChatGPT, not two. Pages are irrelevant to one and load-bearing on another. The lesson isn't "pages don't matter for shopping" — it's that feeds and pages feed different surfaces and neither substitutes for the other.

Who reads what

ChatGPT Perplexity Google AI Mode
Product source ACP feed, pushed Live page retrieval Shopping Graph (Merchant Center)
Reads your page for shopping? Not for feed-driven results; Shopping Research reads retailer pages Yes Secondary — schema.org markup contributes
Index crawler OAI-SearchBot PerplexityBot Googlebot
Training crawler GPTBot Google-Extended (token, not a bot)
Merchant onboarding Feed access by application; Shopping Research by allowlist Free, ~5 min Merchant Center; UCP staged

The OpenAI crawler split is load-bearing and widely misconfigured. GPTBot is training. OAI-SearchBot is search visibility. Blocking "OpenAI" wholesale usually means someone intended the first and accidentally did the second — which removes you from ChatGPT citations entirely, feed or no feed.

User-agent: GPTBot
Disallow: /

User-agent: OAI-SearchBot
Allow: /
Enter fullscreen mode Exit fullscreen mode

Check what's actually hitting you

Don't trust anyone's summary, including this one:

grep -Eo "GPTBot|OAI-SearchBot|ChatGPT-User|PerplexityBot|Perplexity-User|Googlebot" \
  /var/log/nginx/access.log | sort | uniq -c | sort -rn
Enter fullscreen mode Exit fullscreen mode

You want OAI-SearchBot and PerplexityBot showing up regularly — those are the index builders. Their absence usually means a robots.txt rule, a WAF rule, or a CDN bot-management setting doing something you didn't intend.

Worth knowing: firewall blocking is invisible in robots.txt. Your rules can be perfectly permissive while Cloudflare silently rejects the request. The log is the only ground truth.

The geography bit

Two things get reported as one here, and separating them changes the plan.

Shopping features available to users are broad — shoppers in most markets can already ask these engines for product recommendations.

Merchant onboarding is not. Direct ACP feed access runs through an application with staged rollout. UCP checkout began in the US and reached Canada, Australia and the UK by May 2026, arriving by cohort. Perplexity's Merchant Program is free and open anywhere.

So your customers may already be asking about products like yours while your ability to push structured data to two of the three is still queued. Perplexity is the channel where good server-rendered markup produces results today, with no application and no wait.

That reorders the work. Page-level readability first — it's what Perplexity reads now, what OAI-SearchBot indexes for citations now, and what feeds the schema.org half of the Shopping Graph. Feeds second, built and validated so the application is a formality when your region opens.

What I'm not sure about

  • How much ChatGPT's two shopping surfaces overlap is unclear. Feed-driven results and Shopping Research are documented separately; how presence in one affects the other is not spelled out.
  • Ranking mechanics are undocumented on all three. Any "top 3 ranking factors" claim here is inference from correlation, not a vendor statement.
  • Perplexity's crawling practices are contested — Cloudflare alleged undeclared crawlers in August 2025, Perplexity disputed the characterisation. I have no independent basis to adjudicate.
  • Regional availability moves faster than any published guide. Re-verify before it drives a budget decision.
  • I build open-source Magento AEO modules, so "prioritise page-level readability" aligns with what my tooling does. Check the claim rather than take it.

Full version with the decision table by merchant type, the Magento-specific paths, and the source list: original post on angeo.dev

Modules are MIT-licensed on Packagist if useful.

Top comments (2)

Collapse
 
citedy profile image
Dmitry Sergeev

didn't realize Gemini relied so heavily on the google shopping graph compared to the others. interesting stuff

Collapse
 
angeo profile image
Ievgenii Gryshkun

Yeah — and Perplexity is the real outlier there. It's the only one of the three where your page markup is the primary input rather than a feed.