← All Merchant Center errors

Fix “Missing value [item_group_id]” in Merchant Center: variants shown separately

Updated 20 September 2026 · 5 min read

Short answer. Merchant Center requires item_group_id for product variants in free listings, and for Shopping ads targeting Brazil, France, Germany, Japan, the United Kingdom and the United States; without it, sizes and colours of one product are treated as unrelated products. Give every variant of a product the same item_group_id, usually the parent product’s id, and its own id.

Shown in Merchant Center asMissing value [item_group_id]
Attributeitem_group_id
EffectProduct disapproved — Required for variants in free listings and in six countries for ads; elsewhere variants are simply ungrouped
Where to find itProducts → Needs attention, then filter by this issue
Free checkReported by the free feed check

What Merchant Center means by “Missing value [item_group_id]

item_group_id is the value that tells Google several rows are sizes or colours of one product. Google’s specification makes it required for product variants in free listings, and for Shopping ads targeting Brazil, France, Germany, Japan, the United Kingdom and the United States; elsewhere it is recommended. Without it, variants are shown separately instead of as a group: six rows for one shirt compete with one another and with the rest of your catalogue, and Google may pick the sold-out size to show.

Where the attribute is required and a row is a variant with none, Merchant Center reports “Missing value [item_group_id]”, following the pattern for absent required attributes in the Content API’s product issues reference, and the row is disapproved. Where it is only recommended, there is no error; the variants are simply ungrouped, which is the more common and the quieter problem.

Why it happens

How to fix it

In Shopify

Shopify’s channel and our integration write the product id as item_group_id and the variant id as id for every variant, so grouping comes for free when products are modelled as products with options. If sizes exist as separate products in your store, merge them into one product with a Size option, or the feed cannot group what the store does not.

In WooCommerce

Variable products have a parent and variations; our free connector writes the parent’s id as item_group_id on every variation row and leaves the attribute out for simple products. Simple products that are really variants of one item (“Blue shirt”, “Red shirt” as two products) need converting to one variable product with a Colour attribute.

In a CSV or XML feed

Add an item_group_id column and fill it, for every variant row, with a value shared by all variants of that product and by nothing else, up to 50 characters; the parent product’s id or handle is the natural choice. Give each variant row its own id. Then make sure the variants differ in an attribute Google reads (color, size, material, pattern), or Google has no way to tell them apart inside the group.

How long until Merchant Center clears it

Grouping takes effect on the next fetch: disapproved variant rows in required markets are re-approved within 24–72 hours, and elsewhere the products start appearing as one listing with a variant picker as Google re-processes them.

What FeedRobin does about it

The free check finds ungrouped variants by a fact the file cannot hide: rows that share a product page but carry no group id. It reports them and the fix preview shows the repair, the shared page’s slug used as item_group_id, before and after. The check skips the other reason links repeat, a feed where every row points at one page, because that is one defect and not a thousand ungrouped variants. For connected stores the group is the platform’s product id and the id its variant id, so grouping cannot break.

Questions merchants ask

What should the item_group_id be?

Any value shared by all variants of one product and by nothing else, up to 50 characters. The parent product’s id or handle is the usual choice. It must stay the same across uploads.

A product with no variants: does it need item_group_id?

No. Only variants need it. Setting it on single products does no harm, but leaving it empty is correct.

My variants are grouped but still show as separate products. Why?

Because grouping needs the variant attributes too. Google groups variants by item_group_id and tells them apart by color, size, material, pattern and the like. Variants that share a group but differ in nothing Google can read are not shown as a group.

Sources

Related errors

Reused value [id]Fix “Reused value [id]” in Google Merchant Center
Product disapproved
Missing value [color] / [size] / [gender] / [age_group]Fix “Missing value [color]”, [size], [gender] and [age_group] for apparel in Merchant Center
Product disapproved
Same value for differing variants [image_link]Fix “Same value for differing variants [image_link]” in Merchant Center
Warning

Read next

Shopify Google Shopping feed: what syncs on its own, and what disapprovesShopify syncs to Merchant Center by itself — then the barcodes, the variants, the Markets prices and a thirty-day refresh window get in the way. What to fix, and how to check a store without installing anything.
7 min
WooCommerce Google Shopping feed: the complete setup guideWooCommerce doesn't generate a Google Shopping feed out of the box. How to create one, the Woo-specific traps — variable products, VAT prices, stale feeds — and how to keep it synced.
7 min
Not sure what's wrong with your feed?Paste your feed URL and FeedRobin checks every product for missing barcodes, images, descriptions and more — free, no account needed.
Check my feed — it's free What it checks →