Neuralhewn
All articles
PlaybookGoogle Merchant Center

How to fix Google Merchant Center disapprovals at scale (600+ in 48 hours)

Why Merchant Center keeps disapproving your products, why manual fixes can't keep up on a large catalog, and how an automated feed pipeline clears disapprovals and recovers Shopping impressions.

June 13, 20266 min readby Neuralhewn

If you sell on Google Shopping with a catalog of any real size, you've lived this: you log into Merchant Center and a few hundred products are disapproved. You fix some by hand, new variants sync overnight, and the disapproval count is right back where it started by the weekend. Every disapproved product is a product Google won't show — so this is revenue leaking out daily.

Here's how the problem actually works, and how we cleared 600+ disapprovals in 48 hours for a 2,400-SKU store and lifted Shopping impressions 31%.

Why products get disapproved (the four buckets)

Almost every disapproval falls into one of four categories. Knowing which one matters, because each needs a different fix:

Disapproval type Typical cause The fix
Policy violation Restricted words, unsupported claims, prohibited-product flags Rewrite the title/description to compliant language
Missing attribute No GTIN, brand, condition, age group, color/size Populate from catalog data or infer and backfill
Image quality Promotional text/overlays, watermarks, low resolution Regenerate or select a compliant image
Data mismatch Feed price/availability ≠ landing-page price/availability Sync the feed to the live product state

The reason manual fixing fails isn't that any single fix is hard — it's the volume and the recurrence. Fix 200 today, sync 80 new variants tonight, and tomorrow you have 120 fresh disapprovals. A person cannot win a race against an automated catalog.

Why manual fixing can't keep up

Three things make this a losing manual battle on a large catalog:

  • New variants inherit problems. A non-compliant title on a parent product becomes non-compliant titles on every variant the moment they're created.
  • Supplier feeds drift. If your products come from supplier feeds, their changes silently reintroduce disapprovals you already fixed.
  • The fixes are repetitive but not identical. Each one needs the right edit — you can't find-and-replace your way out of 600 different titles.

That last point is exactly why this is a good fit for AI rather than a simple script: the fixes are rule-shaped enough to automate but varied enough to need language understanding.

How the automated pipeline works

The system is a continuous feed pipeline sitting between your store and Merchant Center:

  1. Pull the disapprovals from the Merchant Center API, with the specific reason code for each product.
  2. Read the live catalog from the store — for Shopify, the Admin GraphQL API — so every fix is grounded in the real current product data.
  3. Route by reason. Policy and quality issues with titles/descriptions go to an LLM (we use Claude) that rewrites them to be compliant while staying accurate and keyword-relevant. Images that fail policy are regenerated or swapped using vision models. Missing attributes are backfilled from catalog data.
  4. Human approval where it matters. The top SKUs by revenue route through a review queue before anything publishes — you never want a machine quietly rewriting the title of your best-selling product without a glance.
  5. Diff and push. A nightly job compares the corrected feed to what's live and pushes only the changes, so you're not re-uploading a 2,400-product feed every night.

Because it runs continuously, it doesn't just fix today's disapprovals — it catches tomorrow's before they cost you impressions.

The results

For the 2,400-SKU store:

Metric Result
Disapprovals cleared 600+
Time to live 48 hours
Shopping impressions +31%

The 48-hour figure is the part operators don't expect — most of the build is integration plumbing that's reusable, so the first results land fast. The impressions lift is simply the mechanical consequence of products becoming eligible again: a disapproved product has zero reach, so clearing it is pure upside.

What stays human

We don't let the system rewrite everything unsupervised:

  • Top-revenue products always get human approval before a title or image change publishes.
  • Brand-voice-sensitive copy (hero products, flagship lines) is reviewed, not auto-rewritten.
  • Genuinely prohibited products are flagged for a human decision, not force-fixed — if Google says a product category isn't allowed, that's a business call, not an automation one.

What it costs

A continuous Merchant Center / feed pipeline for a mid-size catalog typically runs $5,000–$20,000 depending on catalog size, how many fix types you need, and whether you want a dashboard. It's one of the higher-end automations we build because it touches several systems (Merchant Center, your store's API, image generation, an approval UI) — but for a store losing Shopping impressions daily, the math usually pays back fast.

If you're an engineer-led shop deciding between this and a no-code patch, the Python-not-n8n trade-off matters here too: a feed pipeline needs retries, diffing, and an audit trail of every change pushed to Google, which is exactly where no-code tools fall down.

The take

Merchant Center disapprovals are a continuous leak, not a one-time cleanup — which is why the answer is a pipeline that runs every night, not an afternoon of manual edits. Diagnose by reason, automate the repetitive fixes, keep humans on your top products, and push only the diffs. Clear the backlog once, and the system keeps the count near zero from then on.

If Shopping disapprovals are bleeding your impressions, book a free 20-minute call — we'll look at your actual disapproval reasons and tell you straight how much of it is automatable and what the recovery looks like for your catalog.

Available for new projects

Tell us about the workflow that's slowing your team down.

Book a free 20-minute call. We'll review your workflow, plan what to automate, and tell you straight whether we're the right fit. You only pay once the build is delivered and working.