How to Fix Disapproved Products in Google Merchant Center (Shopify Guide)
Short answer: Open Products → Needs attention in Merchant Center to see each product's exact disapproval reason, fix that specific field at its source in Shopify (not in Merchant Center — Shopify overwrites it daily), let the Google channel re-sync, and for policy disapprovals click Review and fix on the product to request a manual review. Most data fixes clear within 24–48 hours of the re-crawl.
Disapprovals are normal and almost always fixable. What wastes time is guessing. This guide is the repeatable process — do these steps in order and you'll clear the issue instead of chasing it.
Step 1 — Find the exact reason (don't guess)
In Merchant Center, go to Products → Needs attention (older accounts: Diagnostics). You'll see each disapproved product with Google's own wording for the problem — "Missing value [GTIN]", "Image too small", "Mismatched value (price)", "Promotional text in title", and so on.
Note two things for each product: the attribute named in brackets (that's the field to fix) and the severity — "disapproved" means it's off Shopping now; "limited performance" / "warning" means it still runs but is at risk. Fix disapprovals first.
Step 2 — Fix the field at its source in Shopify
The golden rule for Shopify stores: fix the value in Shopify, never in Merchant Center. Shopify re-pushes your catalog to Google daily and will overwrite any manual Merchant Center edit. Here's where each common attribute lives in your Shopify admin:
| Google attribute | Where to fix it in Shopify | |---|---| | [title] | Product page → Title (or a Google-specific title via metafield/feed app) | | [description] | Product page → Description | | [brand] | Product page → Vendor | | [gtin] | Variant → Barcode field | | [image_link] | Product page → Media (the featured image) | | [price] | Variant → Price (and sale/compare-at price) | | [availability] | Inventory quantity + the variant's inventory policy | | [condition] | A metafield (Shopify has no native condition field) |
Fix exactly what Google named. If the error is "Mismatched value (price)", correct the price so the feed and the live product page show the same amount in the same currency — don't touch the title.
Step 3 — Handle the specific error types
Identifier errors (GTIN / brand / MPN). Enter the real barcode in the variant's Barcode field; never invent one (Google validates the checksum). Set a real Vendor for brand — not "N/A". If a product has no manufacturer barcode, mark it as a custom product in Shopify's Google channel so Google stops expecting a GTIN.
Image errors. Replace promotional overlays, watermarks, and placeholder graphics with a clean product photo on a plain background. Upload at least 1500×1500 px — comfortably above Google's minimum and future size increases.
Title / description editorial errors. Remove ALL-CAPS, promotional phrases ("free shipping", "sale", "% off"), other-product mentions, and contact info from the title. Keep titles under 150 characters. Give every product a real, plain-text description.
Price and availability mismatches. These come from the feed disagreeing with the live page. Reconcile the sale price, currency, and tax display so both match, and make sure a product marked "in stock" actually has buyable inventory.
Landing-page / policy disapprovals. If Google flags a parked domain or an empty landing page, ensure product URLs load a real, buyable page. For restricted-product or misrepresentation policy warnings, you'll have a 7- or 28-day window — fix the underlying issue, then request review.
Step 4 — Let Shopify re-sync, then confirm the re-crawl
After editing in Shopify, the Google & YouTube channel re-syncs automatically (usually minutes, sometimes up to a few hours; a staff-noted worst case is ~3 days for identifier changes). Google then re-crawls the product page. For a data fix you typically don't need to do anything else — the disapproval clears on the next crawl, often within 24–48 hours.
Check back in Needs attention to confirm the item moved to active. If the same error persists after the sync, the value didn't actually change at the source — re-check the exact field in Shopify.
Step 5 — Request a review when it's a policy issue
Pure data fixes re-approve automatically. Policy disapprovals (and account-level warnings) need you to ask for a manual review: open the product's detail page in Merchant Center and use Review and fix, or submit the account-level appeal if Google sent a warning email. A good appeal names the issue in Google's exact words, states what you changed, and points to where the change is visible. Manual reviews take a few business days.
Stop fixing disapprovals one email at a time. Feed Doctor scans your whole Shopify catalog up front, flags every product Google would reject and the exact field to change, and re-scans daily so a new break emails you the day it happens. Start a 7-day free trial.
A faster workflow for a whole catalog
If dozens of products are disapproved, triage by the shared cause. Diagnostics groups issues by type — fix the one that hits the most products first (often a single setting like a missing brand or the GTIN/custom-product flag fixes hundreds at once). Then export the remaining per-product issues to a list your team or VA can work through. Catching these before you push the feed — rather than after Google rejects them — is the difference between a quiet catalog and a weekly firefight.
Stop losing sales to Google rejections
Feed Doctor scans your whole catalog and gives you the exact field to fix on every product.
Try Feed Doctor free for 7 days →