← Blog · October 4, 2026

E-commerce structured data: Product, Offer and reviews done right

The exact Product structured data Google wants for rich results, including price, availability and ratings.

Product pages live and die by the snippet. Correct Product structured data is what unlocks price, availability and star ratings in search.

The minimum

{
  "@context": "https://schema.org",
  "@type": "Product",
  "name": "Widget",
  "offers": {
    "@type": "Offer",
    "price": "29.00",
    "priceCurrency": "USD",
    "availability": "https://schema.org/InStock"
  }
}

What each field does

  • name — the product name
  • sku — your internal identifier
  • image — absolute URL(s)
  • offers.price and priceCurrency — must match the visible price
  • offers.availability — InStock, OutOfStock, PreOrder

Reviews and ratings

Add AggregateRating only if reviews are genuinely visible on the page. Fake or self-serving ratings violate Google's guidelines and can trigger a manual action.

Variations

For product variants, describe each variant with its own Offer, or use a single Product with multiple offers. Keep price and availability accurate — mismatches between markup and the page are a common reason rich results are dropped.

Generate and validate

Use the free Product schema generator to build the JSON-LD, then validate with the Rich Results Test. There are platform versions for Shopify and WooCommerce too.

Try the free tool

Generate Product schema with name, price, currency, availability and reviews to enable rich product results.

Open Product Schema Generator