Ecommerce

Product Variant

Also called variant, item group, product options

One specific version of a product, such as a particular size or colour, with its own SKU, stock and often its own price and image.

Quick facts: Product Variant

Category
Ecommerce
Also called
variant, item group, product options
Level
Intermediate
Affects
Duplicate content, Shopping ad approval, product page usability, stock accuracy, analytics
Where to see it
Your ecommerce platform's product settings, Google Merchant Center, the Rich Results Test, Google Search Console, GA4 item reports
In this article4
  1. How product variants work
  2. Why it matters
  3. Common mistakes
  4. How to act on it

A product variant is one specific version of a product that differs from the others only by an option such as size, colour, material or capacity. A T-shirt in navy, size medium, is one variant of that T-shirt. Each variant usually has its own SKU, its own stock level, and sometimes its own price, image and barcode.

How product variants work

Ecommerce platforms store a parent product, which holds the shared title, description and most images, and a set of variants that hold option values and the details that differ. Shopify calls them variants and options; WooCommerce uses variable products with attributes. On the product page, the shopper picks options from selectors, and the page should update the price, image and stock message to match.

There are two common URL patterns. Either all variants share one URL, with a parameter such as ?variant= that changes which option is selected, or each variant has its own URL. Which suits you depends on whether people search for the variant itself.

Other systems need to know the variants belong together. In a product feed, each variant is a separate item with its own ID, price and availability, linked to its siblings by a shared item_group_id and described with attributes such as colour and size. For clothing and shoes sold in the UK, the size system should be set to UK so shoppers see sizes they recognise. In structured data, Google supports describing a product group and its variants, and in GA4 the item_variant parameter records which option was viewed or bought.

Why it matters

Handled badly, variants create search problems. A shop that publishes every size and colour as its own indexable page, each with the same description, produces dozens of near-identical pages that compete with each other and dilute signals. That is a common source of duplicate content on ecommerce sites, and the usual fix is a canonical tag pointing variant URLs to the main product page.

Some variants, though, are searched for in their own right. Furniture shoppers search “green velvet sofa” and “grey velvet sofa” separately, and a page for each colour can earn its place if it has its own images and copy. The decision should follow how people search, not how the platform happens to store the data.

Shopping ads add another layer. If the feed sends the navy variant at £25 but the link opens the page showing the black variant at £28, Merchant Center sees a price mismatch and may disapprove the item.

Common mistakes

  • Every size and colour indexable on its own URL with identical copy and no canonical.
  • Variant links in the feed that open the default variant rather than the one advertised.
  • Missing item_group_id, so Google treats variants as unrelated products.
  • Images that do not change when a colour is selected.
  • Out-of-stock variants that can still be selected, with the problem revealed only at the basket.
  • Variant options generated by filters creating crawlable URLs, which overlaps with faceted navigation.

How to act on it

Decide, product type by product type, which variants deserve their own page. Check search demand for colour or material versions; sizes almost never need separate pages. For variants that share a page, make sure the URL parameter version carries a canonical to the main URL, and that the page updates price, image and stock when an option is chosen.

Then check the feed: each variant listed separately, linked by item_group_id, with a link that opens that exact variant selected. Show unavailable options as greyed out with a back-in-stock option rather than hiding them.

Variant URLs, canonicals and crawl control are core technical SEO work, which is where I sort them out on online shops.

Do and do not

Do

  • Give each variant its own SKU and, where it exists, its own barcode
  • Link variants in the feed with item_group_id
  • Make the variant link in the feed open with that variant selected

Do not

  • Publish every size and colour as a separate indexable page with identical copy
  • Hide out-of-stock variants with no message
  • Show only US sizes to UK shoppers

Questions people ask about this

Should each colour of a product have its own URL?

Only if people search for that colour specifically and you can give the page something distinct, such as its own photos and description. For most products, one page with a colour selector and a canonical tag is cleaner. Sizes almost never justify separate pages.

Does each product variant need its own GTIN?

If the manufacturer has assigned a barcode to each size or colour, yes, and you should use the one that matches each variant in your product feed. Google uses these identifiers to match the exact item to searches. Never reuse one variant's barcode for another or make one up.

How do I show variants correctly in Google Shopping?

Submit each variant as its own item in the feed, with its own ID, price, availability and image, and give all of them the same item_group_id. Add the attributes that differ, such as colour and size, with the UK size system for clothing. Make sure each item's link opens the page with that variant already selected.

Related terms

Found this useful?

Share it, or ask an AI to summarise it

Back to the glossary

Knowing the term is the easy part

Applying it to your own site and budget is the work. Book a call and I will tell you what actually applies to you.