The Root Cause of Variant Disapprovals

When a Shopify product has multiple variants (e.g., Small at $29 and XXL at $39), Google crawls each variant URL with query parameters like ?variant=123456. If your theme schema outputs only a single generic Offer with the default variant price, Googlebot detects a discrepancy between the page parameter and the structured data, triggering automatic disapprovals.

Single Offer vs Array of Variant Offers

To comply with Google Merchant Center specifications, products with multiple options must output an array of Offer objects inside the offers property. Each Offer must declare its own variant-specific url, sku, price, priceCurrency, availability, and barcode.

How Smart Schema Manages Multi-Variant Catalogs

Smart Schema automatically loops through all product variants during server-side Liquid execution, emitting an optimized offers array with individual variant IDs and prices. This guarantees 100% alignment across all variant permalinks.

Code Example: Google-Compliant JSON-LD

"offers": [
  {
    "@type": "Offer",
    "name": "Medium - Navy",
    "url": "https://yourstore.com/products/jacket?variant=101",
    "price": "89.00",
    "priceCurrency": "USD",
    "sku": "JKT-NVY-M",
    "availability": "https://schema.org/InStock"
  },
  {
    "@type": "Offer",
    "name": "Large - Navy",
    "url": "https://yourstore.com/products/jacket?variant=102",
    "price": "99.00",
    "priceCurrency": "USD",
    "sku": "JKT-NVY-L",
    "availability": "https://schema.org/InStock"
  }
]
Fix This Automatically on Your Shopify Store

Avoid the risk of broken theme templates or lost Google Shopping revenue. Install Smart Schema Pro to resolve all Merchant Center errors in 1 click.

Start 14-Day Free Trial

Frequently Asked Questions

Can I use AggregateOffer instead of an offers array for variants?

While AggregateOffer communicates lowPrice and highPrice ranges on collection pages, Google Merchant Center specifically requires individual Offer objects with exact variant prices for product ads.

Related Technical Glossary Terms
  • ProductGroup Schema: ProductGroup is schema.org's modern standard for grouping multi-variant products (such as ...
  • ItemAvailability Enum: ItemAvailability is the schema.org standard for communicating product inventory status. St...
Related Troubleshooting Guides