Skip to main content

Catalog identity

How to fix duplicate product IDs in a Google Merchant feed

Give each distinct product and variant a stable ID, while keeping the same ID for the same offer across supported targets.

Reviewed against Google Merchant Center documentation on August 25, 2026. Independent guide; not affiliated with or endorsed by Google.

What the diagnostic means

The id attribute identifies an offer and connects it to diagnostics, history, bidding, supplemental data, and inventory. Reusing one ID for different items makes those relationships unreliable.

Why act: Google requires a unique, stable ID for each different product. Changing or recycling IDs can overwrite product history or prevent data sources from matching correctly.

Common causes

  • A spreadsheet formula copied one SKU into multiple rows.
  • Every variant inherited the parent SKU instead of receiving a distinct offer ID.
  • An old ID was recycled for a new product.
  • Two IDs differ only by uppercase and lowercase characters.
  • Primary, supplemental, or local inventory sources use inconsistent IDs.

Resolution checklist

Fix it step by step

  1. Group all rows by id and confirm whether duplicates describe the same offer or different products.
  2. Assign each distinct product and variant a unique, durable SKU-based ID.
  3. Keep item_group_id shared across variants, but keep id unique per variant.
  4. Update dependent supplemental and inventory sources to use the exact same ID.
  5. Do not recycle retired IDs for unrelated future products.

Before you resubmit

  • No two distinct rows share the same product ID in one target feed.
  • IDs do not rely on casing alone to be different.
  • Every variant has its own ID and shares only item_group_id.
  • The same product keeps the same stable ID on future refreshes.

Variant identity correction

Before

Blue / small → id: SHIRT-1
Blue / large → id: SHIRT-1

After

Blue / small → id: SHIRT-1-BLU-S
Blue / large → id: SHIRT-1-BLU-L

Frequently asked questions

Should variants share the same ID?

No. Each variant is a distinct product offer and needs its own ID. Variants can share an item_group_id.

Are IDs case-sensitive?

Merchant Center can treat them as case-sensitive, but Google warns that IDs differing only by casing can be confused in related workflows. Use genuinely different letter-and-number combinations.

Can I change an ID after submission?

You can, but Google treats the changed value as a different identity and the previous product history is not preserved. Stable IDs are the safer operating practice.