Managing product variants in a Shopping feed involves more than splitting one product into multiple rows. The item_group_id attribute is the signal that tells Google which rows belong together as a group. Get it wrong and individual variant rows are either disapproved or shown independently, making the catalog harder to shop. This article covers exactly when the attribute is required, what value rules apply, and what happens when it is missing or inconsistent.

When item_group_id Is Required

item_group_id is not universally required for every product. Google documentation states it is required for free listings for product variants and required for Shopping ads for product variants targeting Brazil, France, Germany, Japan, the United Kingdom, and the United States.

If your store sells in one of those six markets and your products have variants โ€” such as a T-shirt available in different colors or sizes โ€” you must submit item_group_id for those product rows. Selling in other markets, or selling truly non-variant products (a standalone item with no size or color options), does not trigger this requirement. Do not submit item_group_id for products that are not variants; Google documentation is explicit: "Don't submit a value for the item group ID attribute if your product is not a variant."

Variants are defined precisely: they are "a group of similar products that only differ from one another by product details such as color and size for apparel or memory sizes, display sizes, processors, and graphics options for electronics." A suit jacket and matching trousers sold as a set is not a variant group under this definition โ€” it is a bundle.

Value Rules: Format, Uniqueness, and Stability

The value you submit for item_group_id must follow specific rules. According to Google documentation, the field accepts Unicode characters (ASCII alphanumeric, underscores, and dashes are recommended) and is limited to 1โ€“50 characters. It is not a repeated field, meaning each product row carries a single value.

Four key rules govern how values must be structured:

  1. Same value across all variants of one product. Every row that belongs to the same variant group must carry an identical item_group_id value. A T-shirt in 3 sizes and 3 colors produces 9 separate product rows, all sharing the same group ID.
  2. Unique value per distinct product. Each distinct item group must have a value that belongs only to that group. Do not reuse or recycle group IDs across different products.
  3. Case-insensitive. The values "abc123" and "ABC123" are treated as the same group. Do not rely on casing to create distinct groups.
  4. Stable over time. Once assigned, the value should not change. Changing item_group_id frequently causes inconsistency in how variants are grouped and displayed.

A common and practical approach is to use the parent SKU from your inventory system as the item_group_id value. Google documentation recommends this directly and also advises not to submit the parent SKU as a separate product row.

Landing Page Alignment

The grouping must reflect the actual shopping experience on your site. If your product page lets a customer switch between sizes and colors without leaving the page, all those variant rows should share the same item_group_id. If different color options each have a completely separate product page with no cross-linking, treating them as one group would misrepresent the on-site experience. The rule is: "Align grouping with your landing page experience."

The variant_option Attribute and Its Relationship to item_group_id

Google has introduced a related attribute, variant_option, which works alongside item_group_id. According to Google documentation, variant_option is used "in combination with the item group title [item_group_title] and item group ID [item_group_id] attributes to specify all variant-identifying properties of this product when it's available in different variants."

The attribute is optional, but it adds precision โ€” especially for non-standard variant dimensions such as shoe width or laptop memory size. It accepts up to 30 name-value pairs per product row. Each variant in the same group must use the same set of name sub-attributes, and each variant must be distinguishable by a unique combination of value sub-attributes.

For products that vary by standard attributes โ€” color, pattern, material, age group, gender, size โ€” Google documentation recommends also using variant_option "to identify the exact variant dimensions, as these standard attributes can also be used for non-variant products."

This distinction matters: submitting color alone on a product does not make it a variant. Adding item_group_id and, where appropriate, variant_option is what formally declares the product as part of a variant group.

Hypothetical Example: A Shoe Catalog With Mixed Compliance

The following is a hypothetical example for illustration only.

Imagine a footwear merchant selling a running shoe in two widths (narrow, wide) and three sizes (7, 8, 9), producing six variant rows. They submit the feed with item_group_id set to RUNSHOE-01 for all six rows โ€” correct so far.

However, they also sell a single-size dress shoe with no variants and mistakenly add item_group_id: DRESSSHOE-99 to that one row. Google's guidance says not to submit item_group_id when the product is not a variant. The dress shoe row is now grouped as if it belongs to a set that has no other members, which misrepresents the data.

For the running shoe, they decide to add variant_option with sub-attributes shoe width:narrow and size:7 for one row. According to the minimum requirements, every other row sharing item_group_id: RUNSHOE-01 must also include variant_option and must use the same set of name sub-attributes (shoe width, size). A row that includes only size without shoe width would violate the consistency requirement.

Finally, they consider renaming RUNSHOE-01 to RUNSHOE-2026 mid-season. Based on Google's guidance, changing the group ID risks inconsistency in how the variant cluster is shown to customers. The stable, recommended approach is to keep the original value.

What Happens When item_group_id Is Missing or Mismatched

The consequences are concrete. Google documentation states that failing to meet minimum requirements results in product disapproval, which is reported in the Diagnostics page of Merchant Center. Specifically:

  • Missing item_group_id for required variants in the six named markets means those variant rows do not qualify for Shopping ads or free listings in those markets.
  • Mismatched values โ€” where some variants of the same product use different group IDs โ€” causes those rows to be treated as separate, unrelated products rather than a grouped set. Customers see individual listings instead of a selector showing all available options.
  • Recycled or unstable IDs cause groupings to shift or collapse unpredictably across feed updates.

Merchant Center's Diagnostics page is the right place to check for disapprovals related to this attribute. If you see variant-related errors, audit whether every row in the group shares the same item_group_id value and whether the value has changed since the last upload.

Keeping Variant Data Clean in Your Feed Workflow

For catalog operators managing large feeds, variant data quality depends on upstream consistency. A few practical checkpoints:

  • Map item_group_id to the parent SKU or product group identifier in your source catalog before export.
  • Confirm that every child SKU belonging to a parent inherits the same group ID value โ€” not a variation of it.
  • If you use a feed management tool like Magicfeedpro, verify that the mapping rule preserves the original identifier without transformation (no case changes, no appended characters).
  • After any catalog restructure, audit that no single-variant rows have a group ID and no multi-variant rows are missing one.

Variant grouping errors are among the more common disapproval causes in Shopping feeds. Getting item_group_id right from the start โ€” correct format, consistent values, stable identifiers, and alignment with what shoppers see on your site โ€” keeps variant rows grouped correctly and eligible to serve where required.


MagicFeedPro Team

Feed Optimization Practitioners

We're a team of e-commerce and paid-search practitioners who have spent the last decade running Google Shopping campaigns at scale. We write about what actually moves the needle on product feed quality, CTR, and conversion.

Related articles