Featured

Why Google Merchant Center Keeps Disapproving Your Products (And How to Fix Them All at Once)

You fix one disapproval, and three more appear. Merchant Center flags a product you never touched, your best seller disappears from Shopping, and the error message tells you almost nothing about what to change. Here is what each of the common disapprovals actually means, how to diagnose them in about twenty minutes, and—more importantly—how to fix them across an entire catalogue instead of one SKU at a time.

Disapproved product listings with missing data fields being repaired in bulk and republished as approved Shopping listings
Most disapprovals are not policy problems. They are product data problems, and they repeat across the catalogue.

There is a particular kind of Monday morning that every merchant running Shopping ads knows: you open Merchant Center and a number has appeared next to Products that was not there on Friday. Four hundred and twelve items disapproved. Nothing was deployed over the weekend. Nobody edited anything.

The instinct is to open the first product, read the error, fix it, and move to the next. That instinct is what turns a two-hour job into a two-week job. Disapprovals are almost never random and almost never isolated—they come from a handful of repeating data gaps that affect hundreds of SKUs at a time. Fix the gap once, correctly, across the catalogue, and the number drops in one pass.

This guide walks through the errors you are most likely to see, what each one actually means in plain language, and how to work through them at catalogue scale.

What a disapproval really costs you

It is worth being precise about the damage, because it is larger than "some ads stopped running."

A disapproved item is removed from both your Shopping ads and your free listings—the same product data feeds both surfaces. If the item was in a Performance Max campaign, your budget silently reallocates to whatever is still eligible, which is usually not your best margin product. Your remarketing audiences shrink. And because Shopping feeds are increasingly read by AI assistants and comparison engines as a source of structured product facts, an item missing from the feed is missing from those answers too.

The pattern that hurts most is the slow one: a handful of items fall out each week, nobody notices because the account still spends its budget, and six months later a third of the catalogue is invisible. That is why the fix has to be systematic rather than reactive.

The 9 reasons your products get disapproved

These cover the overwhelming majority of item-level issues. For each one: what Google is telling you, and what to change.

1. Missing or invalid product identifiers

Errors like Missing value: gtin, Invalid value: gtin or Limited performance due to missing identifiers mean Google cannot match your listing to a known product. Without that match it cannot verify what you are selling, so the listing is either restricted or dropped.

Supply a valid GTIN—checksum included, no leading-zero truncation from a spreadsheet export—plus brand and mpn. If a product truly has no manufacturer identifier, set identifier_exists to no and make sure brand and MPN are accurate. Never invent one.

2. Missing required attributes for your category

Apparel and accessories are the usual casualty: color, size, age_group and gender are required in most target countries, and a variant missing any of them gets pulled. Other categories have their own required sets—energy labels, multipack and bundle flags, unit pricing.

The frustrating part is that the information almost always exists somewhere—in the variant title, the description, or the supplier sheet—it just is not in the right field. This is precisely what product data enrichment is for: reading the data you already hold and writing it into structured attributes.

3. Price or availability mismatch with your landing page

Mismatched value (page crawl): price is the most common disapproval on stores that run frequent promotions. Google crawls your product page, compares it to the feed, and disapproves if they disagree—including currency, tax treatment, and sale versus regular price.

Usual culprits: a feed that syncs once a day while prices change hourly, discounts applied at checkout rather than on the page, or price shown only after a variant is selected. Fix the sync cadence first, then make sure the price is present in your Product structured data so the crawler reads the same number a shopper sees.

4. Image problems

Image too small, Promotional overlay on image, Generic image and Image could not be crawled account for a huge share of rejections. Google wants a clean product shot: no watermarks, no "50% OFF" starbursts, no borders, no placeholder graphics, and a resolution comfortably above the minimum (1000px+ on the longest side is a safe working target).

Overlays are the sneaky one, because they are often baked into images by a seasonal campaign and then forgotten. If you need to reprocess a large number of images—upscaling, cleaning backgrounds, removing overlays—an AI image editor built for product images is far faster than reshooting or re-exporting by hand.

5. Descriptions that are thin, stuffed, or inconsistent

Merchant Center does not disapprove for "bad writing," but it does flag descriptions that contain promotional text, blocks of keywords, HTML junk, or claims that contradict the rest of the item data. A description saying "available in five colours" on a single-colour variant is a contradiction the system can catch.

Descriptions should describe the product: materials, dimensions, compatibility, what is in the box. Generating them from your real attribute data with a product description generator keeps them factual and consistent in a way hand-written copy across thousands of SKUs rarely stays.

6. Landing page problems

Unavailable desktop landing page, Landing page not working, or crawl errors usually mean something structural: the URL 404s, it redirects to a category page, it is blocked in robots.txt, it is geo-gated, or it sits behind an age or cookie wall the crawler cannot pass. Bot protection that challenges Googlebot causes this constantly and is easy to miss because the page works perfectly in your browser.

7. Missing or incorrect shipping and tax setup

An item with no valid shipping configuration for its target country cannot show. This is usually an account-level setting rather than a per-product one, which is good news: one correct configuration clears a very large number of items at once.

8. Policy and restricted-content violations

Some categories are genuinely restricted—supplements, alcohol, weapons-adjacent items, medical claims, recalled products. Others get caught by association: a phrase in the title, an accessory that reads like a restricted item, a health claim in a description written enthusiastically. Read the policy for your category rather than guessing, and if you believe the classification is wrong, request a review with the reasoning rather than repeatedly resubmitting the same data.

9. Duplicate or conflicting offers

Two items sharing an id, the same product submitted through multiple feeds, or variants uploaded as separate products without a shared item_group_id all produce conflicts. Google keeps one version and disapproves the rest—and the one it keeps is rarely the one you wanted. Consistent IDs across every channel are the cure, which is a large part of why merchants centralise product data in the first place; our guide to choosing a PIM for 2026 goes deeper on that.

The pattern underneath all nine
  • Seven of the nine are data completeness or data consistency problems, not policy problems.
  • They repeat: the same missing attribute typically affects an entire supplier import or product type.
  • They come back, because catalogues change constantly and feeds re-sync whatever is upstream.

Diagnose your whole feed in 20 minutes

Before fixing anything, get the full picture. Fixing products one by one from the Merchant Center UI is the single biggest time sink in this work.

  1. Export the disapproved items. In Merchant Center, open Products → Diagnostics (in Merchant Center Next, Products → Needs attention) and download the item-level issue report. You get a row per product per issue.
  2. Group by error type, not by product. A pivot on the issue column takes a minute and usually reveals that four hundred disapprovals are really three problems.
  3. Separate account-level from item-level. Anything account-level goes first—those fixes can clear thousands of items in a single change.
  4. Join the list back to your catalogue. Match on SKU or product ID so you can see the affected items alongside the data you actually hold. This is where you discover that the "missing" size is sitting in the variant title.
  5. Rank by revenue, not by count. Fix the disapproved items that were earning money first. Not every SKU deserves the same urgency.

What you should end up with is a short list that reads something like: 310 items missing age_group, 140 images with promotional overlays, 96 price mismatches on sale items, 14 genuine policy issues. Four jobs—not five hundred and sixty.

Fixing thousands of SKUs at once

Here is the arithmetic that most advice quietly skips. At five minutes per product—open it, find the missing value, type it, save, resubmit—560 disapproved items is roughly 47 hours of work. By the time you finish, new imports have introduced fresh gaps, and the quality of your entries at hour 40 is not the quality at hour 2.

Working by error type instead of by product changes the shape of the job:

  • Enrich missing attributes from the data you already have. Size, colour, material, age group and gender can usually be derived from existing titles, variant names, descriptions and supplier data. Bulk generation fills those fields across the whole affected set in one run instead of one form at a time.
  • Regenerate descriptions from structured attributes. Once the attributes are correct, descriptions written from them are automatically consistent with the feed—which removes an entire class of mismatch errors rather than patching individual ones.
  • Batch-process the images. Upscale everything under the size threshold, strip promotional overlays, and generate proper image descriptions and alt text while you are in there.
  • Fix identifiers at the source. Repair truncated GTINs, add missing brands, and set identifier_exists correctly for products that genuinely have no identifier—then push the corrections back to the store so the feed inherits them.
  • Re-sync, then verify. Corrections only count once Google re-fetches. Confirm the feed has actually updated before you judge whether the fix worked.

The goal is not to clear today's disapprovals. It is to fix the data so this particular set of errors cannot come back.

Staying approved after the cleanup

Catalogues drift. New suppliers arrive with their own idea of what a CSV should contain, someone bulk-edits titles, a seasonal campaign bakes badges into images again. A few habits keep the number near zero:

  • Validate on import, not after. The cheapest moment to catch a missing attribute is before it enters the catalogue. An AI-powered CSV importer that maps and completes supplier data on the way in prevents most of what you just spent a week fixing.
  • Sync your feed more often than your prices change. If you run flash sales, a daily feed refresh is not enough.
  • Track attribute completeness as a metric. Percentage of SKUs with complete required attributes is a leading indicator: it moves before disapprovals appear.
  • Check Diagnostics on a schedule. Fifteen minutes weekly beats a crisis quarterly.
  • Keep one source of truth. When your store, your feed and your marketplace listings are edited independently, they will disagree—and disagreement is what most of these errors are. Centralising product information removes the root cause.

Where ShopGPT fits in

Every fix above reduces to the same underlying task: make product data complete, accurate and consistent across thousands of SKUs—and keep it that way as the catalogue changes.

That is what ShopGPT does. It audits your catalogue to find where required attributes are missing, enriches those fields from the product data you already hold, regenerates descriptions that stay consistent with the structured values, writes image descriptions and alt text in bulk, and applies SEO optimization across the whole set rather than product by product.

It connects to the platform you already run—Shopify, WooCommerce, BigCommerce and more—so corrected data flows back to the store your feed is built from, which is what makes the fix stick. See the full list on the integrations page, or check pricing to size it against your catalogue.

The same work pays off twice, incidentally. Complete, structured, consistent product data is exactly what earns you a mention when a shopper asks an AI assistant for a recommendation—which is the subject of our guide on optimizing product pages for AI search. Merchant Center just gives you a number that tells you, bluntly, how far you still have to go.

Frequently Asked Questions

How long does it take for Google to re-review a disapproved product?

Once you correct the data and Google re-fetches your feed, most item-level issues clear within about three to five days—sometimes faster if you request a manual review from the Diagnostics page. Account-level suspensions are slower and usually need an explicit review request after you have fixed the underlying problem. The clock only starts when the corrected data actually reaches Google, so make sure your feed has re-synced before you start counting days.

Why is my product disapproved for a missing GTIN when it does not have one?

Some products genuinely have no manufacturer-assigned identifier—handmade goods, custom builds, your own private-label lines. For those, set identifier_exists to no and supply accurate brand and mpn values instead. What you must not do is invent a GTIN or reuse one from a similar product; a mismatched identifier is a harder failure than a missing one and can escalate into a misrepresentation issue.

Can I get products approved without fixing my product descriptions?

Sometimes, yes—many disapprovals are about identifiers, images or price mismatches rather than copy. But thin and inconsistent descriptions are what cause the second wave of problems: mismatched attribute values, wrong sizes and colours pulled from prose, and poor performance even for the items that do get approved. Fixing the underlying product data solves both at once.

What is the difference between an item-level and an account-level issue?

Item-level issues affect individual products—a missing attribute, a bad image, a price that does not match the landing page—and only those items stop showing. Account-level issues affect everything you sell and typically stem from policy problems: missing contact or returns information, an insecure checkout, or a pattern of misrepresentation. Treat an account-level warning as urgent; item-level issues as a backlog to work through systematically.

How do I fix disapprovals across thousands of products without doing it manually?

Export the disapproved items from Merchant Center Diagnostics, join that list back to your catalogue, and fix by error type rather than by product—every missing brand in one pass, every incomplete apparel attribute set in another. That is exactly the kind of work ShopGPT automates: enriching missing attributes from existing product data, rewriting descriptions to be complete and consistent, and generating image descriptions across the full catalogue, then syncing the corrected data back to your store.

Do disapprovals affect my free listings and organic SEO too?

Free listings, yes—they use the same product data and the same policy checks, so a disapproved item disappears from the free Shopping surfaces as well as from paid ads. Your organic website rankings are not directly penalised, but the same gaps that trigger disapprovals—missing attributes, thin descriptions, invalid structured data—also hold you back in search and in AI-generated answers.

Written by Content & SEO Writer

Shiza writes about ecommerce, product data, and PIM strategy for modern, AI-driven stores.