Product Schema Checker
Fetch a product page and see exactly which structured data fields Google needs for a merchant listing or product rich result, and which are missing.
What Google needs from a product page
Google reads schema.org Product structured data (JSON-LD in a <script type="application/ld+json"> tag) to build merchant listings and product rich results in Search. A few fields are effectively required: name, at least one image, and an offers object with a price and priceCurrency.
Everything else, brand, GTIN or MPN, availability, rating, shipping details and return policy, is recommended rather than required, but each one adds a signal Google can show shoppers (a star rating, a shipping estimate, a return window) or use to make your listing eligible for free listings and Shopping.
| Field | Why it matters |
|---|---|
offers.price + priceCurrency | No price, no merchant listing. Must be a number and a 3-letter ISO 4217 code. |
brand | Required for most new products in a Merchant Center feed, movies/books/music excepted. |
gtin or mpn | Needed for free listings and Shopping ads unless you mark identifier_exists as false. |
aggregateRating / review | Can add a star rating to your listing. |
shippingDetails, hasMerchantReturnPolicy | Let Google show shipping cost and your return window next to the price. |
Fixing gaps on Shopify and WooCommerce
- Shopify. Online Store 2.0 themes (Dawn and most current themes) add Product JSON-LD automatically from the product's own fields. Fill in brand, barcode (GTIN/UPC/EAN) and description in the product admin, since the theme reads straight from there.
- WooCommerce. WooCommerce doesn't add Product schema on its own. An SEO plugin (Yoast SEO, Rank Math) or a dedicated schema plugin adds it; check that plugin's product schema settings for the fields above.
- Ratings and returns. These usually come from a reviews app or your store's stated return policy, wired into the theme's schema output. If you added the field in the app but it's still missing here, check whether the app or theme actually writes it into the JSON-LD.
Questions people ask
Why is my product missing from Google Shopping even though the page looks fine?
A page can look complete to a shopper and still be missing the structured data Google's crawler reads. Run this check on the actual page URL to see the JSON-LD Google sees, not what's visually on screen.
Do I need a GTIN for every product?
You need a GTIN, an MPN, or to explicitly mark identifier_exists as false for products that genuinely have none (most handmade or custom items). Without one of the three, Merchant Center can reject the item.
Does this submit anything to Google Merchant Center?
No. It only fetches the page you give it and reads its own structured data, the same page Google's crawler would see.
My theme shows a rich snippet on Search but this tool still flags missing fields. Why?
Google decides at its own discretion which rich results to show, and can display a partial snippet even with some fields missing. This check reports what's in the markup, not what Google chose to render on a particular day.
Related tools
Last reviewed 30 September 2026.
Sources: Google Search Central: Merchant listing structured data · Google Search Central: Product structured data · Google Merchant Center Help: Product data specification · Shopify Help Center: Managing your themes
