Fix Library

How to Set identifier_exists on Shopify for Unbranded Products

Fix the "Missing identifier_exists" error on Shopify by explicitly declaring that your products don't have GTINs, MPNs, or brand identifiers.

What this means

For genuinely unbranded products, Google requires you to declare `identifier_exists=false` explicitly so the catalog match knows not to expect GTIN/MPN/brand. Shopify doesn't set this field by default, so the error fires on handmade, custom, and private-label products that lack standard identifiers.

How to fix it

  1. 1

    Create the custom.identifier_exists metafield definition

    Settings → Custom data → Products → Add definition. Namespace and key: `custom.identifier_exists`. Type: Single line text.

  2. 2

    Set the value to "false" for affected products

    Open each affected product → Metafields → fill `custom.identifier_exists` with `false`. Test on one product first to confirm the namespace works.

  3. 3

    Bulk-populate via Matrixify or CSV

    Export products with metafields, fill `custom.identifier_exists` to `false` on affected rows, re-import. Matrixify handles large catalogs reliably.

  4. 4

    Ensure GTIN, MPN, and brand are also empty for those products

    Setting `identifier_exists=false` while populating brand or MPN is contradictory and gets flagged. Either omit all three, or remove `identifier_exists` and provide brand+MPN instead.

  5. 5

    Verify after 24-72 hours

    GMC → Products → All products. The Identifier exists column should show "No" on affected products. Item issues for missing identifiers should clear.

Related fixes

Related reading

FAQ

When should I set identifier_exists to false?+

When your products genuinely have no GTIN, MPN, or brand — typically handmade, custom-order, or private-label items below the GTIN registration threshold.

Will this hurt my Google Shopping rankings?+

Slightly. Products without verified identifiers rank below otherwise-equivalent products on contested queries. The penalty is much smaller than the suspension risk of leaving the field undeclared.

Can I set identifier_exists=false on branded resale?+

No. That's misrepresentation — branded products have GTINs by definition. Setting `identifier_exists=false` on branded items can trigger account-level suspension.

Does Shopify set identifier_exists automatically?+

No. Without an explicit metafield, Google treats the field as undeclared and fires the missing-identifier error.

What's the right namespace for the metafield?+

`custom.identifier_exists` works for most current Google channel app versions. Some legacy versions use `mc_google_offer.identifier_exists` instead.

For Google's official policy on this error, see Google's identifier_exists specification.

Run a free compliance audit

ShieldKit's scanner runs the same 12 checks Google's AI crawlers run — find every issue on your store in five minutes, no install.