Skip to content
← All guidesProduct data

Shopify product schema for AI search: the JSON-LD checklist

By Anphonic 2 min read Updated 10 October 2026

Your Shopify product pages should publish Product markup with an Offer that states price, currency and availability, plus the product’s identifiers, ratings and, where you can honour them, delivery details. Most themes already output basic Product markup, so the job is usually to check what is missing, not to start from nothing.

Answers the question: What structured data should my Shopify product pages have for AI search?

This markup mainly serves crawlers and agents that read your public pages. Shopify’s own AI channels read Shopify Catalog, which is built from the product data in your admin, so keep both in good shape.

The checklist

FieldWhy it mattersCommon gap
name, description, imageThe basics an assistant quotesDescription is marketing copy with no facts
sku, brand, GTIN where you have oneLets an agent identify and match the productSKU missing on some products
offers: price and priceCurrencyAn assistant cannot quote a price it cannot readCurrency missing or wrong
offers: availabilityStops an assistant offering what is sold outNot updated for variants
aggregateRating and reviewShows social proof in a readable formRatings appear on the page but not in the markup
shippingDetailsLets an agent answer delivery questionsAbsent, so delivery is a guess
acceptedPaymentMethodDeclares how a shopper can payPayment options are mentioned in text only
FAQPage on FAQ contentGives an assistant clean question and answer pairsThe FAQ exists but has no markup

An example Offer

The values below are placeholders. Use your own real prices, windows and methods, and publish only what you can honour.

"offers": {
  "@type": "Offer",
  "price": "49.00",
  "priceCurrency": "USD",
  "availability": "https://schema.org/InStock",
  "shippingDetails": {
    "@type": "OfferShippingDetails",
    "shippingDestination": { "@type": "DefinedRegion", "addressCountry": "US" },
    "deliveryTime": {
      "@type": "ShippingDeliveryTime",
      "transitTime": { "@type": "QuantitativeValue", "minValue": 2, "maxValue": 5, "unitCode": "DAY" }
    }
  }
}

The most common gap: ratings

Many stores show star ratings through a review app widget that loads with JavaScript. A crawler that does not run JavaScript never sees them. Some review apps can output ratings and reviews as markup, and on some stores that option is switched off. Check your review app’s settings.

Rules to follow

  • Mark up only what is visible on the page and true. Never invent a rating or a review.
  • Keep price and availability in the markup identical to the page.
  • Test a few pages with a structured data validator.
  • Make changes in your theme’s product template or in your app settings, and keep a copy of the original.

Frequently asked questions

Does Shopify add product schema automatically?
Most themes include basic Product markup, but what they include varies. View the source of a product page and search for "application/ld+json" to see yours.
Why are my star ratings not in my markup?
Usually because the review widget loads with JavaScript, or because your review app’s markup setting is switched off.
Do I need shipping and payment markup?
It is optional, and it helps agents that read your public pages answer delivery and payment questions. Publish only details you can keep true.
Will markup change what Shopify’s AI channels show?
Not directly. Those channels read Shopify Catalog, which comes from your admin data. Markup helps the crawlers and agents that read your pages.