ChatGPT Shopping launched in late 2024. By Q1 2026, three patterns are stable enough to plan around. The first: it doesn’t read prose. The second: it weights structured data more than its own past behavior suggested. The third: a product missing from ChatGPT’s index isn’t necessarily missing from ChatGPT’s recommendations — the routes a product takes into a response are not all the same route.
This guide unpacks each pattern, the signals that show up most consistently in production, and the changes that move a product from “absent” to “surfaced” to “recommended.”
The three routes a product takes into a ChatGPT response
ChatGPT can return a product in three distinct ways, and the inputs that decide each one are different:
What each route looks like in a real ChatGPT response:
Route 1: ChatGPT’s product index (the shopping experience)
When a user enters a shopping-intent query, ChatGPT may render the product carousel. Products in the carousel come from ChatGPT’s own indexed catalog. Inputs that get a product into this index, ranked by observed correlation strength:
- Valid Schema.org
Productmarkup withoffers,brand, and at least one ofgtin13,gtin8, ormpn. - A submitted Google Merchant Center feed. ChatGPT’s index pulls heavily from GMC; products not in GMC are visible only through web crawl, which is slower and less reliable.
- Image markup with explicit dimensions. Carousel rendering needs image specs the model can use without re-fetching.
- Canonical URL that resolves without redirects. Products behind 302s are routinely discarded.
Route 2: Cited as a web result (the answer body)
For research-intent queries, ChatGPT may cite a product’s page as a source within an answer rather than render it in the carousel. The inputs are different:
- Page-level content that answers the query — a comparison page, a buying guide, a review-style product page.
- Authority signals: backlinks, brand recognition, age of domain.
- Plain-text content that’s rich enough to extract a useful sentence for the answer body. This is the only route where prose density matters more than schema density.
Route 3: Synthesized recommendation (no citation)
When ChatGPT recommends a product without citing a specific URL — “a good wool overcoat in this price range is X by Y” — the model is synthesizing from training data and reinforcement signal. The product is in the response, but no source page is credited.
This is the route most outside an operator’s direct control, but the inputs that correlate are: brand recognition (mentioned in coverage, mentioned by reviewers, named in third-party guides), category-level authority (the brand has been associated with the category by multiple independent sources), and consistency across surfaces (the product description, GMC feed, and on-site copy say compatible things).
What ChatGPT reads from a Shopify product page
Testing across Shopify catalogs of various sizes consistently shows ChatGPT prioritizing five inputs from a product page:
- JSON-LD
Productmarkup. Read first, weighted heavily. The single highest-leverage input. - HTML title and meta description. Used as fallback when schema is malformed; used for summarization when schema is complete.
- Image alt text on the primary image. Multi-modal models read the image directly; text-only models fall back to alt text. Either way, the alt text matters.
- Plain-text product description. Less weight than the prior three, but still parsed. Descriptions over ~150 words score meaningfully better than shorter ones, with diminishing returns above ~400.
- The first H1 on the page. Used as the product name when JSON-LD
nameis missing.
What ChatGPT ignores
Equally important. From observed behavior across the catalog landscape:
- Open Graph tags. Used by social platforms; not weighted by ChatGPT for product surfacing.
<meta name="keywords">. Long deprecated; mentioned only because it still ships in some Shopify themes’ SEO sections.- Backlink anchor text. Authority signals from backlinks count; the specific anchor text does not appear to influence which products surface for which queries.
- Page load speed. Below a generous threshold, doesn’t appear to matter for ChatGPT specifically. It still matters for Google AI Overviews, which weight Core Web Vitals into the product-card ranking.
- Structured data on category and collection pages. ChatGPT reads product pages directly; collection-page schema doesn’t appear to feed into product surfacing.
The contrarian take
Most ChatGPT-optimization content focuses on the carousel — Route 1. That’s the most visible surface but not necessarily the most valuable for a brand. Route 3 — synthesized recommendation, no citation — sends qualified traffic without a direct attribution path, and it’s the route most strongly tied to brand recognition rather than markup.
A brand that wins Route 1 with great markup but has no presence in third-party coverage will see traffic that converts at platform benchmarks. A brand that wins Route 3 through earned third-party authority will see traffic that converts above benchmarks because the referrer is implicitly recommending the brand. The work for Route 3 is not a schema audit — it’s the same content marketing, PR, and backlink work that the content engine playbook describes.
Optimizing only for the carousel is leaving the more durable surface on the table.
Six changes that move products into rotation
Ranked by impact-per-hour-of-work, with the highest-leverage first:
- Submit a Google Merchant Center feed. The largest single input change observed. Catalogs without GMC feeds are at an immediate disadvantage even with strong on-site schema.
- Add
gtin13,gtin8, ormpnto every product. Even private label catalogs benefit from this, even using the manufacturer’s identifier. Products without identifiers are deduplicated against competitor listings and lose the citation. - Fix
offers.availability. Most Shopify themes ship this as the bare token (“InStock”). Google parses both forms, but the full Schema.org IRI (https://schema.org/InStock) is the most portable across systems and what we recommend defaulting to. - Render schema server-side. Headless setups that defer schema to client-side JavaScript miss most ChatGPT crawls. Server-render the JSON-LD or move the storefront back to a server-rendered theme.
- Add brand context to image alt text. Generic alt text (“blue sweater”) underperforms branded alt text (“Allbirds Wool Runner — navy blue”). Multi-modal coverage improves measurably.
- Stretch product descriptions toward ~250 words with named entities. Shorter descriptions still surface; descriptions in the 200–300 word range with specific named-entity density (materials, certifications, comparison products) embed toward more shopping-intent queries than shorter or longer ones.
Where it breaks
- B2B catalogs with quote-based pricing. ChatGPT skips products
without a numeric price in
offers. The workaround usingpriceSpecification: "Contact for pricing"validates but is inconsistently surfaced. - Subscription and recurring-billing products. ChatGPT’s carousel treats these as one-time purchase products and may surface a competitor’s one-time version preferentially.
- Configurable products with build-your-own pricing. No clean pattern. The catalog-level workaround is to expose pre-configured bundles as separate products with stable schema.
- Catalogs with frequent SKU churn. ChatGPT’s index re-crawls on a delay; products that go in and out of stock daily can fall out of the carousel during the gap.
What this means in practice
For a Shopify catalog scoring above 65 on Schema completeness in Lumio’s AI Readiness Score, ChatGPT visibility is largely a feed problem (GMC) and an identifier problem (GTIN/MPN). For a catalog below 65 on that dimension, the schema itself is the bottleneck and feed work won’t compensate.
The diagnostic test: search ChatGPT for the catalog’s most representative product type (“women’s wool overcoat under $400”) and check whether the brand appears at all. If yes — in any route — the on-site fundamentals are passing and the work is to expand surfaces. If no, the work is on-site schema before anything else.