Fixing “Duplicate ID” errors in your product feed

Why two rows sharing an id makes products vanish from Shopping, and how to build stable unique IDs for variants.

Check your own feed first. feedcheck scans your whole product file in your browser and lists every row with this problem — plus the other 5 disapproval causes below. Nothing is uploaded.
Audit my feed free →

What Google is actually complaining about

The id attribute is the primary key of your feed. When two rows share one, Google doesn't merge them — it keeps whichever it saw last and silently drops the other. Products disappear from Shopping without ever showing a red error, which is what makes this one so expensive.

Where duplicates come from:

How to fix it

  1. Sort by id and find collisions — after trimming whitespace and lowercasing, or you'll miss half of them.
  2. Give each variant a unique suffix: SKU-4471-RED-M.
  3. Set item_group_id to the shared parent SKU on every variant so Google still groups them correctly.
  4. De-duplicate rows that are genuinely the same product exported twice.
  5. Keep IDs stable forever. Changing an id resets that product's performance history and it re-enters review.

What a correct row looks like

id,item_group_id,title,size,color,price
SKU-4471-RED-M,SKU-4471,Canvas Jacket,M,Red,89.00 USD
SKU-4471-RED-L,SKU-4471,Canvas Jacket,L,Red,89.00 USD
SKU-4471-BLU-M,SKU-4471,Canvas Jacket,M,Blue,89.00 USD

How long until the disapproval clears

Merchant Center re-crawls a scheduled feed on its normal cadence, so a fix can sit invisible for up to 24 hours. To force it: Products → Feeds → your feed → Fetch now, then re-check Diagnostics the following day. Items usually flip back to Active within one or two crawls once the attribute validates.

Don't want to edit thousands of rows by hand?

FeedCheck Rescue — $29, one-off. Send your feed file and I run the auto-fixer over it, then send back a corrected file plus a plain-English changelog of every single edit, so you can see exactly what changed before you upload it.

Get FeedCheck Rescue — $29 Or try the free auditor

Other common disapproval causes

Invalid GTINMissing or invalid priceImage link errorsAvailability mismatchMissing required attributes