Product structured data is code added to a product page that tells search engines what the page represents, including the product name, brand, price, availability, images, reviews and identifiers. It usually uses the Product vocabulary from Schema.org and is commonly implemented with JSON-LD.
For example, product structured data can describe a 20-liter backpack, its brand, price, stock status and product identifier. It helps Google understand the page and may make it eligible for product snippets, merchant listings, ratings, shipping details and return policies. Google does not guarantee that these search appearances will show, and structured data is not a ranking factor by itself.
Published or updated: ``
Product Structured Data at a Glance
| Question | Answer |
|---|---|
| What does it describe? | A specific product, such as a laptop, dress, software product or appliance |
| Main vocabulary | Product from Schema.org |
| Most common format | JSON-LD |
| Common properties | name, image, description, brand, sku, gtin, offers, review and aggregateRating |
| Main Google Search uses | Product snippets, merchant listings and product variants |
| Does it guarantee rich results? | No. It creates eligibility, but Google decides whether to show an enhancement |
| Where should it be added? | Individual product pages, not general category or product-listing pages |
What Can Product Structured Data Show in Google?
Product structured data can help Google display the following product details:
- Product price
- Currency
- Stock status
- Customer ratings
- Review counts
- Product images
- Brand and product identifiers
- Shipping costs and delivery times
- Return policy information
- Product variants, including colors, sizes and materials
The search appearance depends on the page, the markup, Google's requirements and the search context. Product information may appear in standard Search results, Google Images, Google Lens, shopping experiences and merchant listings.
Product Snippets and Merchant Listings Are Different
Product snippets and merchant listings serve different types of pages.
| Feature | Suitable for | Typical information |
|---|---|---|
| Product snippets | Editorial reviews, comparison pages and product pages where users cannot purchase directly | Product name, price, availability, review and rating information |
| Merchant listings | Ecommerce product pages where customers can buy directly from the merchant | Product price, availability, shipping, returns, sizing, brand and identifiers |
A product review site could use product snippet markup for a review of the Nike Mercurial Vapor 16 football boots. An online retailer selling the same boots can use merchant listing markup because customers can buy them directly from the retailer.
Google's merchant listing documentation requires a merchant Offer. Product snippets can use an Offer or AggregateOffer.
What Does Product Structured Data Look Like?
A basic product implementation in JSON-LD looks like this:
<script type="application/ld+json">
{
"@context": ""@type": "Product",
"name": "Acme Trail Backpack 20L",
"image": [
"],
"description": "A 20-liter waterproof daypack with a padded laptop sleeve.",
"sku": "ATB-20-BLK",
"brand": {
"@type": "Brand",
"name": "Acme"
},
"offers": {
"@type": "Offer",
"url": ""price": 79.99,
"priceCurrency": "USD",
"availability": "}
}
</script>
This markup identifies the page as a product page and connects the product with its name, image, description, stock keeping unit, brand and purchase offer.
The values must describe the product shown on the page. A live product page should not use sample prices, made-up reviews or outdated availability.
Which Product Properties Matter Most?
The most important properties depend on the product and the search feature you want to support.
name
The name property identifies the product. Use the full product name shown on the page, such as Apple iPhone 16 Pro 256GB Natural Titanium, rather than a broad label such as "smartphone."
image
The image property should point to images that clearly show the marked-up product. Google recommends crawlable, indexable product images and supports multiple image formats and aspect ratios for merchant listings.
offers
The offers property describes an opportunity to buy the product. It commonly includes:
pricepriceCurrencyavailabilityurlpriceValidUntil, where applicable
For merchant listings, the offer must represent a product that the merchant sells on that page. The price and availability in the markup should match what shoppers can see and purchase. Google recommends using a three-letter ISO 4217 currency code, such as USD, EUR or GBP.
brand
The brand property identifies the manufacturer or brand associated with the product. A product can be connected to the Nike brand, the Sony brand or another applicable brand.
sku, gtin and mpn
These identifiers help search engines distinguish one product from another:
sku: The retailer's stock keeping unitgtin: A global trade item number, such as GTIN-12 or GTIN-13mpn: The manufacturer part number
Use the most accurate identifier available. Do not invent an identifier or reuse one identifier across different products. Google recommends using the most specific applicable GTIN property when one is available.
aggregateRating and review
These properties describe product reviews and ratings. Mark up only genuine reviews and ratings that are visible on the page and relate to the specific product.
A product snippet requires the Product type to include at least one of review, aggregateRating or offers, along with the product name.
How Should Product Variants Be Marked Up?
Use ProductGroup structured data when one product is available in different sizes, colors, materials or patterns.
A clothing retailer could group:
- Red, blue and black versions of the same jacket
- Small, medium and large sizes
- Different storage capacities of the same smartphone
- Multiple materials or patterns for one piece of furniture
Google recommends using ProductGroup with properties such as variesBy, hasVariant and productGroupID to show the relationship between the parent product and its variants. Each variant should have accurate product information, including its own price, availability, image or identifier where relevant.
Product Structured Data Is Not the Same as a Product Feed
Product structured data is embedded in the HTML of a product page. A Google Merchant Center feed is a separate source of product information that can include titles, descriptions, prices, availability and identifiers.
Ecommerce sites can use both sources. Google says structured data can help it understand and verify information such as prices, discounts and shipping. Merchant Center feeds can provide product information that is not available on the website, including certain inventory data.
How to Implement and Test Product Structured Data
Use this process:
- Add
ProductJSON-LD to the relevant product page. - Match the markup to the content visible on the page.
- Include accurate product, offer and identifier information.
- Use
ProductGroupmarkup for genuine product variants. - Test the page with Google's Rich Results Test.
- Check the URL with Google Search Console's URL Inspection tool.
- Monitor merchant listing and product snippet reports for errors.
- Update price, availability, shipping and return information when they change.
Google supports JSON-LD, Microdata and RDFa, but recommends JSON-LD as the preferred format. Structured data should not describe information hidden from users or content that does not match the main page.
What Product Structured Data Does Not Do
Product structured data does not:
- Guarantee higher rankings
- Guarantee product rich results
- Replace useful product content
- Replace technical SEO
- Make an unavailable product appear in stock
- Allow a page to claim reviews that are not visible
- Turn a category page into a valid single-product page
Its practical role is to identify the product and communicate its attributes and commercial details clearly. Google still decides whether to show enhanced information and where it appears.
For most ecommerce sites, the starting point is accurate Product markup on each individual product page, supported by a maintained Merchant Center feed when shopping visibility matters.