SEO Guide · 2026
E-commerce structured data and rich snippets: the complete 2026 guide
Structured data has split into two jobs: winning rich snippets in traditional search, and training AI shopping agents to recommend your products. This guide covers every rich result type available to e-commerce sites, what Shopify outputs by default versus what needs custom implementation, and how to prioritize if you're starting from zero.
The 8 rich result types for e-commerce sites
Google currently supports eight distinct rich result types relevant to e-commerce, each with its own schema requirements, eligibility rules, and display context. Not all are available on every page type — and some are actively excluded from certain contexts (you cannot use FAQPage schema on category pages, for instance, without risking a manual penalty for misuse).
| Rich result type | Schema type | Appears on | Google AI Mode | ChatGPT | Perplexity | Conversion impact |
|---|---|---|---|---|---|---|
| Product | Product + Offer |
Product pages, Shopping panel | Used | Used | Used | Very High |
| Review / Rating | AggregateRating + Review |
Product pages | Used | Used | Used | Very High |
| FAQ | FAQPage |
Product pages, category pages (carefully) | Used | Partial | Partial | Medium |
| Video | VideoObject |
Product pages with embedded video | Partial | Not read | Not read | Medium |
| Breadcrumb | BreadcrumbList |
All pages | Used | Partial | Partial | Low-Medium |
| Sitelinks Searchbox | WebSite + SearchAction |
Home page only | Not used | Not used | Not used | Low |
| Organization | Organization |
Home page, about page | Used | Partial | Partial | Low-Medium |
| Local Business | LocalBusiness |
Stores with physical locations | Used | Partial | Not used | Medium (local) |
What Shopify themes output by default vs. what needs custom code
| Structured data type | Dawn theme | Debut theme | Sense theme | Impulse (Archetype) | Custom code needed? |
|---|---|---|---|---|---|
| Basic Product JSON-LD | Yes | Yes | Yes | Yes | No — but fields are incomplete |
| AggregateRating | No | No | No | Partial (with app) | Yes — requires app or custom Liquid |
| Individual Review objects | No | No | No | No | Yes — requires reviews app with JSON-LD output |
| shippingDetails (Offer) | No | No | No | No | Yes — custom Liquid required for all themes |
| returnPolicy | No | No | No | No | Yes — not output by any default theme |
| BreadcrumbList | Yes | Yes | Yes | Yes | No — output on product and collection pages |
| FAQPage | No | No | No | No | Yes — custom Liquid + metafields or app |
| VideoObject | No | No | No | No | Yes — must be added manually for each product video |
| Organization | No | No | No | No | Yes — add to theme.liquid or index template |
| WebSite (Sitelinks Searchbox) | No | No | No | No | Yes — add to home page template |
| ItemList (collections) | No | No | No | No | Yes — no default theme outputs ItemList for collections |
How each AI agent uses your structured data
Google AI Mode
Google AI Mode reads your page JSON-LD and integrates it with Shopping Graph data (from your Google Merchant Center feed) and crawled page content. When a user asks "what are the best running shoes under $150 with free returns", AI Mode queries its combined knowledge graph for products matching all three criteria. Stores without returnPolicy in their structured data cannot appear in these "free returns" filter queries — even if their policy page explicitly states free returns in plain text, the confidence level required for AI Mode to surface it is much higher without structured data confirmation.
ChatGPT Shopping
ChatGPT Shopping (powered by the GPT-4o browsing capability with Shopify and Bing integrations) reads page-level JSON-LD when it visits your product pages. It primarily uses Product schema for price/availability, AggregateRating for social proof, and Organization/Brand for merchant identity. ChatGPT does not currently use shippingDetails schema in its structured output format, but it does parse shipping information from page text. FAQPage schema helps ChatGPT generate accurate answers to product-specific questions without hallucinating details.
Perplexity Shopping
Perplexity Shopping focuses heavily on comparative signals — price, rating, key attributes. It reads AggregateRating and uses it in comparison tables it generates for shopping queries. It also reads additionalProperty values to populate comparison attribute columns. Stores that use additionalProperty for key specs (material, dimensions, certifications) appear in more Perplexity comparison tables than stores with description-only specification text.
Minimum viable structured data: complete JSON-LD template
This is the minimum structured data set that covers all three major AI shopping agents and achieves Google rich result eligibility for Product, Review, Breadcrumb, and FAQ result types. Implement this on your highest-traffic product pages first.
<!-- Product page: minimum viable JSON-LD set -->
<!-- 1. Product + Offer + AggregateRating -->
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Product",
"name": "Women's Trail Running Shoe — Cloudstrike Pro",
"description": "Lightweight trail running shoe with Vibram outsole and Gore-Tex waterproof membrane. 8mm heel drop. 280g (US 8). Suitable for technical terrain in all weather conditions.",
"brand": { "@type": "Brand", "name": "TrailForce" },
"sku": "TF-CLOUDSTRIKE-W-US8-BLUE",
"gtin13": "0765432109876",
"mpn": "CLOUDSTRIKE-PRO-W",
"color": "Midnight Blue",
"material": "Gore-Tex / Vibram",
"weight": { "@type": "QuantitativeValue", "value": 280, "unitCode": "GRM" },
"image": [
"https://yourstore.com/cdn/shop/products/cloudstrike-pro-front.jpg",
"https://yourstore.com/cdn/shop/products/cloudstrike-pro-sole.jpg",
"https://yourstore.com/cdn/shop/products/cloudstrike-pro-side.jpg"
],
"additionalProperty": [
{ "@type": "PropertyValue", "name": "Heel drop", "value": "8mm" },
{ "@type": "PropertyValue", "name": "Waterproof", "value": "Yes — Gore-Tex" },
{ "@type": "PropertyValue", "name": "Outsole", "value": "Vibram Megagrip" },
{ "@type": "PropertyValue", "name": "Best for", "value": "Technical trail, wet conditions" }
],
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": "4.6",
"reviewCount": "847",
"bestRating": "5",
"worstRating": "1"
},
"offers": {
"@type": "Offer",
"price": "139.99",
"priceCurrency": "USD",
"availability": "https://schema.org/InStock",
"url": "https://yourstore.com/products/cloudstrike-pro-women",
"priceValidUntil": "2026-12-31",
"seller": { "@type": "Organization", "name": "Your Store" },
"shippingDetails": {
"@type": "OfferShippingDetails",
"shippingRate": {
"@type": "MonetaryAmount",
"value": "0",
"currency": "USD"
},
"shippingDestination": {
"@type": "DefinedRegion",
"addressCountry": "US"
},
"deliveryTime": {
"@type": "ShippingDeliveryTime",
"handlingTime": {
"@type": "QuantitativeValue",
"minValue": 0,
"maxValue": 1,
"unitCode": "DAY"
},
"transitTime": {
"@type": "QuantitativeValue",
"minValue": 2,
"maxValue": 5,
"unitCode": "DAY"
}
}
},
"hasMerchantReturnPolicy": {
"@type": "MerchantReturnPolicy",
"applicableCountry": "US",
"returnPolicyCategory": "https://schema.org/MerchantReturnFiniteReturnWindow",
"merchantReturnDays": 30,
"returnMethod": "https://schema.org/ReturnByMail",
"returnFees": "https://schema.org/FreeReturn"
}
}
}
</script>
<!-- 2. BreadcrumbList -->
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "BreadcrumbList",
"itemListElement": [
{ "@type": "ListItem", "position": 1, "name": "Home", "item": "https://yourstore.com/" },
{ "@type": "ListItem", "position": 2, "name": "Women's", "item": "https://yourstore.com/collections/womens" },
{ "@type": "ListItem", "position": 3, "name": "Trail Running Shoes", "item": "https://yourstore.com/collections/womens-trail-running-shoes" },
{ "@type": "ListItem", "position": 4, "name": "Cloudstrike Pro", "item": "https://yourstore.com/products/cloudstrike-pro-women" }
]
}
</script>
<!-- 3. FAQPage for product-specific questions -->
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [
{
"@type": "Question",
"name": "Is the Cloudstrike Pro waterproof?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Yes. The Cloudstrike Pro features a Gore-Tex Extended Comfort membrane that is fully waterproof and breathable. The outsole-to-upper bond is sealed to prevent water intrusion through the sole junction."
}
},
{
"@type": "Question",
"name": "What is the heel-to-toe drop on the Cloudstrike Pro?",
"acceptedAnswer": {
"@type": "Answer",
"text": "The Cloudstrike Pro has an 8mm heel-to-toe drop, making it suitable for runners transitioning from traditional running shoes. It is not a zero-drop or minimalist shoe."
}
},
{
"@type": "Question",
"name": "Does this shoe run true to size?",
"acceptedAnswer": {
"@type": "Answer",
"text": "The Cloudstrike Pro runs true to size for most foot shapes. Runners with wide feet should consider sizing up half a size as the toe box is medium width. We offer free returns within 30 days if the fit isn't right."
}
}
]
}
</script>
Implementation priority order for a Shopify store starting from zero
Product + Offer schema on all product pages
Most themes do this — but check that price, priceCurrency, availability, and image are all populated correctly. Fix broken or missing values first. This is the baseline for Shopping panel eligibility and AI agent product identification.
AggregateRating on product pages
Install a reviews app that outputs JSON-LD (Judge.me, Okendo, Stamped.io all support this). Star ratings in search results consistently produce 15–35% CTR lifts. AI agents use rating data for comparative recommendations. Highest ROI structured data investment after the baseline Product schema.
shippingDetails in Offer schema
Required for Google's "free shipping" filter in Shopping results. Required for AI Mode to answer "which stores offer free shipping over $X". Not output by any default theme — add to product template Liquid. Include delivery time range for maximum AI agent compatibility.
returnPolicy (MerchantReturnPolicy) in Offer schema
Enables AI Mode "free returns" filter. ChatGPT Shopping reads return policy for purchase confidence answers. Google displays return window in Shopping results. Not output by any default theme. Add alongside shippingDetails in the same Offer block.
BreadcrumbList on all pages
Most themes already output this — verify the URL structure matches your actual URL paths and that position numbers are sequential. Fix if incorrect; the impact is moderate but it's low-effort to verify.
FAQPage on high-traffic product pages
Add to your top 20 product pages first. FAQs should answer actual pre-purchase questions — sizing, compatibility, materials, return process. Avoid using FAQPage for marketing copy or generic questions. AI agents use FAQPage answers to generate accurate product question responses without hallucinating.
VideoObject on product pages with videos
If your product pages embed YouTube or Vimeo videos (or Shopify-hosted videos), add VideoObject schema. Include name, description, thumbnailUrl, uploadDate, duration (ISO 8601 format). Video carousels in Google search provide significant additional visibility for high-intent queries.
Organization on home page and about page
Add once, get site-wide benefits. Include name, url, logo, contactPoint, sameAs (social profiles), and foundingDate. Helps AI agents establish brand entity knowledge and correctly attribute your products to your business across platforms.
Structured data for AI agent comparison queries
When a user asks ChatGPT or Google AI Mode a comparison question like "what's the best trail running shoe for wet terrain under $150", the agent generates a comparison answer. The products that appear in this answer are determined by how well each product's structured data answers the implicit sub-questions in the query:
- "Trail running shoe" →
Product.nameoradditionalProperty["Best for"]must include trail context - "Wet terrain" →
additionalProperty["Waterproof"]oradditionalProperty["Outsole"]must signal wet-condition suitability - "Under $150" →
Offer.pricemust be populated and accurate
Products that match all three signals via structured data appear in the comparison; products that only match in plain text are less reliably included. This is why additionalProperty — while not required by Google's rich results guidelines — is increasingly important for AI agent visibility. Treat it as structured metadata for your most important product attributes.
Frequently asked questions
Which structured data types have the highest conversion impact?
Product schema with AggregateRating produces the highest measured conversion lift — star ratings in search results consistently increase CTR by 15–35%. Product schema with shippingDetails ranks second, enabling "free shipping" filter eligibility. ReturnPolicy schema is third, enabling "free returns" filter queries in Google AI Mode. FAQPage is fourth, capturing pre-purchase informational queries.
Does Shopify automatically add structured data to product pages?
Shopify's Dawn theme and most modern themes output basic Product JSON-LD: name, description, image, price, and availability. However, AggregateRating, shippingDetails, returnPolicy, FAQPage, and VideoObject all require custom Liquid code — they are not output by any default Shopify theme. Approximately 60% of high-impact structured data fields for e-commerce require custom implementation.
How does Google AI Mode use structured data differently from traditional search?
Google AI Mode synthesizes answers from structured data, Shopping Graph data, and crawled page content together. It specifically uses returnPolicy and shippingDetails to generate comparison tables for "free returns" and "free shipping" queries — these fields must be present in JSON-LD for reliable AI Mode inclusion, even if the same information appears in page text.
Can I implement all rich snippet types on a standard Shopify plan?
Yes, with one exception: checkout page structured data requires Shopify Plus and checkout UI extensions. All product page, collection page, home page, and blog structured data types are implementable on all Shopify plans by editing theme Liquid files.
Check your structured data coverage
CatalogScan audits all 8 rich snippet types across your Shopify catalog and tells you exactly which fields are missing, broken, or impacting your AI agent visibility — with fixes ranked by conversion impact.
Scan your store free Read the blog