Google Merchant Center Structured Data Errors: How to Fix Them

Google uses structured data on your product pages to verify that what you show in your feed matches what you show to users. When that structured data has errors, your products may lose rich result features in Google Search, and consistent mismatches between structured data and your feed can contribute to account-level issues. This guide covers the most common structured data errors and how to fix them.

Scan Your Site for Structured Data Issues (Free)

What Is Product Structured Data?

Product structured data is machine-readable markup on your product pages that tells Google what type of content is on the page: the product name, price, availability, currency, and other attributes. Google uses the schema.org/Product vocabulary and accepts it in three formats:

Google strongly recommends JSON-LD because it is easier to implement and maintain. If you are on Shopify or WooCommerce, both platforms generate product structured data automatically, but the output is sometimes incomplete or misformatted.

Where to Find Structured Data Errors

There are three places to check:

  1. Google Search Console › Shopping Tab Listings: shows product-level rich result issues
  2. Google Merchant Center › Products › Diagnostics: flags data mismatches between your structured data and feed
  3. Rich Results Test (search.google.com/test/rich-results): tests individual pages for errors and missing properties
Tip: The Rich Results Test is the fastest diagnostic tool. Paste any product URL and it shows exactly which required properties are missing or invalid, without needing to log into any Google account.

Most Common Structured Data Errors

1. Missing Required Properties

Google requires specific properties for product rich results. If any are missing, the page does not qualify for price/availability rich results.

Required PropertyExample ValueNotes
name"Blue Running Shoes"Product name, not brand
offers.price"49.99"Must be a number, not "49,99" or "$49.99"
offers.priceCurrency"USD"ISO 4217 format (3 letters)
offers.availability"https://schema.org/InStock"Full schema.org URL required
Common mistake: Writing "availability": "InStock" instead of "availability": "https://schema.org/InStock". Google requires the full schema.org URL for availability values.

2. Price Mismatch Between Structured Data and Page

If your structured data shows a price of €49.99 but the visible price on the page is €59.99, Google flags this as a mismatch. This can happen when:

The fix: make sure your structured data is generated dynamically from the same data source as the displayed price. Most modern e-commerce platforms do this automatically, but check that your theme or custom code has not overridden the default behavior.

3. Availability Mismatch

Similar to price mismatches: your structured data says InStock but the product is out of stock on the page, or vice versa. Google crawls your pages periodically and compares the structured data availability to what the page actually shows.

Update your structured data when availability changes. For high-volume catalogs, this typically means server-side rendering of the structured data rather than static markup.

4. Invalid Price Format

Common price format errors:

5. Using Incorrect Availability Values

Valid offers.availability values:

Do not use shortened versions like "InStock" or "schema:InStock". Google requires the full URL.

6. Structured Data on Non-Product Pages

If you add Product schema markup to category pages, blog posts, or other non-product pages, Google may flag these as errors or use them incorrectly. Product structured data belongs only on individual product pages where a specific item can be purchased.

Correct Product Structured Data Example

<script type="application/ld+json">
{
  "@context": "https://schema.org/",
  "@type": "Product",
  "name": "Blue Running Shoes",
  "image": "https://example.com/images/blue-running-shoes.jpg",
  "description": "Lightweight running shoes for road and trail.",
  "brand": {
    "@type": "Brand",
    "name": "BrandName"
  },
  "offers": {
    "@type": "Offer",
    "url": "https://example.com/products/blue-running-shoes",
    "priceCurrency": "USD",
    "price": "49.99",
    "priceValidUntil": "2027-01-01",
    "availability": "https://schema.org/InStock"
  }
}
</script>

Structured Data vs. Product Feed: Which Takes Priority?

Google does not have a simple hierarchy here. It uses both sources and compares them. Your product feed is the primary source for Shopping Ads and free listings. Structured data on product pages is used for organic rich results (price, availability, reviews showing in non-Shopping Google Search results) and as a verification layer.

Keep both consistent: If your feed shows a price of €49.99 and your structured data shows €59.99, Google may flag your account for misrepresentation, even if the displayed page price is correct. All three data points should match.

Shopify-Specific Notes

Shopify generates Product structured data automatically from your product data. Common Shopify structured data issues:

If your store also sells via a marketplace like TikTok Shop or Etsy, those platforms generate their own product pages with structured data that can conflict with your Merchant Center feed. See the TikTok Shop suspension guide and Etsy seller suspension guide for platform-specific data consistency requirements.

Scan Your Shopify Store for Structured Data Issues

Frequently Asked Questions

What are structured data errors in Google Merchant Center?

Errors in the product schema markup on your pages that prevent Google from reading product data correctly for rich results. Most common causes: missing required properties, price mismatches, and wrong availability format.

Do structured data errors cause a Merchant Center suspension?

Not directly, but price or availability mismatches between your structured data and your feed or page can contribute to misrepresentation flags, which do lead to suspension. Keep all data sources consistent.

How do I fix structured data errors for Google Shopping?

Test with the Rich Results Test, add missing required properties (price, priceCurrency, availability), use the full schema.org URL for availability values, and ensure the price in structured data matches the displayed page price.