Inside chatgpt.com/shopping: A 200-Query Teardown of OpenAI's Real Commerce Stack
We ran 200 buyer queries against ChatGPT's dedicated shopping surface, captured every response payload, and reverse-engineered the plumbing. A hidden GPT-5.3 handles 56% of shopping queries. Fifteen direct feed partners power the carousel — Amazon isn't one, and still owns the single badge OpenAI ships. Ads run through Criteo. Every image is face-detected. Here's what a teardown of the payload actually reveals.
Viren Inaniyan · August 7, 2026 · Agentic Commerce Fundamentals
For most of 2026 the interesting question about AI shopping was philosophical: is it real, is it a threat to Google, will anyone actually buy in-chat. That is the wrong question. The interesting question — the one that decides whether your brand appears when someone asks ChatGPT which mixer grinder to buy — is mechanical. What is the shopping surface actually doing? Which sources does it trust? What does it see when it looks at your product?
To answer that, we ran a controlled teardown of chatgpt.com/shopping — 200 buyer queries across categories, every response payload captured, every field inspected. This piece is what came out. No client data. No pilot metrics. Just the machinery OpenAI ships to every user of its dedicated shopping surface, and what the payload tells you about how to actually be visible.
The shopping surface is a different product
chatgpt.com/shopping is not "regular ChatGPT with a commerce skin." It is a distinct product with its own model routing, its own UI affordances, and its own retrieval pipeline. Against the same 200 queries we ran through base ChatGPT for comparison:
- Product cards rendered on 10× more queries.
- Comparison tables appeared 13× more often.
- Web search fired 6.25× more often.
These are not cosmetic differences. They come from a different backend tuned specifically for buying intent — and, critically, from a different model tier.
GPT-5.3, and a variant nobody documented
Every response payload carries a model_version header. On regular ChatGPT queries GPT-5.3 accounts for roughly 4% of traffic. On the shopping surface it powers 56%. Every comparison table we saw came from a GPT-5.3 response. Every "Browse All" button too.
We also spotted an undocumented variant — gpt-5.3-mini — used only on shopping. It appears to handle short deterministic follow-ups (filter tightening, "cheaper alternative," spec confirmations) where a full GPT-5.3 pass would be overkill.
The practical implication is uncomfortable if you have been testing your brand's visibility inside base ChatGPT with the free tier: you are not testing what the majority of your shoppers see. The shopping surface is served by a different model on a different pipeline. Measurement has to run through chatgpt.com/shopping explicitly, or the numbers you get back are for a different product.
Fifteen direct feed partners, and Amazon is not one
Every product card carries a feed_id. Decoded across 200 queries, they resolve to 15 direct feed partners:
| Partner | Card count in 200-query sample |
|---|---|
| Etsy | 12 |
| Best Buy | 10 |
| Target | 4 |
| Apple | 3 |
| Lululemon | 3 |
| Backcountry | 2 |
| SharkNinja | 2 |
| Crate & Barrel | 2 |
| H&M | 2 |
| Poshmark | 2 |
| 5 additional single-appearance partners | 1 each |
Cards outside those 15 arrive by a different code path. A feed_id prefix of openai_bright_* means the card came through Bright, a third-party aggregator OpenAI uses to fill catalog gaps. Cards with no feed_id at all are pulled from organic web crawl and post-hoc metadata enrichment.
Amazon has no direct-feed slot. That is not a small detail — it is the mechanical explanation for what Amazon is doing everywhere else in the ecosystem: blocking OpenAI's scrapers, opening a separate revenue conversation, and buying ChatGPT ads during Prime Day. When you can't be in the feed, you compete on ads for the same real estate — and, as the data further down shows, Amazon is winning the parts of the surface that don't need a feed slot to reach.
The provenance field: p1, p2, p3
The single most useful field in a shopping payload is debug_info.source. Every offer inside every card carries one of three values:
- p1 — metadata enrichment. OpenAI resolved this card by matching a product mention against its own knowledge base. Link, price, and image were filled in post-hoc.
- p2 — organic. The card came from live retrieval — the SEO surface, essentially.
- p3 — direct feed partner. The card came from one of the 15 feeds above (or Bright).
Three lessons drop out.
First, a p3 offer is essentially uncontested by editorial content. If you are a feed partner, your presence is guaranteed — the model does not have to weigh you against a Buying Guide article. If you are not, the ranking layer picks between your organic retrieval and enrichment against everyone else's.
Second, the p1/p2 distinction is where AEO (answer engine optimization) actually lives. p2 requires ranking well in retrieval, the classical SEO game. p1 requires being consistent, structured, and named enough that the enrichment layer can bind your product to a stable identifier. Two different disciplines, and most brands are only running the first.
Third, the mix of p1/p2/p3 on any given response is your real leaderboard. On queries where a category has zero p3 feed partners — which is most queries in India — the ranking becomes a knife fight between organic retrieval, enrichment quality, and community/affiliate citation graphs. Which is exactly why niche affiliate sites can dominate categories the big retailers ignore.
OpenAI ships exactly one badge — and Amazon owns the majority
The single most surprising discovery in the teardown is what OpenAI doesn't ship. There is no "Editor's choice." No "Top rated." No "Bestseller." There is exactly one product-card badge in the entire shopping surface, and its label is "Best price."
We pulled a live count from the payload across two categories where we hold measurement — mixer grinders on 2026-07-23, sunscreens on 2026-07-10:
| Category | Cards tagged "Best price" | Cards where Amazon is a marketplace | Amazon's share of the badge |
|---|---|---|---|
| Mixer grinders (India) | 511 | 288 | 56% |
| Sunscreens (India) | 490 | 309 | 63% |
Amazon captures the majority of the only badge OpenAI ships. Given badges materially lift buyer click-through in every controlled test that has ever been done on shopping UIs, this is arguably the single highest-leverage placement Amazon holds in ChatGPT Shopping today. It also explains why the mechanical absence of Amazon from the feed-partner list is misleading: Amazon reaches the surface through organic retrieval, wins on price signal, and gets rewarded with the one badge that lifts clicks.
Face detection on every product image
Every product image is scored through what looks like a face-detection pipeline. The showcase_metadata object exposes:
subject_confidence— how confident the model is that the image has a coherent primary subject.focus_box— the crop rectangle it would use for a tight product-focused thumbnail.rendering_strategy— one offocus-fit,contain,clean-subject-cover.
Products with a strong subject_confidence — single clean subject, uncluttered background — get the flattering focus-fit render. Cluttered lifestyle shots get contain, which means a smaller thumbnail and less visual weight in the carousel. Poorly cropped images get squeezed.
There is an obvious action item most brands are missing: the image the model shows is not the image you uploaded. It is a computed crop of it. If your primary product image does not survive a hard center-crop with a bounding box on the primary subject, you are being served at reduced visual weight even when you win the ranking layer. Amazon's PDP images already survive this crop cleanly — the platform standardized on white-background hero shots years ago, and that discipline pays off on the ChatGPT carousel.
The chatgpt_metadata payload is what nobody is publishing
Half of every mixer-grinder card on our July 23 pull carried a chatgpt_metadata object. Here is one exactly as it landed:
{
"cite_ref": "turn0product0",
"analytics_meta": { "product_event_uuid": "d92beafe-ecec-427a-8c2f-0772b38085e5" },
"chatgpt_product_id": "8902767113447894386",
"product_lookup_data": {
"all_ids": { "p2": ["8902767113447894386"] },
"known_ids": {},
"request_query": "ALTRR Portable Spice Mill (200W)",
"metadata_sources": ["p1", "p3"]
},
"generated_product_query": "portable spice grinder travel"
}
Five things in one object worth publishing on their own:
chatgpt_product_idis an internal OpenAI catalog identifier. Products are being unified into a single index across sources.cite_refmatches the inline citation token used in the chat body —turn0product0maps back to a specific【citation】fragment. This is how the shopping surface stitches its footnotes.product_event_uuidis a per-card impression/click attribution key. OpenAI has a running per-user, per-card interaction log.metadata_sources: ["p1", "p3"]means this specific card was resolved from both metadata enrichment and a direct feed partner in parallel.generated_product_queryis the most useful field in the whole payload. The user typed"ALTRR Portable Spice Mill (200W)". ChatGPT actually shopped on"portable spice grinder travel". Optimize for the rewrite, not the original query.
That last line is the reason a brand cannot lift its ChatGPT-shopping presence just by winning its own branded keywords in classical SEO. The system is de-branding your queries and shopping the intent underneath. Amazon's PDPs — with their long, natural-language titles and dense structured attributes — get bound to those rewritten queries better than most competitors' pages. It's not luck. It's PDP architecture that happens to be exactly what the enrichment layer needs.
The dealer/offer block is remarkably constant
Each card has two logical layers: the product layer (title, image, spec pills, price band) and the dealer layer (specific offers, prices, buy-links).
The product layer personalizes on stacked signals — logged-in memory, IP-derived geo, learned regional priors. The dealer layer, on the same query, does not move nearly as much. Once a card is selected, the offer block is drawn from a fairly stable retailer set. This has a mechanical consequence in India: quick-commerce (Zepto, Blinkit, Instamart) frequently drops out in Tier 2/3 IPs, which mechanically raises marketplace share for Amazon and Flipkart on those queries — not because the model prefers them, but because it cannot fulfill the alternates.
Ads, quietly, on the shopping surface
chatgpt.com/shopping serves ads. We caught two examples cleanly:
- Lamps Plus through Criteo, on furniture queries.
- Wayfair rotating across home-goods queries; the advertiser slot rotated per request even for identical prompts.
Ads do not have a distinct visual treatment yet. They render inside the same card format as organic results, with a small "Sponsored" annotation that does not survive most screenshots. Advertiser rotation per-request means measurement has to run against many replays to get a stable share count.
OpenAI launched Ads Manager on May 5 2026 and started supporting product feeds inside ads on June 2 2026. As of this teardown the ads inventory is small — but the plumbing exists, it is monetized, and Amazon has already bought into it. Amazon's first ChatGPT ads ran on Prime Day 2026 — clicks routed to amazon.in, no in-chat checkout — which is the same posture as its feed strategy: participate through the paid door, keep the buyer on Amazon's own surface.
The metadata is where the story lives
The single most valuable thing you can do with chatgpt.com/shopping is not to test your brand's rank. It is to inspect the payload on every response. feed_id, debug_info.source, showcase_metadata, subject_confidence, rendering_strategy, chatgpt_metadata, generated_product_query, tag — these fields are what OpenAI is doing.
Screenshots of the surface look like Google Shopping. The payload underneath is a completely different retrieval, ranking, and provenance system, and if you are optimizing for the screenshot you are optimizing for the wrong artifact.
For the next piece in this series we go deep on what we found when we measured Amazon's placement across seven longitudinal runs — and what the July 2026 update to that data reveals about how volatile these mechanics remain. The short version: the surface changes underneath you. The brands that survive the changes are the ones with the payload-level understanding this teardown gives you.
FAQ
How does chatgpt.com/shopping work? It is a distinct product from base ChatGPT, backed by a different model tier (GPT-5.3 handles 56% of shopping queries versus 4% on regular ChatGPT), a different retrieval pipeline, and a set of 15 direct feed partners. Product cards carry provenance metadata (debug_info.source = p1/p2/p3) that reveals whether they came from metadata enrichment, organic retrieval, or a feed partner.
Who are OpenAI's direct shopping feed partners? Fifteen partners are visible in our sample. Etsy (12), Best Buy (10), Target (4), Apple, Lululemon, Backcountry, SharkNinja, Crate & Barrel, H&M, Poshmark, and five single-appearance partners. Amazon is not among them — Amazon reaches the shopping surface through organic retrieval and paid ads instead.
Does ChatGPT Shopping use a different model than base ChatGPT? Yes. GPT-5.3 handles 56% of chatgpt.com/shopping queries versus roughly 4% of regular ChatGPT queries, with an undocumented gpt-5.3-mini variant used only on shopping for lightweight follow-ups. Every comparison table we saw came from a GPT-5.3 response.
Does chatgpt.com/shopping show ads? Yes. We caught Lamps Plus via Criteo and Wayfair (advertiser rotating per request). Ads render inside the same card format as organic results with a small "Sponsored" annotation. OpenAI's Ads Manager launched May 5 2026 and product-feed ads went live June 2 2026. Amazon has already bought into this surface — Amazon's first ChatGPT ads ran on Prime Day 2026.
What badges does ChatGPT Shopping use? Exactly one. The tag field on shopping cards only ever contains the value "Best price." No "Editor's choice," no "Top rated," no "Bestseller." Amazon captures 56% of the badge on mixer grinders and 63% on sunscreens in India.
Does ChatGPT rewrite user queries before shopping? Yes. The chatgpt_metadata.generated_product_query field shows the reformulated query the shopping backend actually searched on, which is often quite different from what the user typed. A user typing "ALTRR Portable Spice Mill (200W)" was shopped on "portable spice grinder travel." Optimize for the rewrite, not the original query.
Independent research. Query sample: 200 buyer prompts run through chatgpt.com/shopping in April 2026 with response payloads captured and inspected. Live payload cross-checks pulled from Supabase project lowixszauvvyccoiwfyp (geo_vis schema) on 2026-08-05. Next in the series: The Amazon Shelf Story — what really happened between May and July 2026.
FAQ
Continue reading
August 7, 2026
Query Fan-Out: One Question Becomes 5-7 Searches (And ChatGPT Rewrites All of Them)
A user typed 'ALTRR Portable Spice Mill (200W)' into ChatGPT. The shopping backend searched 'portable spice grinder travel' — brand stripped, spec dropped, intent added. That rewrite is stamped into every card's payload as generated_product_query, and it is only one branch of a fan-out that turns a single buyer question into 5-7 sub-queries across 8 distinct axes. Classical SEO optimizes one keyword per page. AI shopping ranks you across the whole fan-out — which is exactly why Amazon holds 63-79% presence on every sub-intent type we measure.
August 7, 2026
The 86% Rule — In AI Shopping, Eligibility Beats Ranking
When a retailer product page gets cited in a ChatGPT shopping answer, it wins the top recommendation slot 86.03% of the time — the highest hit rate of any content type in an 18,942-citation dataset. But retailer pages are only 8.28% of what ChatGPT cites. That inversion rewrites the whole playbook: the scarce, high-conversion battle in AI shopping is getting cited at all, not ranking once cited. Here are the three gates that decide citation eligibility — reviews, product-type fit, sub-intent presence — and the two beloved PDP levers that tested statistically dead.
August 7, 2026
AI Visibility Has Two Layers: The Placement vs Citation Dashboard That Actually Works
AI shopping answers have two independent layers — the products the model recommends (placement) and the sources it attributes the answer to (citation) — and every brand's AI-visibility dashboard is quietly blending them into one number that lies. On Amazon's India mixer-grinder data, one layer is 61.48% and the other is 0.78% — a 79× gap. On sunscreens the same structural pattern holds at 25×. And both layers moved in opposite directions twice in eight months. Here is the four-KPI-group model that fixes it.