schema.institute

Product and Offer schema, explained

By Joel Maldonado, Neural Command, LLC · Last reviewed 21 October 2026

Product describes one item for sale and Offer describes its price and availability. For a Google product snippet you need name plus at least one of offers, review or aggregateRating; an Offer needs price, and priceCurrency and availability are recommended. Merchant listings in Google Shopping have stricter requirements of their own.

What it's for

Product is "any offered product or service"; Offer is "an offer to transfer some rights to an item or to provide a service", usually a price. Google has two experiences built on this markup:

Google currently supports product rich results only on pages that focus on a single product (or variants of one product), not category or listing pages.

Key properties (product snippet)

Property What it holds Google
name The product name. Required
offers / review / aggregateRating At least one of these three. One is required
offers.price The price as a number (39.99), or priceSpecification.price. Required in an Offer
offers.priceCurrency ISO 4217 code, e.g. USD. Recommended for snippets, required for merchant listings. Recommended
offers.availability A schema.org value such as https://schema.org/InStock. Recommended
offers.priceValidUntil Date after which the price ends; a past date can stop the snippet showing. Recommended
AggregateOffer (lowPrice, priceCurrency, highPrice, offerCount) Several sellers' prices on one page. Required parts: lowPrice, priceCurrency
image, description, brand, sku, gtin Product details. Used by merchant listings

Minimal example

{
  "@context": "https://schema.org",
  "@type": "Product",
  "name": "Brass Hose Bib, 1/2 inch",
  "image": "https://example.com/img/hose-bib.jpg",
  "brand": { "@type": "Brand", "name": "Example" },
  "offers": {
    "@type": "Offer",
    "price": 18.50,
    "priceCurrency": "USD",
    "availability": "https://schema.org/InStock",
    "url": "https://example.com/products/hose-bib"
  }
}

Generate Product markup. It has no rating fields on purpose.

Reviews and ratings

Only add review or aggregateRating for real reviews that are visible on the same page. Google's review snippet guidelines say not to aggregate reviews from other websites and not to include fake or undisclosed incentivized reviews. Pros and cons markup is only for editorial review pages, not merchant pages. See Review and AggregateRating.

Common mistakes

Sources