← All Commerce Manager errors

Fix “IDs can't be duplicated” in Meta Commerce Manager

Updated 20 September 2026 · 3 min read

Commerce Manager shows “IDs can't be duplicated” when more than one product in the feed carries the same content id; each id must be used once, is case sensitive, and must differ from every item_group_id. Give every variant its own id (the platform’s variant id or a unique SKU) and share the group id among variants of one product.

Shown in Commerce Manager asIDs can't be duplicated
Attributeid
EffectProduct disapproved
Where to find itCatalog → Products → a product’s Status and issues; feed-level errors under Catalog → Data sources → Download issue report
Free checkReported by the free feed check

What Commerce Manager means by “IDs can't be duplicated”

Meta’s data feed troubleshooting page requires a unique content id for each product, used once in the catalogue and different from every group id, and stresses that the field is case sensitive (abc123 and ABC123 are two products). The product data specification adds the practical advice: use the SKU where possible, up to 100 characters, and for Advantage+ catalogue ads make it match the content id your Meta Pixel sends.

When ids repeat, one row overwrites another and a product silently goes missing, so the issue is worth fixing even when the rows look identical.

Why it happens

How to fix it

In Shopify

Use variant ids as content ids, which is Shopify’s channel default. Make sure the same value is what your pixel sends as content_ids, or ads lose the match.

In WooCommerce

Variations have their own post ids; our free plugin uses them, with the parent id as the group. Exports keyed on SKU need every variation to have a distinct SKU first.

In a CSV or XML feed

Sort by id and find repeats. Variants of one product get their own ids and a shared item_group_id; true duplicates get deleted. Keep the ids you settle on: Meta ties the product, and your pixel’s events, to them.

How long until Commerce Manager clears it

On the next upload with unique ids; previously overwritten rows appear as products.

What FeedRobin does about it

The free feed check counts rows whose id an earlier row already used and reports them as critical; we keep the first and never serve a duplicate. Which of two rows is the real product is your catalogue’s call, so we do not merge them.

Questions merchants ask

Are abc123 and ABC123 the same id?

No. Meta’s specification says the field is case sensitive and gives exactly that example: they create two different products. Uniqueness is checked on the exact string.

Should the id be the SKU?

Meta suggests the SKU where possible, and for Advantage+ catalogue ads the id must match the content id your pixel sends. Whatever you choose, keep it stable; a changed id is a new product with no history.

Do variants need separate ids?

Yes. Every size and colour is its own row with its own content id; the variants of one product share an item_group_id, which must itself be unique and different from any id.

Sources

Related errors

ID conflicts with group IDFix “ID conflicts with group ID” in Meta Commerce Manager
Product disapproved
A required field is missingFix “A required field is missing” in Meta Commerce Manager
Product disapproved

Read next

Facebook & Instagram catalog: why products are rejected or not shown, and how to fix each causeWhy Facebook and Instagram reject or don’t show catalog products: import format, availability values, images, prices, variants and IDs, and how to fix each.
7 min
WooCommerce variable products in Google Shopping: one row per variation, groupedHow to send WooCommerce variable products to Google Shopping: one row per variation, grouped by item_group_id, each with its own price and image.
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.