List every variant in your structured data
When a product comes in sizes or colors, an agent needs each option, its price and whether it's in stock. If your structured data describes only one variant, the rest are invisible.
Check P3 in the Product data dimension, worth 4 points of 100 and measured by software.
What we check
For sampled products with more than one variant, as Shopify's product JSON lists them, we check that the structured data exposes every variant: as a ProductGroup with hasVariant and variesBy, or as one offer per variant with its own SKU, price and availability. Full points when the count matches the page, half when variants are there but the counts differ, none otherwise.
The check doesn't apply when no sampled product has variants.
Why it matters
Agents cannot tell which sizes or colors are in stock.
Shoppers ask agents whether a size 10 is in stock. An agent can only answer from data that lists size 10.
How to fix it
Output one offer per variant, or a ProductGroup with hasVariant. Typical effort: half a day.
- Shopify's
structured_datafilter has written a ProductGroup with its variants since July 2024. If your theme uses it, check that the variant count matches what the page offers. - If your theme or an SEO app writes its own JSON-LD, have it output a ProductGroup with hasVariant and variesBy, or one offer per variant, each with its SKU, price and availability.
Check it yourself
Count the options on a product page, then count the variants or offers the Schema Markup Validator shows for it. The numbers should match.
See how your store does
The free audit runs this check and the rest on your store and emails you your score, your grade and your top findings, with the evidence for each.