Product schema describes a sellable item — its name, image, price, availability, and reviews — making it eligible for product rich results, the merchant listings report, and free product listings across Google. For e-commerce it is the single highest-value structured-data type: correct Product markup can put price, stock, and star ratings directly in the SERP. This reference covers the required fields, the offer structure, and the rules that keep a product eligible.
What Product Schema Does
It makes a product page eligible for enhanced listings — price and availability snippets, star ratings, and free product listings — and it is what populates the Merchant listings report in Search Console.
Product markup and that report are one workflow: mark up products correctly, then clear errors in the report. Every invalid product is one denied the richer, more clickable result its competitors get, which makes this markup a direct commercial lever.
Required and Recommended Fields
The core requirements are name, image, and an offers block with price and priceCurrency; availability is effectively required for useful listings, and aggregateRating/review, brand, sku, and gtin are strongly recommended.
A missing price or availability is the most common error that blocks eligibility. brand, sku, and gtin improve matching and merchant eligibility. Ratings via AggregateRating add stars, subject to the self-serve rules in the Review reference.
The Offer Structure
The offers property is an Offer (or AggregateOffer for a price range) carrying price, priceCurrency, availability (InStock, OutOfStock, PreOrder), and ideally priceValidUntil and shipping/return details.
Use a single Offer for one price, or AggregateOffer with lowPrice/highPrice for variants. availability uses Schema.org URLs (e.g. https://schema.org/InStock). Shipping and return properties increasingly feed merchant experiences. Validate with the Rich Results Test.
Keeping Price and Stock Accurate
The markup must match the visible page and stay current — stale prices or availability are both a policy problem and a trust problem, so generate Product schema from live product data, not hard-coded values.
The frequent failure is a template that hard-codes availability or omits price for out-of-stock items. Drive the markup from your commerce platform so price and stock update together with the page. This is the template-level fix the merchant listings guide recommends.
Example Markup
A minimal Product with an Offer (shown as code):
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Product",
"name": "Example Widget",
"image": "https://example.com/widget.jpg",
"brand": { "@type": "Brand", "name": "Example" },
"offers": {
"@type": "Offer",
"price": "29.99",
"priceCurrency": "USD",
"availability": "https://schema.org/InStock"
}
}
</script>
See JSON-LD vs Microdata for the format.
- Product schema earns price, availability, and rating listings — the highest-value type for e-commerce.
- Required: name, image, and an offers block with price and priceCurrency; availability is effectively required.
- Recommended: aggregateRating/review, brand, sku, gtin for better matching and stars.
- Use Offer for one price or AggregateOffer for a range; availability uses Schema.org URLs.
- Drive markup from live product data so price and stock stay accurate — stale values are a policy risk.
Frequently Asked Questions
What are the required fields for Product schema?
At minimum name, image, and an offers block containing price and priceCurrency. In practice availability is needed for a useful listing, and brand, sku, gtin, and ratings strongly improve eligibility and appearance.
How do I show a price range for variants?
Use AggregateOffer with lowPrice and highPrice (and priceCurrency) instead of a single Offer. That represents a product available at multiple prices, such as size or color variants, in one markup block.
Why isn’t my product showing price in search?
Usually the price or availability is missing from the markup, the offers block is malformed, or the values do not match the page. Check the Merchant listings report for the specific error and fix it at the template level.
Can I add star ratings to my product?
Yes, via aggregateRating or review — but only for genuine, visible reviews, and subject to the self-serve policy: you cannot fabricate ratings or rate your own brand without real reviews behind the numbers.
The Bottom Line
Product schema is where structured data most directly touches revenue: accurate name, image, price, and availability make products eligible for the richer results shoppers click. Drive it from live data, keep it honest, clear the merchant-listings errors, and it pays off — the commercial core of the schema cluster.
Further reading & sources
- Product structured data — Google Search Central
- Product — Schema.org
See how your site actually shows up in AI search. An AI visibility audit maps where you’re cited, where you’re invisible, and what to fix first — in plain English.
Get your AI visibility auditTry the free SEO tools →
Prefer self-serve? The interactive checklists turn guides like this one into a working to-do list.
Keep reading in Schema Markup
Get one email when something genuinely changes
AI search moves fast and most of it is noise. We send one short email when a real shift is worth your time. Unsubscribe anytime.
Published by Plain Intelligence — practical AI SEO, GEO, and technical SEO, documented in plain English. About Plain Intelligence →
↑ Back to Schema Markup · Explore all articles · Free tools & resources · Glossary