TL;DR
- Missing GTIN, MPN, or brand does not disapprove a Shopify product in Merchant Center; it triggers "limited performance," cutting impressions with no warning visible in Shopify admin.
- The flag lives exclusively in Merchant Center Diagnostics, invisible from the Shopify product dashboard and the Google & YouTube channel app.
- Fix: add a real GTIN to the barcode field where one exists; for products with no identifier at all, submit
identifier_exists: falserather than leaving fields empty.
When a Shopify product is missing its GTIN, MPN, or brand attribute in the Google feed, Merchant Center does not disapprove it. It throttles it. The listing stays approved, keeps syncing, and shows "Active" in Shopify admin, but Google quietly reduces how often it appears in Shopping ads and free listings. The flag is called "limited performance due to missing identifiers" and it lives exclusively in Merchant Center Diagnostics.
This pattern shows up on stores where products were imported from a supplier without barcodes, or where the Google & YouTube channel app was configured once and never revisited. As a developer or agency building Shopify stores for clients, this warning never surfaces in the Shopify dashboard, which is why it can persist for months unnoticed.
This article covers: where the warning appears, which Shopify fields map to which feed attributes, and the correct fix (including when identifier_exists: false is the right call).
What does "limited performance due to missing identifiers" actually mean?
Google's own page on fixing Merchant Center disapprovals is explicit that this is a separate category from a disapproval: products with missing identifiers "will continue to show on Shopping ads and free listings, but may appear with limited performance."
The outcome is not identical for every product. For categories where Google strictly requires a GTIN, a missing one can result in disapproval rather than throttling. Which path applies depends on your product category and which identifier is missing. In the common case (missing brand or MPN, or a GTIN-optional category), the listing survives but stops competing on equal footing.
Where do GTIN, MPN, and brand live in the Shopify data model?
The GTIN maps from the barcode field, a field many merchants never fill in. Shopify's documentation for the Google & YouTube channel is direct: "add a barcode (GTIN): in your Shopify admin, go to Products, open the product, and add the barcode in the Inventory section." Nothing in the standard product-creation flow requires it, so a product built by hand, imported from a supplier feed, or duplicated from a template can go live and sell for months without one.
Brand and MPN are not native Shopify product fields. Brand is usually inferred from the Vendor field when the Google & YouTube app builds the feed. MPN has no Shopify-side home and typically requires an override inside the channel app itself, or a supplemental feed. On stores that installed the app once and never revisited the settings, MPN is simply absent from every product.
How does this slip through into production undetected?
A common scenario: a store imports its catalog from a supplier CSV that never populated the barcode field, because the supplier did not provide GTINs for private-label or custom items. The products publish fine, the channel app syncs fine, and Merchant Center approves the listings. A missing identifier alone does not block approval. It shows up only as a "Needs attention" warning in Diagnostics, quietly capping impressions against competitors with complete identifiers.
How do you find which products are affected?
- In Shopify admin, open a sample of products under Products and check the Inventory section. Is the barcode field blank?
- Open the Google & YouTube sales channel app and look for a "Needs attention" or diagnostics count, not just an overall "connected" status.
- In Google Merchant Center, go to the Diagnostics tab (or Needs attention under Products) and filter for identifier-related issues. Google's guide to fixing a missing or incorrect GTIN walks through this view and a bulk-CSV fix for stores with many affected products.
- Spot-check whether the Vendor field is populated for every product. An empty Vendor field typically means an empty brand attribute in the feed.
When is identifier_exists: false the right fix?
If the product has a real-world GTIN (most branded, mass-produced goods do), add it to the barcode field and let it flow through the feed.
For products with no identifier (handmade goods, custom items, private-label products with no assigned barcode), submit identifier_exists as false alongside an MPN and brand where you have them. Google's documentation for the identifier_exists attribute is specific on this point: setting it to false on a product Google can find evidence has a real identifier "will receive a warning" of its own. It is an honest declaration, not a workaround.
This issue sits in the same family as price and landing-page mismatches. Merchant Center compares what your feed claims against what it can verify, then adjusts how much it trusts the listing. For the pricing version of the same pattern, see the price mismatch trap.
Have you run into a client store where this "Needs attention" flag had been sitting in Diagnostics for months before anyone caught it? What triggered the audit?
The full version of this article, with screenshots and ongoing updates, lives on the StoreCanary blog.
Top comments (0)