FeedMender/Errors/identifier_exists
Common rejections
Incorrect value [identifier_exists]
This attribute is a sworn statement about your own data, and Merchant Center holds you to it. Most failures are not wrong knowledge but a default someone set once, in a plugin or a template, that now contradicts the rest of the row.
What Google requires
A declaration consistent with the identifiers you supply
identifier_exists accepts yes or no, nothing else. Set to no, it declares the product has no GTIN, no MPN, and no brand-and-MPN pair, which is only true of things like handmade goods, custom products and some own-brand lines. Supplying the attribute is optional; being consistent with it is not. A row that says no while carrying a GTIN, or a brand and MPN, contradicts itself.
What happens if you do not
Disapproval for the contradiction, not the identifiers
The product is refused even though every identifier on the row is individually correct, which makes this rejection unusually confusing to debug. The common source is an e-commerce plugin that writes identifier_exists: no as its default for every product, including the branded ones. A value like maybe or unknown, seen in hand-built feeds, fails on its own before consistency is even considered.
How to fix it by hand
Remove the blanket default
- Find where the value is set, almost always a plugin setting or feed template applying one default to everything, and stop it writing no for products that have identifiers.
- Keep no only for products that truly have no GTIN, no MPN and no brand-and-MPN pair.
- For everything else, either omit the attribute entirely or set yes and supply the identifiers.
Which of our checks apply
3 checks apply, read from the scanner's registry
The scan checks the declaration against the identifiers actually present on each row, which is exactly the cross-check Merchant Center performs.
identifier_exists_contradictionblocksidentifier_exists_valueblocksgtin_absent_fallbackat risk
The quicker way
Let the scan find them
One scan shows every row where the declaration and the data disagree, before Google finds the contradiction. The scan to identify errors is free and shows every finding before you pay anything. You only pay for the fix.