Google announced this morning support for Product variant structured data. This new structured data supports three new properties; hasVariant, variesBy and productGroupID in order to handle most of the way e-commerce sites list product variants. This works for Google Search through structured data and “will also complement and enhance merchant center feeds, including automated feeds,” Google added.
Google said, “Websites for variant products are more complex than single-product sites, and, consequently, the associated structured data is more complex as well. One added complexity is that variants must be grouped together under one “parent” product.” To allow such grouping of variants, Google added support for the Schema.org ProductGroup type and three new properties, they include:
- hasVariant (to nest Product variants under their parent ProductGroup),
- variesBy (to list the variant-identifying properties), and
- productGroupID (the ID, also known as “parent sku” of the ProductGroup).
Google also added a new isVariantOf property to the product structured data documentation and clarified that Google support product variants with distinct URLs.
Here are some of the guidelines:
- Each variant must have a unique ID in its corresponding structured data markup (for example, using the sku or gtin properties).
- Each product group must have a unique ID in its corresponding structured data markup, specified with the inProductGroupWithID property in variant Product properties or the productGroupID property in the ProductGroup property.
- Be sure to add Product structured data in addition to the product variant properties, following the list of required properties for merchant listings (or product snippets).
- For single-page sites, there must be only one distinct canonical URL for the overall ProductGroup that all variants belong to. Typically this is the base URL that leads to a page without a variant pre-selected, for example: https://www.example.com/winter_coat.
- For multi-page sites, this doesn’t apply since there is no single canonical URL representing the ProductGroup property (since the variants are distributed across equally important pages).
- For multi-page sites, each page must have full and self-contained markup for the entities defined on that page (meaning, off-page entities shouldn’t be necessary to fully understand the markup on the page itself).
- The site must have the ability to preselect each variant directly with a distinct URL (using URL query parameters), for example https://www.example.com/ winter_coat/size=small&color=green. This allows Google to crawl and identity each variant. Preselecting each variant includes showing the right image, price, and availability, as well as allowing the user to add the variant to the cart.
Google also supports validations for product variants product snippets and Merchant listings reports in Search Console and Rich Results Test. Here is a screenshot:
There is a lot more technical details on how to implement this over here.
John Mueller from Google wrote on LinkedIn, “Product variants in ecommerce are complicated – what do you do with t-shirts in different colors? Folks here Google worked hard to come up with structured data markup & support for it. It took a bit to wrap my head around the …. variations, but check out the blog post and the documentation for all the details. The changes are also live in the Rich Results Testing tool and in the Search Console reports for these types, so you might see that affecting the graphs there, if you use the existing markup already.”
Also, Google clarified when to use FreeReturn versus ReturnShippingFees as value for returnFees for product returns in the product structured data documentation.
Forum discussion at LinkedIn.