Shopify Structured Data: What GMC Actually Checks
Structured data is the language Google uses to understand your products. Without it, Google can't properly list your products on Shopping. With bad structured data, you'll get disapprovals or suspensions. Here's what you need to know.
What Is Product Structured Data?
It's a block of JSON-LD code embedded in your product page's HTML. It tells Google the product name, price, availability, brand, images, and more — in a machine-readable format. Shopify generates this automatically, but it's not always complete.
The Fields GMC Requires
| Field | Required? | Notes |
|---|---|---|
| name | Yes | Product title |
| image | Yes | At least 1 product image URL |
| price | Yes | Must match the visible price on the page |
| priceCurrency | Yes | USD, EUR, etc. |
| availability | Yes | InStock, OutOfStock, or PreOrder |
| brand | Recommended | Your store name or manufacturer brand |
| gtin / mpn | Conditional | Required for branded products. Use identifier_exists=false for unbranded. |
| description | Recommended | Product description text |
The #1 Issue: Price Mismatch
Google compares the price in your structured data with the price displayed on the page. If they don't match — even by a few cents due to currency conversion — you'll get a "Data quality: price [mismatch]" disapproval. This is the most common product-level issue in GMC.
Fix: Make sure your theme outputs the same price in JSON-LD as it displays on the page. Check for rounding differences.
JavaScript-Rendered Schema
Shopify themes often render JSON-LD via JavaScript (not in the raw HTML source). Google's main crawler (Googlebot) can render JavaScript, so this usually works. But GMC's product crawlers may not always render JS perfectly.
How to verify: Go to a product page, View Source (Ctrl+U), and search for "@type":"Product". If you see it in the raw HTML, you're safe. If it only appears after JavaScript runs, it's riskier.
GTIN / MPN for Furniture
Most custom or private-label furniture doesn't have a GTIN (Global Trade Item Number) or UPC barcode. That's fine — you just need to tell Google.
In your product feed, set identifier_exists to false for products without GTINs. Google will accept them without penalty. Don't make up fake GTINs — that causes worse problems.
Organization Schema
Beyond products, Google also looks for Organization schema on your site. This should include your business name, address, phone number, and logo. Shopify themes often include basic Organization markup, but verify it matches your actual business info.
How to Test
Use Google's Rich Results Test: search.google.com/test/rich-results. Enter a product page URL and check for errors or warnings in the Product structured data. Fix any issues before submitting to GMC.
Check your store's compliance for free
Scan your Shopify store against 146+ Google Merchant Center rules in minutes.
Start Free Scan