Google Expands Structured Data Support for Product Variants

Schema Markup

On February 20th, 2024, Google added structured data support for product variants. This update comes as a relief to many eCommerce brands, as it allows merchants to display a wider range of product variations directly in their search results.

The new structured data for product variants uses the ProductGroup type in addition to Product structured data.

Benefits of Implementing Product Variant Structured Data

There are many products in the market with variants. For example, clothes can come in different colours and sizes. Phones can come in different capacities, colours, and models. The implementation of this new structured data for product variants brings advantages to both eCommerce sites and their users by:

  • More precisely showcasing product offerings in search results, highlighting diverse variations such as size, color, and patterns.
  • Better supporting the complex product variant scenarios for eCommerce sites and potentially increasing visibility for the diverse range of products they offer directly in the SERP.
  • Improving user experience and click-through rates through offering more comprehensive product details.

Additionally, as specific, long-tail keywords become more prominent in search, this markup can help your product variants stand out. For example, if someone searches “navy blue long sleeve shirt size small,” a clothing retail site’s product variant that best fits this query could show up as a product rich result.

Prior to these changes, there was no easy way to differentiate product variants within product markup. Historically, the Schema App team tackled this problem by:

  • Identifying variable pricing on a product with AggregateOffer,
  • Identifying each variant as an individual Offer, with a different sku, or
  • Listing each variant as an individual ProductModel to identify different colors, sizes, etc.

However, Google has expanded Product Variant Structured Data, which can help us overcome the previous challenge of dealing with product variants.

You can read this GitHub issue for more information on what sparked these changes.

In this article, we will specifically focus on the changes introduced with Product Variant Structured Data and how you can implement these changes to your eCommerce site.

Product Variant Structured Data Overview

Product variants must be grouped under a single identified “parent” product. To support this, Google introduced three new properties within the ProductGroup type:

  1. hasVariant – to nest Product variants under their parent ProductGroup
  2. variesBy – Indicates the property by which the variants in a ProductGroup vary, e.g. their size or color
  3. productGroupID – the ID, aka “parent sku” of the ProductGroup

Google also added a new property, isVariantOf, to the Product structured data. The isVariantOf property indicates the type of product a variant is associated with, and Google has clarified that this property supports product variants with distinct URLs.

Required and Recommended Properties for Product Variant Structured Data

To properly mark up information about your product variant within your page content, use the following required properties within the ProductGroup type. Additionally, we recommend including as many of the recommended properties as applicable to your page content.

Required: name.

Recommended: aggregateRating, brand, description, hasVariant, productGroupID, review, url, variesBy.

Refer to Google’s Structured Data Documentation for a comprehensive guideline for the required and recommended properties for Product Variant structured data.

Additional Eligibility Requirements

To be eligible for this newly enhanced Product rich result, you must also abide by the following guidelines written and established by Google:

  • Each variant must have a unique ID in its corresponding structured data markup (like a sku, for example).
  • 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: Note: This doesn’t apply to multi-page sites as 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 be able to preselect each variant directly with a distinct URL (using URL query parameters), for example, This allows Google to crawl and identify 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.

Marking Up Single-Page vs. Multi-Page Product Variants

Most eCommerce sites have two design types for their pages – Single-page and multi-page.

Single-page is when all variants are present on a single page without jumping to an alternative page for each variant (typically through query parameters).

Multi-page is when variants of the same product are accessible on separate pages.

Your variants can be:

  • nested under ProductGroup markup, or
  • be separate and unnested from the ProductGroup.

We typically recommend nesting your markup because it is a more accurate representation of the content on your page and its relationship to other products on your site. Nesting your markup can also help you develop a more robust content knowledge graph for your site.

The Product Variant rich result result uses properties like sku, gtin, and productGroupID to differentiate between individual products and their parent Product Group. At Schema App, our Editor and Highlighter will automatically generate identifiers in the form of @id for each entity in your markup, making it easier to query your Product data alongside other entities in your knowledge graph.

Depending on how your specific site is set up, how you mark up your product variants will differ. See Google’s examples and documentation for specific guidelines on how to markup your product variants.

Implement Product Variant Structured Data On Your Site

With constant updates and additions to Google’s Structured Data Documentation, having an agile and dynamic Schema Markup strategy and solution is critical.

The Schema App Highlighter ensures the dynamic and continuous updating of your site’s Schema Markup, aligning it with internal content changes and adjustments to Google’s structured data requirements and recommendations. This agility helps you stay competitive in search, as outdated Schema Markup can compromise your eligibility for targeted rich results.

Want to learn more about Schema App’s solution? Click here to get started.

Image of Jasmine Drudge-Willson

Jasmine is the Product Manager at Schema App. Schema App is an end-to-end Schema Markup solution that helps enterprise SEO teams create, deploy and manage Schema Markup to stand out in search.