Free Shopify store auditSpeed, SEO and conversion leaks — no cost, no obligation.
Claim it
Thriftizer Solutions LLPShopify Select Partner
Book a Growth Audit
Shopify Aug 11, 2026 9 min read

Merchant Center Disapprovals on Shopify: 12 Errors and Their Fixes

Barcodes that aren't real GTINs, a blank vendor field, price mismatches on crawl, missing apparel attributes. Twelve Merchant Center errors on Shopify and the exact field to change for each.

Most Shopify Merchant Center disapprovals trace back to four causes: the barcode field holding something that isn't a real GTIN, the vendor field left blank, a price on the product page that doesn't match the price in the feed, and apparel items missing age group and gender. Clear those and the red count usually collapses. Everything else in this post is the long tail, error by error, with the fix expressed in Shopify's own fields rather than in abstract feed-spec language.

One thing to get straight before you start: the Google & YouTube channel doesn't let you edit a feed file. There's no CSV to open. Every attribute Google sees comes from a Shopify field, a metafield, or an override you set inside the channel. So the fix for a feed error is almost always a change to product data, not to the feed.

Work out which layer is broken first

Four different systems can produce a disapproval that looks identical in the Merchant Center UI:

  • Sync — the product never reached Google. Usually it isn't published to the Google & YouTube sales channel, or the variant has no price, or the store still has a password page on.
  • Feed content — Google got the product but an attribute is missing or invalid. These say "Missing value" or "Invalid value" and name the attribute.
  • Crawl mismatch — Google fetched your product page and found something different from what the feed claimed. Price and availability, mostly.
  • Account policy — nothing wrong with the product at all. Shipping isn't configured, tax isn't configured, or your site is missing the pages Google expects a real business to have.

The fourth category is the one that gets stores suspended, and it's the one people spend the least time on. Note also that Merchant Center Next will crawl your site and add products it finds on its own, which can sit alongside the Shopify-supplied ones and produce duplicate item IDs. If your product count in Merchant Center is meaningfully higher than your published variant count in Shopify, that's what's happening.

Errors 1–3: identifiers (GTIN, brand, MPN)

1. Missing value: gtin / Insufficient unique product identifiers

Shopify maps the variant Barcode field to gtin. Nothing else. If barcode is empty, the attribute is empty.

If you sell branded goods you didn't manufacture, you need the real GTIN from the manufacturer. Get it from the box. If you make the product yourself and there is no GTIN in existence, don't fake one: set the identifier-exists flag to false so Google stops asking. In the current channel that's handled per product; older setups used a mm-google-shopping metafield. Either way, Google will still want brand plus MPN from you, so fill both.

The blunt version: unbranded items with no identifiers still serve, they just get worse placement and can't join product groupings. It's not fatal. Fake barcodes are.

2. Invalid value: gtin

Almost always because someone used the barcode field as a second SKU. A valid GTIN is 8, 12, 13 or 14 digits with a check digit that has to compute correctly, so "TSH-BLK-M" or a 13-digit number you invented will both fail. Export your variants to CSV, filter the barcode column for anything containing a letter or a hyphen, and clear those cells rather than guessing. An empty barcode with identifier-exists set to false is a clean feed. A wrong barcode can attach your listing to somebody else's product page on Google.

3. Missing value: brand

Shopify sends the product Vendor field as brand. Stores that use Vendor for supplier names, or leave it as the default from an import, either publish the wrong brand or publish nothing. If you're a single-brand D2C label, bulk-set Vendor to your brand name across the whole catalogue in the bulk editor and move on. Ten minutes of work.

Errors 4–5: the crawl mismatches

4. Mismatched value (page crawl): price

Google fetches the landing page, reads the price out of your theme's structured data, and compares it to the feed. Any gap beyond a very small tolerance is a disapproval. On Shopify the usual culprits are discount apps that render a reduced price in the theme without changing the variant price, geo-priced Markets serving a different currency on the URL Google crawled, and bundle apps that rewrite the price block client-side after the page loads. Google's crawler does render JavaScript, but not reliably enough to bet a product feed on.

The Indian version of this is tax. Google expects the price for India to include GST. If your Shopify tax settings have "all prices include tax" switched off, a ₹1,999 kurta shows ₹1,999 on the page, syncs as ₹1,999, and then charges 1999 × 1.05 = ₹2,098.95 at checkout on a 5% garment rate. That's a mismatch between advertised and charged price, and it's the sort of thing that escalates from a product disapproval into a policy problem. Turn tax-inclusive pricing on and let Shopify back the GST out at checkout.

5. Mismatched value (page crawl): availability

Feed says in stock, page says sold out, or the reverse. "Continue selling when out of stock" is the main offender: inventory hits zero, Shopify keeps the buy button live, the theme prints a "backordered" or "ships in 3 weeks" line, and Google's crawler reads the page as unavailable. Pre-orders need the pre-order availability value and an availability date, not a generic in-stock flag.

Check your theme's product JSON-LD. Themes forked years ago sometimes hard-code InStock for every product regardless of inventory, which means every out-of-stock item you have is quietly wrong. That's a two-line fix in the schema snippet, and it's the kind of thing worth handing to a developer rather than editing live on a Friday.

Errors 6–8: the apparel attributes Shopify doesn't infer

6. Missing value: age group / gender

Required for apparel and accessories in most target countries. Shopify has no native field for either, so they come from the product category you assign plus metafields or channel overrides. The fastest route for a catalogue that's entirely one segment: bulk-assign the metafield value once. For a mixed catalogue, split by collection and do it in batches. Don't leave it to Google to guess.

7. Missing value: size / color

The channel can pick these up when your variant options are literally named Size and Color. Name them "Shade", "Fit", "Bust", or "Colour" with a U, and the mapping gets unreliable. Also required: size type and size system for some countries, which matters if you sell UK 8 and US 4 into the same feed. Rename the options in Shopify if you can stomach the URL changes, or map them explicitly in the channel.

8. Missing item_group_id — variants cannibalising each other

Shopify sends each variant as a separate item and groups them under the product. When grouping breaks, six colourways of one shirt compete in the same auction and your CPCs go up for no reason. This shows up less as a hard error and more as a "limited performance" warning that people ignore. If you've built variants as separate products (common after a bad migration from WooCommerce or Magento, where variation data doesn't always survive), no grouping exists to send. That's a catalogue restructure, not a feed fix.

Error 9: image disapprovals

Three flavours. Promotional overlay is the common one in India — the "FLAT 40% OFF" or "BESTSELLER" ribbon baked into the JPEG by whoever built your festive creatives. Google rejects any price, sale text, or call to action rendered into the product image. Watermarks with your logo are borderline and small ones usually pass; anything promotional does not.

Generic image means a placeholder or a plain-colour swatch instead of the product. Image cannot be fetched is usually a CDN URL that changed after a re-upload, or a product with no image at all.

Shopify's CDN serves images fine. Google's hard minimum resolution is small, but the number that actually matters is 800px on the short side, because anything smaller looks poor in Shopping results and takes the click rate down with it. Keep a clean, overlay-free primary image and put the promotional version in position two.

Error 10: landing page not working, or not crawlable

Causes we see, in rough order of frequency:

  • The store password page is still enabled. Everything disapproves at once.
  • Shopify Markets redirects the crawler by IP. Google crawls from US IPs by default, so a store that force-redirects Indian and Gulf traffic to /en-ae/ or blocks non-served countries will serve the crawler a redirect chain or a 404. Use market-specific feeds with the correct URLs rather than relying on redirects.
  • A bot-protection app or aggressive rate limiting returning 403 to Googlebot.
  • Products unpublished from the Online Store channel but still published to Google.

Use the URL inspection tool on one affected product URL before you rebuild anything. It tells you in thirty seconds whether the page is reachable.

Errors 11–12: account-level problems that look like product problems

11. Missing value: shipping / tax

These are Merchant Center account settings, not Shopify fields. Shipping rates have to be configured per target country, and for the US you also need sales tax settings. A store selling into India, the UAE and the US needs three shipping configurations, and free-shipping-over-a-threshold rules need to be entered as such rather than as a flat zero. If your Shopify rates are weight-based, replicate the bands rather than approximating, because a delivered total that exceeds the advertised one is a policy issue.

12. Misrepresentation

The account-killer. It has almost nothing to do with your products. Google wants a working contact method, a returns and refunds policy with actual timelines, a shipping policy with actual delivery windows, a terms page, and a business identity on the site that matches the one on the Merchant Center account. Indian stores get caught by COD terms that aren't documented anywhere, and by a legal entity name in the footer that doesn't match the GST registration or the Merchant Center business name.

Write real policies. "Returns accepted within 7 days of delivery, refund to source in 5–7 working days, reverse pickup where our courier serves the pincode" is fine. A copied template with square brackets still in it is not.

Three more that cost nothing to fix

Excessive capitalisation in titles — Shopify stores that import product names in ALL CAPS from a supplier sheet get flagged. Title truncation — Google displays far less than the field allows, so lead with brand and product type rather than "Buy Online Best Quality". And promotional text in the title field: "Free Shipping" in a product name is a disapproval, not a clever hack.

When to stop fighting the native channel

The Google & YouTube channel is genuinely good if you sell a straightforward catalogue into one country. It falls apart when you need per-market titles, custom labels driven by margin or stock age, excluded collections, or supplemental data to patch identifiers. At that point a dedicated feed app earns its subscription in a week, because you stop editing 4,000 products to change one attribute. We'd rather tell a client to spend on a feed tool than bill them for bulk metafield surgery every quarter.

After you fix things, expect three to seven days for reprocessing. Don't request review repeatedly; it doesn't speed anything up, and on policy issues a second failed review is worse than a slow first one.

If you'd like a second pair of eyes on a feed that's throwing errors you can't place, our team runs Google Ads and Merchant Center work as a Google Partner alongside the Shopify build side — book a free audit and we'll go through the disapproval list with you. If the fixes turn out to be metafield and theme-schema work, that's developer time, and we'll say so rather than dress it up as strategy. For catalogues where the underlying product data itself is the problem, start with product data and content before you touch bids.

Previous postNext post

Ready to scale your D2C brand profitably?

Let's build a growth engine that drives more traffic, more conversions and more profit.

Book a Growth Audit
📅 Free Audit💬 WhatsApp