11 min read
Google MerchantErrorsCompliance

How to fix the 21 most common Google Merchant Center disapprovals

Most Google Merchant Center disapprovals come from the same handful of issues. Image too small. Promotional overlay. Mismatched price. Missing GTIN. The long tail is real, but if you fix the top ten you're past 80% of suspended listings.

This is a field guide. Each entry has the canonical Merchant Center diagnostic name, the cause, the manual fix, and the bulk shortcut — plus a link to the standalone Emberfeed error page when you want the deep version. The list is ordered by how frequently merchants actually encounter each one, not alphabetically.

Image issues — the top half of the list

1. Image too small

Diagnostic: "Image too small" · Severity: warning until January 31, 2027; hard disapproval after.

Source image is below 500×500 pixels. The previous floors (100×100 non-clothing, 250×250 clothing) become irrelevant after the 2027 enforcement. Full page →

Bulk fix:Render through a tool like Emberfeed at 1500×1500 by default. Source images stay untouched; rendered output guarantees you're above the floor for every product.

2. Promotional overlay on image

Diagnostic: "Promotional overlay on image" · Severity: hard disapproval.

Any promotional text or graphic on the image_link— "SALE", "20% OFF", price stickers, urgency banners. Hard reject, regardless of how small the overlay is. The same image is fine on Meta and TikTok; it's a Google-specific rule. Full page →

Bulk fix: Use separate per-platform image profiles. Clean template (logo only, no promo text) for the Google profile; aggressive promo template for Meta. Same source feed, two output URLs.

3. Generic image

Diagnostic: "Generic image" · Severity: hard disapproval.

Logo as the product image, "image coming soon" placeholder, single-colour squares, stock photos that don't match the product. Distinct from promotional overlay — this is when the image isn't even of the product.

Bulk fix: Filter rule that excludes products with placeholder images (filter onimage_link matching placeholder or empty). For products that have a real image but the wrong one, per-product overrides solve it.

4. Couldn't crawl image

Diagnostic:"Couldn't crawl image" · Severity: hard disapproval.

Google can't fetch the URL in image_link. Causes: 404, robots.txt blocking Googlebot, CDN auth required, slow response (timeout), invalid SSL, redirect chain too deep. Full page →

Bulk fix: Test in incognito. Check robots.txt allows Googlebot. Audit redirects. When using Emberfeed, the rendered image_link points at a public CDN with proper headers, no referer requirement, no auth — so this category disappears.

Data quality and identifier issues

5. Mismatched value (price)

Diagnostic: "Mismatched value (price)" · Severity: hard disapproval.

Google fetches your product page, parses the displayed price, and compares it to the feed price (after currency and tax handling). If they disagree, the product is suspended. Common causes: stale feed cache, taxes-included vs. excluded mismatch, currency conversion drift, A/B-tested prices on the page. Full page →

Bulk fix: Increase feed refresh frequency (Emberfeed defaults to hourly). Ensure your product-page Schema.org structured data renders the same price the feed declares. Audit Merchant Center → Settings → Tax/ Shipping for handling.

6. Mismatched value (availability)

Diagnostic: "Mismatched value (availability)" · Severity: hard disapproval.

Same mechanic as price mismatch but for stock state. Google reads your product page's availability indicators and the feed'savailability field — if they disagree, suspended. Full page →

7. Limited performance due to missing value [gtin]

Diagnostic: "Limited performance due to missing value [gtin]" · Severity: warning (since late 2023; was previously hard disapproval).

Highest-volume warning in Merchant Center diagnostics. Branded products that should have a GTIN but don't are downgraded in Shopping results, even though they keep serving. Full page →

Bulk fix: Source GTINs from manufacturer catalogs and populate via custom_label or a CSV lookup. For genuinely identifier-less products (custom or DIY items), set identifier_exists=false via a conditional rule.

8. Missing required attribute [mpn]

Diagnostic: "Missing required attribute: mpn" · Severity: hard disapproval.

When a branded product has no GTIN, Google requires either MPN (Manufacturer Part Number) + brand, or explicitidentifier_exists=false. Full page →

9. Conflicting values (GTIN, brand)

Severity: hard disapproval.

The GTIN you submitted doesn't match the brand registry. e.g. you set brand=Nikebut the GTIN points at a product registered to Adidas. Either you got the GTIN wrong or the brand wrong; Google won't guess which.

Bulk fix: Audit your source data. Usually fewer than 1% of SKUs are affected and a per-product override (or a CSV reimport from a clean source) is the right move.

10. Incorrect identifier (GTIN) / GTIN not correct length

Severity: hard disapproval.

GTIN format is wrong — too short, too long, not a valid checksum. Common: someone entered an SKU into the GTIN field, or copied a UPC from a website that included extra digits.

Bulk fix:Add a regex filter rule rejecting GTINs that don't match standard length patterns (8, 12, 13, 14 digits). Better to fail loudly during feed processing than have Merchant Center reject products mid-campaign.

Apparel-specific and policy issues

11. Missing required value: gender / size / color / age_group

Severity: hard disapproval (apparel categories only).

Apparel products require gender, size, color, and age_group on top of the general required fields. Missing any of them disapproves the product.

Bulk fix:If you sell only one demographic (e.g. women's only), set defaults via field rules. For multi-demographic stores, conditional rules keyed off your category tree usually map cleanly.

12. Missing google_product_category (some categories)

Severity: warning (auto-classified) for most products; may be required for specific categories like software, services, food/beverage. Full page →

Per spec, google_product_category is optional — Google auto-classifies based on title/description/category text. But the auto-classifier is imperfect and often gets categories wrong for niche products. Setting it manually improves Performance Max optimisation noticeably.

13. Item landing page not crawlable

Severity: hard disapproval.

Google can't reach the URL in link. Without a crawlable landing page, Google can't verify price/availability — so the product is suspended. Full page →

14. Excessive capitalization in title

Severity: hard disapproval.

Titles that read as shouting — too many uppercase letters, especially full-CAPS promotional emphasis. Trade names that are legitimately capitalised (IBM, NASA, GoPro) are fine; promotional shouting is not. Full page →

Bulk fix: Transform rule — find/replace pattern matching all-caps words longer than 4 characters (excluding a brand allowlist) with title case. One rule across the catalog.

15. Disapproved by policy (restricted product / misleading claims)

Severity: hard disapproval.

Catch-all for policy disapprovals — restricted products (firearms, tobacco, recreational drugs), copyrighted material, dangerous goods without proper labelling, misleading title or description. Each case has its own underlying policy you have to drill into to fix. Full page →

Smaller UI / data hygiene issues

16. Pricing precision

price with too many decimal places, missing currency code, or non-ISO currency code. e.g. 299.000 CZK (three decimals), 299 (no currency), 299 Kč (non-ISO). Google rejects the format.

17. Missing structured data on landing page

Not a hard rejection but a "Limited performance" warning. Google prefers product pages with Schema.org Product/Offer markup so it can verify feed claims against page content. Adding the markup consistently improves Performance Max efficiency.

18. Brand mismatch (apparel)

Submitted brand differs from what Google's brand registry expects for the GTIN. Distinct from "conflicting GTIN/brand" in that the GTIN is correct but brand normalisation differs (Nike vs. NIKE Inc. vs. nike).

Bulk fix: Transform rule normalising brand strings to the canonical capitalisation Google recognises. One rule across the catalog.

19. Inappropriate content (description)

Description contains text that Google flags as inappropriate — adult terms, weapons-related vocabulary in non-permitted categories, or specific words that the policy filter doesn't like.

Bulk fix: Find/replace transform rule for known problematic words. Or, when the catalog legitimately has flagged content, exclude those products from the Google profile and serve them only on Meta or other platforms with different policy thresholds.

20. Inconsistent inventory across channels

Less a Merchant Center diagnostic and more a Performance Max symptom — when the same product shows different stock levels in Meta's catalog and Google's. Google's smart bidding downgrades the product when it can't verify availability consistently across the surfaces it ranks against.

Bulk fix: Single source of truth for inventory — your e-commerce platform — and consistent feed refresh timing across all your platform profiles.

Quick reference — top 20 by frequency

#DiagnosticSeverityBulk-fix approach
1Image too smallWarn → Reject 2027Render at 1500×1500 via tooling
2Promotional overlay on imageRejectPer-platform image profiles
3Generic imageRejectFilter rule on placeholder images
4Couldn't crawl imageRejectUse a public-CDN-served image_link
5Mismatched priceRejectHourly refresh + Schema.org consistency
6Mismatched availabilityRejectStock-level field rule + structured data
7Missing GTINWarn (since 2023)CSV lookup or identifier_exists=false
8Missing MPNRejectidentifier_exists rule fallback
9Conflicting GTIN/brandRejectPer-product override + source audit
10Wrong GTIN lengthRejectRegex filter rule
11Missing apparel attrsReject (apparel)Conditional rules per category
12Missing google_product_categoryWarnOptional but auto-classifier is rough
13Landing page not crawlableRejectStorefront-side fix; not a feed problem
14Excessive capitalizationRejectFind/replace transform rule
15Policy disapprovalRejectPer-policy fix; sometimes filter exclude
16Pricing precisionRejectFormat rule on price field
17Missing structured dataWarnStorefront-side fix on product page
18Brand mismatchRejectBrand normalisation rule
19Inappropriate descriptionRejectTransform rule on description
20Inconsistent inventoryPMax warningSingle source of truth + consistent refresh

Next steps

Run Merchant Center diagnostics today. Filter for the top 5–10 issues affecting your catalog. Categorise each: data fix (storefront), feed fix (rule-based), or image fix (template-based). Most merchants find ~80% of their disapprovals fall into one or two categories, and the right tool fixes them in a single rule.

For each error, the linked deep page in our rejection database has the full diagnostic, exact platform error text, and the Emberfeed-specific shortcut. For the broader spec context, see GMC image requirements 2026.

Related

Ship better catalog ads this afternoon.

Free for 6 months on one feed up to 1,000 products. Connect your XML feed, design a template, paste the new URL into Meta / Google / TikTok.