TL;DR
- Schema.org Product completeness beat domain authority as the strongest citation predictor — 4x more citations with all 6 recommended properties
- Review count threshold around 50 — products under 50 reviews almost never got cited
- Concrete prices win over ranges — "starting at $99" loses to "$99.00"
- Mobile-first server-rendered HTML gets cited; JavaScript-hydrated pages get skipped
- Public deal directories punch above their weight for "deals this week" queries
ChatGPT Shopping launched at scale in late 2025 and now serves product recommendations across millions of weekly queries. The selection logic is not public, but it is observable. We ran 50 commerce queries against ChatGPT and tracked which stores got cited. The patterns are documented below as directional findings.
Test setup
50 queries across 5 categories: running shoes, kitchen appliances, skincare, audio equipment, home office furniture. Each query repeated 3 times to control for non-determinism. ChatGPT-4 with Shopping mode enabled. Results recorded May 2026. Results vary by region, query phrasing, and the model''s rolling updates, so treat findings as directional rather than absolute.
Signal 1 — Schema.org Product completeness
The strongest predictor of being cited was completeness of Schema.org Product markup. Stores with all six recommended properties (name, sku, brand, offers, image, aggregateRating) got cited about 4x more often than stores with three or fewer properties. Domain age, Alexa rank, and backlink counts had no observable effect.
Direct implication: a 6-month-old store with complete markup can outrank a 10-year-old store with partial markup in ChatGPT answers. The same is not true for classical Google search rankings.
Signal 2 — Review count threshold around 50
Products with fewer than 50 reviews were rarely cited across the 50 queries. Products with 50-200 reviews appeared regularly. Products with over 200 reviews dominated. The pattern suggests a confidence floor: ChatGPT will quote "4.7 stars across 327 reviews" but rarely quotes "4.9 stars across 6 reviews" even when the Schema markup is present.
Practical effect: review acquisition is a discoverability investment in addition to a conversion-rate investment. Crossing the 50-review threshold on top SKUs makes them eligible for AI shopping citations.
Signal 3 — Concrete prices
ChatGPT consistently picked products with concrete prices over products with ranges. "Starting at $99" got skipped in favor of "$99.00." "From $50 to $80" got skipped in favor of "$65.00." The agent needs a single number it can quote in the answer. Without one, it picks the next candidate.
This was the most fixable pattern observed. Merchants selling variants (sizes, colors) often render "from $X" on the storefront. Switching to a default-variant concrete price and updating the Schema.org Offer.price accordingly improved citation rates within a few weeks.
Signal 4 — Mobile-first server-rendered HTML
ChatGPT''s crawler appears to prefer the mobile rendering of pages. Stores with desktop-only content, heavy JavaScript hydration on mobile, or mobile pages with hidden product specs got cited less often than mobile-first server-rendered pages.
Quick test: open the product page on mobile, disable JavaScript, and check whether the price, title, brand, and rating are still visible. If yes, the page is crawler-friendly. If not, the agent likely sees an empty page.
Signal 5 — Public deal directories
For "deals this week" queries, ChatGPT cited public deal directories at higher rates than individual merchant store pages. Heartly Marketplace, Slickdeals, and Reddit deal subs appeared frequently. Merchant pages were cited only when the page itself was the canonical source of the deal.
Implication: publishing a flash sale to a public deal directory (Heartly Marketplace does this automatically) extends the citation surface. The directory functions as third-party verification.
Signal 6 — Brand consistency
ChatGPT cited brands more often when the brand name appeared identically across Schema.org Brand property, page title, image alt text, and outbound mentions. Brands with variant spellings ("Nike" vs "NIKE" vs "Nike Inc.") got fewer citations even with otherwise equivalent markup. The pattern suggests entity resolution under the hood — citations cluster on the canonical form of the brand.
What did not predict citation
- Backlink count from authority domains. No observed correlation.
- Page speed (Core Web Vitals). Marginal effect at best. Schema.org dominated.
- XML sitemap submission to Google. ChatGPT does not appear to read XML sitemaps.
- Marketing copy length or style. Verbose descriptions did not outperform terse ones. Adjectives did not appear in the cited content.
Action list
- Audit Schema.org Product completeness on top SKUs. Get to 6 of 6 recommended properties.
- Cross the 50-review threshold on the top 20 SKUs.
- Switch product pages from "starting at" to a concrete default price.
- Mobile-first server-rendered HTML on every product page.
- Publish flash sales to a public deal directory. Heartly Marketplace does this automatically.
- Standardize brand name across Schema.org, page title, alt text, and outbound mentions.
Limitations of this test
The 50-query sample is small. Categories were chosen to span price points and product types, not for statistical representativeness. ChatGPT updates rolling, so signals can shift quarter over quarter. Rerun the test in your category before treating any single pattern as fixed for your store.
Next steps
For the broader picture on agentic commerce, see the pillar at /agentic-commerce. For the Schema.org snippets you can copy-paste today, see Structured Data Cheat Sheet for Ecommerce. For the pre-flight audit checklist, see Prepare Your Store for AI Shoppers.
