Structured Data Guide

Product Schema Markup

Last updated: March 2026

Product structured data tells Google about the products on your pages. There are two main classes — Product Snippets and Merchant Listings — each unlocking different Google features. Products with variants also use ProductGroup to group them. A merchant PDP with variants can qualify for all of these at once.

Generate Product Schema Free

Two classes of Product markup, plus ProductGroup for variants

Product Snippet and Merchant Listing both use schema.org/Product as their base type — the difference is which properties you include and which Google features become available. Products with variants add schema.org/ProductGroup on top, with individual Product items nested inside via hasVariant.

Product Snippet and Merchant Listing are Google's names for the features they unlock, not different schema types. A merchant product page can qualify for both. Adding Merchant Listing properties also makes the page eligible for Product Snippet features.

Class 1
For: any page describing a product
Editorial reviews, shopping aggregators, and merchant pages. Enables star ratings, review information, and pricing in organic search results.
Class 2
For: pages where you sell the product
Merchant and retailer pages. Enables the Shopping panel, Popular Products, price drop alerts, and shipping and return details. Also qualifies for Product Snippet features.
+ Variants
For: products with colour, size, or material options
Layered on top of Product Snippet or Merchant Listing. Uses ProductGroup with hasVariant to group variants, enabling colour swatches and variant pricing in Shopping.

What Product schema looks like

All Product structured data is added as JSON-LD inside a <script type="application/ld+json"> tag in your page HTML. Here is a minimal valid Product schema:

JSON-LD — Minimal Product schema
{
  "@context": "https://schema.org/",
  "@type": "Product",
  "name": "Running Shoe Pro X",
  "description": "Lightweight road running shoe with carbon-fibre plate and responsive foam.",
  "brand": {
    "@type": "Brand",
    "name": "Acme"
  },
  "image": "https://example.com/images/running-shoe-pro-x.jpg",
  "offers": {
    "@type": "Offer",
    "price": 89.99,
    "priceCurrency": "GBP",
    "availability": "https://schema.org/InStock",
    "url": "https://example.com/running-shoe-pro-x"
  }
}

This qualifies for Product Snippet features (price, availability in organic results). To add Merchant Listing features (Shopping panel, price drop alerts, shipping/returns), add hasMerchantReturnPolicy, shippingDetails, and other required properties. Use the generators below to build the full version.

Which type is right for your page?

Two separate questions: which types your page is eligible for, and what features each type unlocks.

Page eligibility

Page type Product Snippet Merchant Listing Product Variants
Editorial review / blog
Shopping aggregator
Merchant PDP — single product
Merchant PDP — with colour/size variants

A merchant PDP with variants can qualify for all three simultaneously; Google recommends adding as many properties as possible to maximise eligibility across surfaces.

Features unlocked

Feature Product Snippet Merchant Listing Product Variants
Star ratings in organic search
Pros and cons in search results *
Popular Products carousel (Shopping)
Shopping Knowledge Panel
Price drop alerts
Colour swatches in Shopping
Shipping & returns in results

* Pros and cons are only eligible on editorial and third-party review pages, not merchant PDPs.
Price drop alerts are Google-managed notifications triggered automatically by price changes over time, not a property you set directly in schema.

How Product structured data appears in Google

Organic search
Product Snippet
Text result enriched with star ratings, price, and availability directly in the search snippet.
Shopping
Popular Products
Visually rich product cards shown in a carousel above organic results, with price, image, and seller.
Shopping
Shopping Knowledge Panel
A dedicated product page aggregating sellers, prices, reviews, and specs, matched across the web using structured data and product identifiers.
Shopping
Shopping Tab
Products listed in the dedicated Shopping tab in Google Search, separate from the main results page and driven by Merchant Listing schema and GMC data.
Images
Google Images
Annotated product images with price and availability overlaid when available for sale.
Lens
Google Lens
When users photograph a product, Lens surfaces matching listings; structured data and product identifiers improve your chances of appearing.

Frequently asked questions

Product schema markup is structured data — added to a web page as JSON-LD — that tells Google about the product on that page. It enables different Google features depending on which properties you include: star ratings and pricing in organic search (Product Snippets), Shopping panel appearances and price drop alerts (Merchant Listings), and colour swatches in Google Shopping (ProductGroup for variants).
Google defines two main classes: Product Snippets (for any page describing a product — reviews, editorial, aggregators, and merchant pages) and Merchant Listings (for merchant pages where customers can buy the product directly). Products with variants add ProductGroup on top of either class to group variants together for colour swatches and variant pricing in Shopping.
Yes. A merchant product page can qualify for both simultaneously. Product Snippet and Merchant Listing are Google's names for the features each page is eligible for, not separate schema types. Implement the properties required for both and Google will assess eligibility for each feature independently. Google recommends providing as much product information as possible to maximise reach across surfaces.
Yes. If your product comes in multiple colours, sizes, or materials, use ProductGroup schema with hasVariant. This groups all variants under a parent entity, enabling colour swatches and variant-specific pricing in Google Shopping. Both Product Snippet and Merchant Listing pages support product variants.
No. Schema markup makes your page eligible for rich results; Google decides whether to show them based on content quality, markup accuracy, and its own policies. A page that passes the Rich Results Test and accurately reflects the page content will be considered, but Google does not guarantee any particular appearance in search results.
Google may ignore the markup, or in cases of deliberate misleading data, apply a manual action that removes rich results from the site. Your structured data must accurately describe the product on the page — do not add schema for products not shown, prices that differ from the page, or features the product does not have.
Not for free Shopping appearances driven by structured data. Google can surface Merchant Listing pages in free listings without a GMC account. However, Google Merchant Center is required if you want to run Shopping Ads (paid), and having an active GMC feed significantly improves the coverage and accuracy of free listings. For most merchants, connecting GMC is strongly recommended.
Use Google's Rich Results Test to validate your markup before publishing. After deploying, check the Search Console Enhancements report (under Appearance in GSC) — it shows which pages Google has indexed with structured data, any errors found, and impression data for rich results. Allow 1–2 weeks after deployment for GSC data to populate.

Generate valid Product schema in seconds

Pick your schema type, fill in your product details, and get clean JSON-LD ready to copy. No account needed.

Open E-commerce — Product Schema Generators →