Why your Google Merchant Center products are disapproved — and how to fix each one
7 min read
A disapproved product is a product that can't show in Google Shopping — so it's spend you're not getting and revenue you're losing. Almost every disapproval traces back to your product feed. Here are the causes you'll actually run into, and the exact fix for each.
Missing or invalid GTINs / product identifiers
Google wants to match your product to its catalog. If brand, GTIN (barcode) and MPN are missing or wrong, items get disapproved or limited. Fix: send the real GTIN where it exists. For products with no GTIN (custom or handmade goods), set identifier_exists to false instead of leaving it blank — a blank value reads as 'should have one but doesn't.'
Image quality and promotional overlays
Images that are too small, placeholder graphics, or pictures with text, logos or watermarks burned in get rejected. Fix: use the main product shot with no promotional overlay, at least 100x100px (250x250 for apparel), and make sure the image_link actually resolves — a 404 or a login-walled URL is a silent killer.
Price and availability mismatch
Google crawls your landing page and compares it to the feed. If the feed says €19.99 and the page says €24.99, or the feed says 'in stock' and the page shows sold out, the item is disapproved for mismatched data. Fix: keep the feed in sync with the live store. An auto-updating feed that regenerates on a schedule eliminates most of these.
Missing required attributes
Required fields depend on the product: apparel needs gender, age_group, color and size; everything needs id, title, description, link, image_link, availability and price. A missing required attribute disapproves the item. Fix: map every required field at the feed level so it's never left empty.
Title and description policy issues
ALL CAPS titles, gimmicky punctuation, promotional text ('free shipping!', 'best price'), or foreign-language mismatches trip Google's policy checks. Fix: write clean, descriptive titles — ideally Brand + Product + key attributes — and move promo claims out of the feed.
Mismatched or missing tax and shipping
For some countries Google needs shipping and tax settings to be resolvable, either in Merchant Center account settings or per-item in the feed. Fix: set account-level shipping for your target country, and override per-item only where it differs.
Landing page and policy violations
Broken links, pages behind a popup, missing contact info or return policy, or restricted product categories cause account- or item-level disapprovals. Fix: make sure every link in the feed lands on a live, crawlable product page, and that your store has visible contact and returns information.
The pattern behind almost all of them
Notice how many fixes come down to the same two things: every required field is filled, and the feed stays in sync with your live store. Disapprovals pile up when a feed is built once by hand and then drifts — prices change, stock runs out, a field gets left blank on a new product. A feed that's mapped properly and regenerates on a schedule fixes the whole category at once.
That's what Feedrou does: map every required attribute once, rewrite titles to strip promo text, set identifier_exists correctly for products without barcodes, and let the feed auto-update so what Google sees always matches your store.
Common questions
Why are all my Google Merchant Center products suddenly disapproved?
A sudden mass disapproval is almost always account-level: a policy issue (missing contact info, returns policy, or a mismatch between your feed prices and your live site), an expired feed, or a verification problem with your store URL. Check the Diagnostics tab in Merchant Center — it groups disapprovals by cause so you can see whether it's one systemic problem or many small ones.
How do I fix 'mismatched value (price)' in Merchant Center?
Google crawled your product page and found a different price than your feed. Either your feed is stale or your page price changed (a sale, currency, or tax display difference). The reliable fix is a feed that regenerates automatically and stays in sync with your live catalog, so the price Google sees in the feed always matches the page.
What does 'missing GTIN' mean and do I need one?
GTIN is the product's barcode number. Most branded, mass-produced products have one and Google expects it. If your product genuinely has no GTIN (custom, handmade, or your own brand without barcodes), you don't invent one — you set identifier_exists to false in the feed so Google knows it's intentional rather than missing.
How does a feed tool prevent disapprovals?
A good feed tool catches these before Google does: it maps every required attribute so nothing is blank, lets you rewrite titles to strip promotional text, sets identifier_exists correctly for products without GTINs, and regenerates on a schedule so prices and availability never drift from your live store. That removes the most common categories of disapproval at the source.
Rather not deal with this yourself?
On our Pro plan, our team builds, configures and runs your feeds for you — zero touch. Or start free and do it yourself with the tools above.