What is Product schema?
Product is the schema.org type for something you sell or review. Google uses it for product snippets (price, availability and ratings under a result) and merchant listings on pages where people can buy.
Google needs a name plus one of an offer, a review or an aggregate rating. Merchant listings also need an image and a price with a currency. Only add ratings that come from real users and are shown on the page; this generator includes them only when you confirm that.
Does Google show a rich result for Product?
Google can show product snippets (price, availability, ratings) and merchant listings from Product markup; it needs a name plus an offer or real ratings. Google: Product snippets.
Worked example: Product JSON-LD
An online shop marks up a trail running shoe that's in stock at £89:
- Product name: Trail Runner 2 waterproof shoe
- Image URLs: https://shop.example/images/trail-runner-2-1x1.jpg, https://shop.example/images/trail-runner-2-16x9.jpg
- Description: A waterproof trail running shoe with a grippy outsole and a recycled mesh upper.
- Brand: Ridgeline
- SKU: RL-TR2-42
- Price: 89.00
- Currency: GBP
- Availability: InStock
- Condition: NewCondition
- Product page URL: https://shop.example/trail-runner-2
The generator outputs:
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Product",
"name": "Trail Runner 2 waterproof shoe",
"image": [
"https://shop.example/images/trail-runner-2-1x1.jpg",
"https://shop.example/images/trail-runner-2-16x9.jpg"
],
"description": "A waterproof trail running shoe with a grippy outsole and a recycled mesh upper.",
"brand": {
"@type": "Brand",
"name": "Ridgeline"
},
"sku": "RL-TR2-42",
"offers": {
"@type": "Offer",
"price": "89.00",
"priceCurrency": "GBP",
"availability": "https://schema.org/InStock",
"itemCondition": "https://schema.org/NewCondition",
"url": "https://shop.example/trail-runner-2"
}
}
</script>Product properties: required and recommended
- Required: Product name, Price, Currency
- Recommended: Image URLs, Description, Brand, SKU, Availability
Google needs either an offer (price and currency) or real ratings (average rating and number of reviews, only when the page shows customer reviews).
Sources: Google: Product snippets, Google: Merchant listings, schema.org/Product. Checked 21 October 2026.
How to add Product schema to your site
- Add one Product block to each product page, with one Offer for that page's price.
- Keep price and availability in step with the page, ideally from your shop system.
- Test the live URL in the Rich Results Test (product snippets and merchant listings).
- For sitewide product markup, see Technical SEO Foundation.
FAQ
Product questions
A name and one of offers, review or aggregateRating. Merchant listings also need an image and an offer with a price and currency.
No. Ratings must come from real users and be visible on the page. The generator only adds ratings when you tick that the page shows real reviews.
Product snippets cover pages about products, including review pages. Merchant listings are for pages where shoppers can buy the product from you, and need more detail such as price and image.
As a number such as 89.00 with a three-letter currency code such as GBP. Merchant listings need a price above 0.
It's optional. If you use it, keep it in the future: Google may stop showing the price once the date has passed.
Done for you
Want us to fix it for you?
Send us the task. Senior marketers fix what the Schema Generator found and make the rest of your site easy for Google and AI answers to understand.
