Create and troubleshoot a Google Merchant product feed from WooCommerce

If Merchant Center shows feed errors or disapprovals, start by exporting Diagnostics and matching each error to a WooCommerce product. Fix the feed mapping or product fields, resubmit, and repeat until the Diagnostics report clears.

If you see disapproved items or feed errors in Google Merchant Center, don’t guess — export the Diagnostics report first and use it as your checklist. Fix the highest-volume or highest-impact errors in WooCommerce (or in your feed plugin’s mapping UI), resubmit or resync the feed, then re-export Diagnostics to confirm progress.

Contents

Export Diagnostics and save the CSV

Open Merchant Center’s Diagnostics page and export the “affected items” CSV (or use the API if you prefer). That CSV is the authoritative list Google is rejecting or warning about; use it to match each row to a product in your store by offerId, id or SKU. Keep a copy so you can track whether fixes reduce the affected count.

Confirm Google’s required attributes for your target country

Google’s product-data requirements vary by country and product type. Check the country-specific product data specification to know which attributes are required, conditional or optional for your market. See Google’s product data overview and the local spec examples at Product data specification and the developer overview at Google Merchant API products guide. Use those pages to interpret errors such as missing priceCurrency, shipping attributes or product identifiers (GTIN/MPN/brand).

Check your WooCommerce feed plugin mapping

Open the documentation and the mapping UI for the exact integration you use. Official WooCommerce tools document how they map WooCommerce fields to Merchant attributes—for example, see Google for WooCommerce and the feed manager docs at Product Feed Manager setup. Confirm three things in the plugin UI or docs:

  • Which WooCommerce field maps to the Merchant attribute flagged in Diagnostics (price, availability, image_link, gtin, etc.).
  • How to supply missing values (use product fields, custom product meta or a mapping template the plugin supports).
  • Whether the plugin can include account-level attributes (shipping, tax, target country) in the generated feed or whether those must be set in Merchant Center.

Common fixes (quick reference)

Typical Merchant error Immediate action in WooCommerce or your feed
Missing or invalid price / priceCurrency Ensure the product price is present and the plugin outputs both price and priceCurrency. Confirm your store currency matches the feed target or map a currency field. See Google’s attribute rules.
Missing availability or wrong value Map WooCommerce stock_status, manage_stock and stock_quantity correctly. For some plugins you may need to set availability explicitly or use a mapping rule.
Missing product identifiers (GTIN/MPN/brand) Add GTIN/MPN/brand to the product fields or set identifier_exists where the product truly lacks identifiers (follow Google’s rules for identifier handling).
Shipping or tax mismatch Confirm shipping/tax attributes in the feed match your Merchant Center account rules. Inconsistent values cause disapprovals—use the feed or the Merchant Center shipping/tax settings, not conflicting values.
Missing image_link or disallowed image Ensure the plugin writes a full HTTPS image URL and that the image meets Google’s image requirements (no placeholders or promotional overlays).

Resubmit, resync and scheduling

Resubmit the corrected feed using the same ingestion method you originally used: file upload, scheduled fetch URL, or Content API. Merchant Center’s feed processing can take time; don’t expect instant approval. If you manage feeds from WooCommerce, confirm your feed plugin’s submission steps and whether it supports scheduled syncs—see the Product Feed Manager submission guidance at submit to marketing channels.

Iterate, verify and what to expect

After the feed finishes processing, re-open Diagnostics and export the affected-items CSV again. Match rows to your saved CSV to see which items cleared and which remain. Repeat the map→fix→resubmit loop for persistent errors. Don’t assume a single correction will clear everything: Google validates multiple attributes and will re-evaluate items after each processing run.

A short worked example you can run yourself

Imagine you export Diagnostics and see 18 items disapproved for “missing price.” In the CSV locate the offerId column and match one offerId to a product SKU in your WooCommerce admin. Open your feed plugin’s mapping UI and verify which WooCommerce field is mapped to price. If the mapping is blank or a custom meta key is missing, map the correct price field (or add the meta). Push a feed resync or upload the corrected file. When processing finishes, re-export Diagnostics and confirm the “missing price” rows have fallen. This concrete sequence—export CSV, match offerId → local product, fix mapping or product data, resubmit, re-export—is the observable loop that proves progress.

Quick checklist

  • Export Diagnostics CSV from Merchant Center (Diagnostics).
  • Open country-specific product data rules (Product data specification).
  • Match offerId/ID/SKU from the CSV to your WooCommerce product.
  • In your feed plugin, confirm or add the mapping for the flagged attribute(s) (Google for WooCommerce or your plugin docs).
  • Correct product fields (price, availability, GTIN/brand, image, shipping/tax) where necessary and resubmit or resync the feed.
  • After processing, re-export Diagnostics and verify the affected count falls. Repeat until cleared.

Validate product structured data and ensure your product pages include useful facts: Validate product structured data with Google’s Rich Results Test and URL Inspection. If you remove a plugin during troubleshooting, check dependencies first: Before you remove a WordPress plugin, check what depends on it.

References: Google’s Diagnostics & product-data pages (Diagnostics, Product data specification) and official WooCommerce feed docs (Google for WooCommerce, Product Feed Manager setup, submit to channels).

Finish by picking one concrete error from Diagnostics, match it to five product rows in your CSV, fix the mapping or product data for those five, resubmit, and re-check Diagnostics. That focused loop is the fastest way to turn error rows into resolved items.