Short answer. Commerce Manager shows “ID conflicts with group ID” when a product’s content id is also being used as the item_group_id of one or more other products; Meta requires all ids and group ids to be unique across both sets, case sensitively. Change the group id on the variants (a prefix such as group_ works), and if your Meta Pixel sends group ids, update it to match.
| Shown in Commerce Manager as | ID conflicts with group ID |
|---|---|
| Attribute | item_group_id |
| Effect | Product disapproved |
| Where to find it | Catalog → Products → a product’s Status and issues; feed-level errors under Catalog → Data sources → Download issue report |
| Free check | Reported by the free feed check |
What Commerce Manager means by “ID conflicts with group ID”
Meta keeps content ids and group ids in one namespace: its product data specification says each id must be different from any item_group_id, and each group id must be different from any id, case sensitively. When a product’s id is also being used as the group id of other products, the products-not-showing page reports “ID conflicts with group ID” and gives the search procedure: copy the product’s content id, paste it into the Products tab search, and the products using it as their group id appear.
This is a genuine difference from Google, which allows a parent’s id to serve as its variants’ item_group_id. A feed built for Google that sends the parent as a row and as the group is correct there and a conflict here.
Why it happens
- The parent product exported as a row alongside its variants, whose group id is the parent’s id.
- A variant’s id reused as the group id when the export picked the first variant as representative.
- Pixel events sending the parent id as a group, after the feed was corrected.
How to fix it
In Shopify
Shopify’s channel uses variant ids as content ids and the product id as the group, and does not send a parent row, so it has no conflict. A feed app that adds the parent as a product should be set to variants only.
In WooCommerce
Our free plugin sends variations only, with the parent’s id as group id and no parent row, which satisfies Meta. If another export includes the parent as a product, exclude it or prefix the group ids.
In a CSV or XML feed
Either drop the parent row (it has no price of its own anyway) or change the variants’ item_group_id to a value no product uses as an id, such as group_ plus the parent id. Then update the group ids your Meta Pixel sends, as Meta’s page reminds, so events keep matching the catalogue.
How long until Commerce Manager clears it
On the next upload in which no id equals any group id; the affected products are shown again.
What FeedRobin does about it
The free feed check reports ungrouped variants and duplicate ids, the two neighbours of this issue; it does not yet check ids against group ids. For connected stores the Meta feed carries variants only, with the platform’s product id as the group and its variant ids as content ids, which cannot collide.
Questions merchants ask
Google accepts my parent id as item_group_id. Why not Meta?
Because Meta keeps ids and group ids in one namespace and Google does not. A feed that sends the parent as a product and as the group of its variants is fine for Google and a conflict for Meta. Either drop the parent row or rename the group.
How do I find which products conflict?
Meta’s page describes it: copy the affected product’s content id, paste it into the search bar of the Products tab, and the products using it as their group id appear; edit their item group id.
What about my pixel events?
If your pixel sends content_ids or group ids, change them with the feed, or the events stop matching the catalogue and Advantage+ catalogue ads lose their signal. Meta’s page makes the same point.
Sources
- Troubleshoot data feed errors in your catalog — Meta Business Help Centre
- Troubleshoot products not appearing in your ads or shop on Facebook and Instagram — Meta Business Help Centre
- Product data specifications for catalogs in Commerce Manager — Meta Business Help Centre