Blog

Top Google Shopping Feed Errors and a Quick Remediation Playbook

The 10 Google Shopping feed errors that disapprove the most SKUs, with a 30-minute triage runbook covering diagnosis, fix order, and rollback-safe re-export.

Maya SinghMaya Singhon February 28, 2026· Updated May 12, 2026
Top Google Shopping Feed Errors and a Quick Remediation Playbook

A wave of Merchant Center disapprovals always feels worse than it is. Most catalogs sit on the same 6 to 10 recurring error families, and once you have a fix order for each one, the 200-product red wall in Diagnostics becomes a 30-minute triage. This playbook is the order we work in.

The triage order that matters

Before opening a single CSV, decide what you’re optimising for. You can fix the highest-count error first (looks good in reports) or the highest-impact error first (recovers revenue faster). For Google Shopping, impact wins almost every time, and impact comes from a small list:

  1. Identifier errors disapprove the SKU entirely and break Performance Max product groups.
  2. Mismatch errors (price, availability, currency) suspend the product and can trigger account-level warnings if they cluster.
  3. Image errors disapprove the SKU and are the slowest to recover because Google has to re-crawl the image URL.
  4. Policy errors disapprove individual SKUs but rarely cascade.
  5. Quality warnings don’t disapprove but suppress impressions.

Work top to bottom. A clean GTIN fix on 500 SKUs almost always recovers more revenue than a perfect title rewrite on the same SKUs.

The 10 errors that account for ~80% of disapprovals

1. Missing or invalid GTIN

The most common identifier error. A GTIN (Global Trade Item Number, UPC, EAN, JAN, or ISBN) is required for branded products with a manufacturer-assigned barcode. Google checks the GTIN against its database; an unknown or malformed value disapproves the product.

Fix order:

  • Confirm the brand in your catalog matches the GTIN registration.
  • For products without a real GTIN (custom, private label, vintage), set identifier_exists to no rather than inventing one.
  • For products with a GTIN that Google doesn’t recognise, file the GTIN with GS1 first, there’s no shortcut.

2. Price mismatch between feed and landing page

Google crawls your landing page and compares the <meta itemprop="price"> or structured data price against your feed value. A mismatch over the tolerance (currently around 2%) triggers price_mismatch. The same applies to availability_mismatch.

Fix order:

  • Add sale_price_effective_date to all promotional pricing.
  • Use server-side currency formatting that matches Merchant Center’s feed currency exactly (no thousands separators where the locale doesn’t use them).
  • If you run A/B tests on price, set the test variant landing pages to noindex or exclude them from your feed link field.

image_link_broken, image_size_too_small, image_promotion_overlay, and image_link_pending_crawl are four different failures with the same surface symptom: the SKU is disapproved and your impressions disappear.

Fix order:

  • Minimum 800×800px for accurate rendering on mobile. Square is safest.
  • No overlays: no logos, watermarks, text, “Free shipping” callouts, or promotional badges. Google’s policy is unambiguous on this and the disapproval rate at the 2026 enforcement level is harsh.
  • Serve image URLs from a CDN with stable hostnames. If image URLs change on every deploy, you’ll wait through a full re-crawl cycle every time.

4. Title and description quality

This is the slow killer. It rarely disapproves the SKU outright, but it cuts impressions silently. Google’s product data specification recommends titles that lead with brand, then product type, then defining attributes (size, colour, material). Generic or stuffed titles get demoted.

Fix order:

  • Audit titles longer than 150 characters and shorter than 20.
  • Remove ALL-CAPS, promotional language (“BEST”), and repeated punctuation.
  • Run the catalog through a title rewrite pass that follows the brand → product type → attribute pattern. AI title optimisation (the kind we automate in AI Shopping Feeds) makes this a one-pass job for catalogs over 1,000 SKUs.

5. Missing or wrong google_product_category

When you leave google_product_category empty, Google guesses based on title and description. The guess is often too broad, which loses you category-specific surfaces (Shopping ad formats with category filters, AI Max for Shopping’s category-driven query matching).

Fix order:

  • Map every SKU to a leaf category from Google’s taxonomy.
  • Use Merchant Center’s category-level performance report to find under-mapped categories. If a category has 0 impressions, the mapping is probably wrong.

6. Promotional overlay on image

Worth calling out separately because it accounts for a huge share of repeat disapprovals. Marketing teams add “20% off” badges to product images for site merchandising and forget that the same image flows into Merchant Center.

Fix order:

  • Keep two image fields in your CMS: a marketing image (with overlays) and a clean product image (no overlays). The feed should always pull the clean version.
  • If you don’t have separation today, exclude any product whose primary image was uploaded after the last promo campaign launched.

7. Shipping not configured

You’ll see missing_shipping or shipping_destination_mismatch for any country where Merchant Center can’t calculate a shipping cost. This blocks the SKU from showing in that country entirely.

Fix order:

  • Set account-level shipping for every country you sell to, even if it’s flat-rate.
  • For per-SKU shipping (heavy items, dangerous goods), use the shipping attribute in the feed, don’t try to override at the account level.
  • If you sell in multiple currencies, validate shipping_weight units (lb/kg) match each region.

8. Returns policy not configured

Same shape as shipping. As of late 2025, Google enforces a returns policy as a soft requirement; absence triggers missing_return_policy warnings and, in some categories (apparel, electronics), a disapproval.

Fix order:

  • Configure account-level returns in Merchant Center Settings > Shipping and returns.
  • For categories with no returns (food, personalised goods), set return policy to no returns accepted explicitly.

9. Tax setup wrong (US)

For US sellers, missing_tax is the silent disapproval. Without a tax setup, your SKUs disappear from California and several other tax-required states.

Fix order:

  • Use Google’s “automatic tax” setting if your prices already include tax-equivalent values.
  • For destination-based tax, upload state-level rates in Merchant Center.

10. Restricted content (claims, regulated categories)

disapproved_for_policy covers everything from medical claims (“clinically proven”) to restricted categories (CBD, alcohol in certain regions, weapons). The error itself is one line; the fix can take days because it requires content rewrites and category-level approvals.

Fix order:

  • Pull every disapproved SKU into a single sheet sorted by policy code.
  • Cluster by claim type: medical, financial, legal, restricted goods.
  • Rewrite copy to remove unverifiable claims. Apply for category approval (Google requires per-account approvals for several regulated categories).

The 30-minute remediation runbook

Use this when you wake up to a flood of disapprovals. It assumes you have AI Shopping Feeds or a comparable feed manager in the loop; if you’re working directly in Merchant Center it’ll take longer.

Minutes 0-5, pull and group

Download the Diagnostics CSV. Group by error code. Look at the top 3 only. Resist the urge to start fixing SKU by SKU.

Minutes 5-15, fix identifiers

If GTIN, MPN, brand, or identifier_exists is in the top 3, fix it at the catalog source. Push a supplemental feed with just the corrected rows for the affected SKUs. Watch the first 50 SKUs return to Approved in the next fetch cycle (usually 1-4 hours).

Minutes 15-25, fix mismatch and image

Run a price/availability sync. If image links are in the top 3, generate a fresh image URL list and warm the cache by hitting each URL once before Merchant Center re-crawls.

Minutes 25-30, push and document

Re-export the full feed only after the 50-SKU validation slice is approved. Document the error code, the root cause, and the fix command in a runbook so the next occurrence is a 5-minute job.

What to avoid

Three things will make a disapproval wave worse:

  • Patching the export file instead of the source. The next export overwrites the patch.
  • Bulk-deleting disapproved SKUs to clear the dashboard. They re-enter on the next sync and you lose the diagnostic history.
  • Pushing a full feed before the validation slice is approved. If your fix is wrong, you’ve now disapproved 1000 SKUs instead of 50.

Where automation actually helps

The single biggest leverage point is collapsing the catalog-source-to-Merchant-Center path so the fix lives in one place. AI Shopping Feeds runs feed audits before every export, catches the top 10 error families pre-publish, and keeps a supplemental fallback path so corrections deploy without a full re-export. For teams running 5,000+ SKUs across multiple channels, that’s the difference between weekly disapproval fire drills and a stable approval rate above 99%.

How to keep this from happening next month

Run the diagnostics export weekly even when nothing is wrong. The early warning is usually a slow climb in a single error code over 3-4 days, catch it at 50 SKUs instead of 500. Pair it with a Merchant Center feed automation cadence that publishes during low-traffic windows so you can roll back without revenue impact.

Sources

Free forever · No card

Why wait? Try it free today.

Stop managing feeds manually. Start optimising with AI in 30 seconds.

  • 100% free forever, no credit card required
  • 1 brand, 1 feed, 100,000 products per feed
  • Full AI Product Optimisation, Rule Engine, and 200+ channel exports
  • Pay only for AI credits when you need them