ProductGroup for Product Variant Schema markup supported by JSON-LD for SEO

By Ilana Davis

Google recently announced a new way of adding structured data for product variants.

Today I am happy to share that JSON-LD for SEO now supports the new ProductGroup structured data.

The new ProductGroup markup will be rolled out to JSON-LD for SEO customers in the next few weeks or months. All new installs as of April 1, 2024, will automatically have ProductGroup markup.

If you want to opt into the ProductGroup markup sooner, contact me.

What is ProductGroup markup?

Those concerned with Merchant Center will see the biggest impact with ProductGroup markup.

The challenge was that we could not easily show when a variant had a parent product in the structured data. How would Google know that a cell phone case came in different colors yet all from the same main product?

Before this update, Google never addressed how they expected variants to be shown in the product's structured data. That meant it was a free-for-all and folks just had to test to see what worked. Heck, that's what we did! After years of discussion (since at least 2017), we finally have our answer.

The ProductGroup markup now allows us to show a connection between the main product, and its variants.

This is especially beneficial for merchants who continue to have price mismatching issues.

There are two different ways to incorporate the ProductGroup structured data.

  1. Single page, where all variants are selectable on a single page.
  2. Multi page, where variants of the same product are accessible on different pages.

JSON-LD for SEO only supports single page markup since that's how Shopify builds variants by default. That means all variants on the page have a single canonical URL for the main product.

What changes will I see in my product structured data?

The change you'll probably notice the most is that each variant will have its own Product definition. This is especially visible when looking at a Rich Results test under Merchant Listings.

As you can see in the screenshot below, this product has two variants, each with their own set of product markup.

Product Rich Result test showing two items detected, one for each variant

When you expand one of the variants, you'll now see a field for inProductGroupWithId. This is your Shopify product ID which allows us to connect your parent product with its variants.

Product Rich Result test showing the Merchant Listing result and highlighting inProductGroupWithID data

Are there any concerns with using ProductGroup structured data?

The biggest concern with ProductGroup markup is that it's new. As such, we don't know yet how it will impact stores that want to show price ranges in Rich Results.

That's why we've decided to roll the new structured data out in phases. It allows us to monitor your results before rolling the change out to all customers.

If you have any questions or concerns about ProductGroup or would like me to turn on ProductGroup for your store, let me know. Contact me using the help icon on the bottom right of this page or via email.


Get more organic search traffic from Google without having to fight for better rankings by utilizing search enhancements called Rich Results.

Linking Llama

Link discontinued products to their best substitute. Keep discontinued products published on your website and continue to benefit from traffic to these pages.