How Do You Add Product Schema So Prices and Stock Show in Google?
The short answer
Section titled “The short answer”Product structured data is code on a product page that tells Google the product’s name, image, price, and details like stock status and condition. Google uses it for two kinds of results: merchant listings, for pages where people can buy the product from you, and product snippets, for pages that describe or review a product without selling it. The price, stock, and other details in the code must match what the page shows.
What this means
Section titled “What this means”Google treats product markup in two ways:
- Merchant listings are for pages where a customer can buy the product from you. Google says the product needs a name, an image, and an offer with a price and currency. The price must be greater than zero.
- Product snippets are for pages about a product where the visitor can’t buy it directly, like a review or comparison page.
Google says meeting the merchant listing requirements can also make a page eligible for product snippets.
Recommended fields for an offer include availability (in stock or out of stock), item condition (new or used), shipping details, and return policy. Recommended product fields include brand, description, reviews, and product codes like a GTIN, short for Global Trade Item Number, which is the number behind most barcodes.
Say Tall Pines Garden Center sells potting soil, planters, and gift cards online. Each product page shows a photo, the price, and whether it’s in stock. The product markup on each page lists the same name, image, price in US dollars, and stock status. When a planter sells out, the page and the markup both change to “out of stock.”
Why it matters
Section titled “Why it matters”- Shoppers see key facts before they click. Price and stock shown in results help people decide.
- Wrong data breaks trust. If the markup says $25 and the page says $35, the customer feels misled. Google says it may check merchant listing data before showing it.
- Expired dates can hide your listing. Google says a “price valid until” date in the past may stop the listing from showing.
- Misleading markup has consequences. Google’s general rules say misleading markup can lead to a manual action that removes rich result eligibility.
Who this applies to
Section titled “Who this applies to”Businesses that sell products on their website, like a garden center, a bakery that ships, a boutique, or a parts supplier. Storefronts that list products with prices but don’t sell online can use product snippets.
Service businesses usually skip this. Don’t use product markup to dress up a service (see 19.6.2 Service Structured Data).
How to do it
Section titled “How to do it”- Decide which pages are product pages. Each should be about one product.
- Check your ecommerce platform first. Most online store builders add product markup automatically. Your job is to make sure it’s complete and correct.
- Make sure each product page shows the name, a real photo, the price, and the currency.
- Make sure the markup includes the required fields: name, image, and an offer with price and currency.
- Add the recommended fields that apply: availability, item condition, brand, description, and product codes if you have them. Add shipping and return details if you sell online (see 26.2 Shipping, Returns, and Recalls).
- Connect stock status to your inventory so the markup changes when you sell out.
- Don’t set a “price valid until” date unless the price really ends then. Keep it current if you use it.
- Test with Google’s Rich Results Test (see 19.6.6 Testing Structured Data).
- Check the Merchant listings and Product snippets reports in Google Search Console for errors after launch.
- Think about Google Merchant Center as well. Google says you can send product data through a Merchant Center feed, through page markup, or both, and that using both gives the most eligibility.
What proof to keep
Section titled “What proof to keep”- A list of product pages with markup, checked and dated
- Rich Results Test results for a sample of product pages
- Screenshots of the Search Console product reports
- Notes on how stock status updates
Keep these in your website records folder.
Common mistakes
Section titled “Common mistakes”- Prices in the code that don’t match the page. This happens after sales end or prices change. Retest after every price update.
- Out-of-stock items marked in stock. Customers click, can’t buy, and leave annoyed.
- A price of zero. Google says merchant listings need a price above zero.
- Old “price valid until” dates. They can stop the listing from showing.
- Using product markup for services or quotes. If there’s no real product and set price, it doesn’t fit.
- Adding fake or copied reviews to the markup. Reviews must be real and visible on the page (see 11.3.5 Fake Review Rules).
When to get help from a pro
Section titled “When to get help from a pro”Your ecommerce developer or platform support: if your store doesn’t add markup, shows errors in Search Console, or can’t keep stock status current. Questions to ask:
- Does our store add product markup with price, currency, and availability on every product page?
- Does the markup update when prices or stock change?
Bill’s note
Section titled “Bill’s note”[Bill: add a short story or lesson here. For example, whether this applies to any of your businesses, or a store you’ve seen with prices in the code that didn’t match the page.]
If you’d rather have this done for you, SiteSmarty can check product markup on the websites it manages.
How I did this for SiteSmarty
Section titled “How I did this for SiteSmarty”- [Date I did this:]
- [What I actually did, step by step: whether SiteSmarty or another of my businesses sells products online, and how I checked the markup]
- [What it cost and how long it took:]
- [What surprised me or what I’d do differently:]
- [Screenshot or photo to add, with private info blurred: Rich Results Test for a product page, or a note that this doesn’t apply]
- [Result so far:]
Questions people ask
Section titled “Questions people ask”What’s the difference between product snippets and merchant listings? Merchant listings are for pages where people can buy from you. Product snippets are for pages that describe or review a product without selling it.
What fields does product markup need? For merchant listings, Google requires a name, an image, and an offer with a price and currency.
Can I use product schema for services? It isn’t a good fit. Use local business markup and, if you want, Service markup.
What if my markup price is wrong? Fix it right away. Google may check the data, and a mismatch misleads shoppers.
Do I need Google Merchant Center too? It’s optional. Google says using both a feed and page markup gives the most eligibility.
Audit check
Section titled “Audit check”- Question: Does each product page have complete product markup with price, currency, and availability that match the page?
- Pass looks like: Name, image, price above zero, and currency on every product page, availability tied to inventory, no expired dates, and no errors in the Rich Results Test or Search Console.
- Fail looks like: Missing or mismatched prices, wrong stock status, zero prices, old “price valid until” dates, product markup on service pages, or fake reviews.
- Evidence to collect: The product page list, Rich Results Test results, and Search Console product report screenshots.
Where this fits
Do this first: 19.6.1 Local Business Structured Data
Do this next: 19.6.4 Review Structured Data
Related pages: 11.3.2 Pricing Disclosures, 11.3.5 Fake Review Rules, 14.9.2 Products on Your Profile, 19.6.2 Service Structured Data, 19.6.6 Testing Structured Data
Sources
- Google Search Central, "Intro to product structured data on Google" (checked October 16, 2026)
- Google Search Central, "Merchant listing (Product, Offer) structured data" (checked October 16, 2026)
- Google Search Central, "General structured data guidelines" (checked October 16, 2026)
This page explains general rules and Bill's own experience. It is not legal, tax, or insurance advice. Talk to a qualified professional about your situation.
