How do I add Product schema so AI shopping surfaces can list my products?
AI shopping surfaces in ChatGPT, Perplexity, and Google read Product JSON-LD to get your price, availability, and images — without it, product pages are effectively invisible to them. Add a Product block with name, image, description, brand, and a complete Offer including price, priceCurrency, and availability, then validate.
Agents affected
How to tell you have this problem
- Our scanner reports "product_jsonld_missing" (critical) on product pages, or "product_offer_missing" when the Product block has no Offer.
- Your products never appear when shoppers ask AI assistants for recommendations in your category.
- Warnings for incomplete offers: missing priceCurrency, availability, images, or brand.
How to fix it
Add one Product JSON-LD block per product page. The offers object is mandatory for AI shopping — a Product without price and availability is skipped:
<script type="application/ld+json"> { "@context": "https://schema.org", "@type": "Product", "name": "Trail Runner 2 — Men's", "image": [ "https://www.acme.com/img/trail-runner-2-front.jpg", "https://www.acme.com/img/trail-runner-2-side.jpg" ], "description": "Lightweight trail-running shoe with an 8mm drop and a rock plate.", "sku": "TR2-M-42", "brand": { "@type": "Brand", "name": "ACME" }, "offers": { "@type": "Offer", "url": "https://www.acme.com/products/trail-runner-2", "price": "129.00", "priceCurrency": "USD", "availability": "https://schema.org/InStock", "itemCondition": "https://schema.org/NewCondition" }, "aggregateRating": { "@type": "AggregateRating", "ratingValue": "4.6", "reviewCount": "212" } } </script>Keep availability truthful and updated (InStock, OutOfStock, PreOrder) — AI assistants penalize stale availability by dropping the listing. Only include aggregateRating if you have real, on-page reviews.
Add multiple images (front, side, in-use). Our scanner flags single-image products (product_images_single) because shopping surfaces prefer listings with several angles.
Validate at validator.schema.org, then re-scan the product page. On Shopify or WooCommerce, prefer fixing the theme/plugin template so every product page inherits the block.
FAQ
Is Product schema enough to appear in ChatGPT shopping?
It is the foundation, not a guarantee. ChatGPT shopping draws on crawled product data and feeds; complete Product JSON-LD with a valid Offer is what makes your page parseable at all. Merchant Center feeds (Google/Bing) cover additional surfaces — our platform can generate those from the same data.
My prices change often. Will the schema go stale?
Render the JSON-LD server-side from the same source of truth as the visible price, so they can never diverge. A mismatch between schema price and page price is worse than either alone — it reads as unreliable data.
Do I need GTIN or MPN?
Not strictly for JSON-LD validity, but identifiers help AI systems match your product to a canonical catalog entry, which improves inclusion in comparison answers. Add gtin13 or mpn if you have them; sku at minimum.
Not sure if your site has this issue?
Run a free scan — we test this check (and 60+ others) against your live site and give you the exact paste-ready fix. No signup needed.