Your Shopify products are still "Active" — but Google Shopping is quietly limiting them over missing identifiers

Short answer. Blank GTIN, MPN or brand fields usually do not get a product disapproved: they throttle it. The listing stays approved and keeps syncing, but Google shows it less, flagged as "limited performance" inside Merchant Center Diagnostics rather than anywhere in Shopify. Fill the identifiers where they genuinely exist; where a product truly has none, declare identifier_exists as false rather than leaving the fields empty.

Want to know if your store has this right now? Check my store, free 2 min · read-only

A product with a blank GTIN, MPN, or brand field doesn't usually get disapproved in Google Merchant Center: it gets throttled. The listing stays approved, stays on Shopping ads and free listings, and keeps syncing without a single red flag in Shopify admin. What changes is quieter: Google shows it less. Fewer impressions, fewer clicks, on a product your dashboard insists is perfectly fine.

The warning that explains this lives inside Merchant Center's Diagnostics, not inside Shopify, which is exactly why it can sit unresolved for months. A Shopify merchant on the Shopify Community forum described it plainly: the same "limited performance" flag showing up on a batch of products, unchanged, roughly a year after it first appeared.

What "limited performance due to missing identifiers" actually means

Google's own guidance on data-quality disapprovals is explicit that this is a distinct category from a disapproval: Google's page on fixing Merchant Center disapprovals states that "products that have product identification issues (such as missing a GTIN and/or MPN) have limited performance," and that these products "will continue to show on Shopping ads and free listings, but may appear with limited performance" rather than being pulled outright.

That said, the outcome isn't identical for every product. The same page also notes that for categories where Google strictly requires a GTIN, a missing or incorrect one can mean the item "won't be synced to your Merchant Center account and are disapproved" instead of merely throttled. Which path applies depends on your product category and which identifier is missing, but in the common case (a missing brand or MPN, or a GTIN-optional category), the listing survives; it just stops competing on equal footing.

Where GTIN, MPN, and brand actually live in your Shopify catalog

The GTIN comes from a field most merchants never touch: the barcode field. Shopify's own documentation for the Google & YouTube channel is direct about it, "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 filling it in, so a product built by hand, imported from a supplier feed, or duplicated from a template can go live, sell for months, and never have one.

Brand and MPN aren't native Shopify product fields at all. Brand is usually inferred from the product's Vendor field when the Google & YouTube app builds your feed; MPN has no Shopify-side home and typically needs to be set as an override inside the channel app itself, or supplied via a supplemental feed. If a store never configured those overrides, which is common on stores that installed the app once and never revisited it, MPN is simply absent from every product, brand or no brand.

A common way this slips through unnoticed

For example: a store imports its catalog from a supplier or a CSV export that never populated the barcode field, because the supplier didn't provide GTINs for private-label or custom items. The products publish fine, the Google & YouTube channel syncs fine, and Merchant Center approves the listings, because a missing identifier alone, without also being flagged as an outright required field for that category, doesn't block approval. It shows up only as a "Needs attention" warning that nobody was watching for, quietly capping how often those specific products get shown against competitors whose identifiers are complete.

StoreCanary checks this on your store

Not sure if your own listings are affected? We check every scanned product's structured data and feed-relevant fields against what Google actually expects: read-only, no admin access, about 2 minutes.

Scan my store for free

Why nothing in Shopify tells you this is happening

Shopify's product page shows "Active," the Google & YouTube channel shows the product as "Approved" or synced, and nothing in either surface distinguishes a fully-optimized listing from one running with limited performance. The warning exists exclusively inside Google Merchant Center's own Diagnostics and "Needs attention" views: a system most merchants only open when something else has already gone wrong. That's consistent with what StoreCanary's scans keep surfacing more broadly: product data problems that are technically visible somewhere, but never in the one place a merchant actually looks day to day.

How to check your own store

  1. In Shopify admin, open a sample of products under Products and check the Inventory section for each: is the barcode field blank?
  2. Open your Google & YouTube sales channel app and look for a "Needs attention" or diagnostics count on your product feed, not just an overall "connected" status.
  3. In Google Merchant Center itself, go to the Diagnostics tab (or the Needs attention page under Products) and filter for identifier-related issues: Google's guide to fixing a missing or incorrect GTIN walks through both this view and a bulk-CSV fix for stores with many affected products.
  4. Spot-check whether your Vendor field is actually populated for every product: an empty Vendor field usually means an empty brand attribute in the feed too.

The fix — and when identifier_exists is the right answer

If the product genuinely has a real-world GTIN (most branded, mass-produced goods do), add it to the barcode field and let it flow through the feed. If it doesn't (handmade goods, custom items, private-label products with no assigned barcode) the correct move isn't to leave the field blank and hope; it's to explicitly submit identifier_exists as false for that product, alongside an MPN and brand where you have them. Google's documentation for the identifier_exists attribute is specific that this only works if it's true: setting it to false on a product Google can find evidence has a real identifier "will receive a warning" of its own, so it isn't a blanket workaround, it's an honest declaration, not a bypass.

This sits in the same family as the price and landing-page mismatches we've covered before: Merchant Center isn't rejecting these products outright, it's comparing what your data claims against what it can verify, and quietly adjusting how much it trusts the listing. See the price mismatch trap for the pricing version of the same underlying pattern.

A GTIN that is present but wrong

Everything above is about a blank field. The opposite failure is a field that is filled in with a value that cannot be a real barcode, and it is easier to miss, because a blank is visible and a wrong number is not. Google's documentation for the GTIN attribute is direct about it: "Make sure that the check digit is present and correct using the GS1 Check digit calculator," and "Products with missing or incorrect GTIN [gtin] attributes may have limited visibility." It also tells you what not to do: "Only provide a GTIN if you're sure it's correct. When in doubt don't provide a GTIN (for example, don't guess or make up a value)." The same page rules out values in the restricted ranges (prefixes 02, 04 or 2) and the coupon ranges (prefixes 05, 98 or 99).

The check digit is the last digit of the code, and it is computed from the others. Working from the right, skipping the check digit itself, multiply the digits alternately by 3 and by 1, add them up, and the check digit is whatever brings that total to the next multiple of 10. For example, take the 12-digit UPC 036000291452. The eleven digits before the last one, read from the right, are 5, 4, 1, 9, 2, 0, 0, 0, 6, 3, 0. Weighted by 3, 1, 3, 1 and so on, they give 15 + 4 + 3 + 9 + 6 + 0 + 0 + 0 + 18 + 3 + 0 = 58. The next multiple of 10 is 60, so the check digit must be 2, which is what the code ends in. Change any single digit and the total no longer lands on the right number.

That is why a typo, two transposed digits, or a code with a digit dropped does not produce a slightly wrong product. It produces a code that fails arithmetic, which is exactly what Google's instruction to verify the check digit is asking you to rule out. Length matters too: Google's list of GTIN types covers 8, 12, 13 and 14 digit codes (UPC, EAN, JAN, ISBN and ITF-14), so a barcode with another number of digits is not a valid GTIN either.

How common is it? In our own scans, a GTIN with a failing checksum turned up on about 1 in 8 Shopify stores. We say so as a count of what we found, not as a prediction for your store, and not as a statement about why each one is wrong, which we cannot see from outside.

To check your own catalogue, export your products, and run each barcode through the same arithmetic, or paste a sample into GS1's check digit calculator. A code that fails is one of three things: a typo to correct from the product's real packaging or the supplier's data, a placeholder someone typed to fill the field, or a code that was never assigned. For the first, fix it. For the second and third, remove it, and use the identifier_exists route described above if the product truly has no barcode, because a wrong value is worse than an honest blank.

Is this happening on your store right now?

Merchant Center will not tell you until it disapproves a listing. The product is live in your store, and Google Shopping is showing a different price, the wrong availability, or nothing at all. The only way to know is to check the feed the way Google reads it.

  • 90+ checks, the way Google reads your product feed. Price and availability mismatches, missing identifiers, redirect chains.
  • Read-only. No app to install, no admin access, nothing changes on your store.
  • The exact fix for each page, in plain English, so you or your developer can act the same day.

Across full-catalog scans of more than 90,000 Shopify product pages, about 1 in 4 stores had at least one critical Google visibility issue.

Scan my store for free

Free scan: issue types, counts and first fixes. Full report on every product page, not a sample: $49 once, no subscription.

Next in this cluster