Platforms

WooCommerce Product Feed Errors in Merchant Center: Causes and Fixes

Why WooCommerce stores see price, availability, variant and identifier errors in Merchant Center, and how to fix them at the source.

WooCommerce gives you a lot of control, and a lot of moving parts: the theme, caching, a feed extension, an SEO plugin, currency or pricing plugins and your hosting all touch the data Google sees. Most feed errors come from two of those parts disagreeing.

This guide covers the WooCommerce-specific causes behind common Merchant Center errors and ends with a checklist. For the initial connection, see how to connect WooCommerce to Merchant Center. Extension screens change between versions, so we keep plugin steps general and point to the Google for WooCommerce documentation for current details.

Short answer: WooCommerce feed errors usually come from the page and the feed showing different data: prices added by JavaScript or cached pages, variations sent without item_group_id or with shared URLs, missing or invented identifiers, WooCommerce shipping zones that don’t match Merchant Center shipping, and duplicate or script-generated structured data. Fix the store setting causing the difference, resync, then request a website check.

Key Takeaways

  • Googlebot reads the HTML your server returns, so prices and stock added by JavaScript can trigger mismatches.
  • Stale cached pages can show Google old prices or stock; clear and tune caching for product pages.
  • Each variation is a separate product with its own ID and URL, sharing one item_group_id (the parent).
  • Store real GTINs in a product field your feed tool reads; never fill it with SKUs.
  • WooCommerce shipping zones and Merchant Center shipping policies should agree for each country.

How WooCommerce data reaches Merchant Center

The official route is the Google for WooCommerce extension. Its documentation covers setup and connection, the product feed and free listings, Google’s initial review against Shopping ads policies, Performance Max campaigns, analytics and consent mode, and disconnecting. Many stores use other feed plugins, or a file or Google Sheets data source instead.

Whichever you use, Google compares three things: the product data, the landing page HTML and the structured data on that page. A WooCommerce error almost always means one of them is out of step with the others.

Error in Merchant CenterCommon WooCommerce causeSection below
Mismatched priceJavaScript price display, caching, currency or pricing pluginsPrices
Mismatched availabilityCached pages, variation stock shown by script, sync timingCaching
Variant issuesParent product sent as a product, missing item_group_id, one URL for all variationsVariations
Missing or incorrect GTINNo identifier field, or SKUs mapped into GTINIdentifiers
Missing shippingMerchant Center shipping not set for a country, currency mismatchShipping
Product page unavailableSecurity or firewall rules blocking Googlebot, maintenance mode, broken permalinksCrawling

Prices added by JavaScript and other price mismatches

Google’s price mismatch guide says Googlebot crawls the HTML your server returns. If the price is injected with JavaScript after the page loads, that can trigger an error, because the HTML price must match exactly.

On WooCommerce, the usual culprits are:

  • Variable products where the theme shows a price range and fills in the variation price only after a selection.
  • Currency switcher plugins that convert prices in the browser. Your product data should use the currency prominently displayed on the page and appropriate for the target country.
  • Dynamic pricing or discount plugins that change the shown price based on cart, role or quantity.
  • Price display settings, such as how tax is shown, that make the page number differ from the feed number.
  • Scheduled sales that start or end on the site at a different time than in the feed.

To confirm, view the page source (not the rendered page) for an affected product and compare the price there and in the structured data with the value in Merchant Center. Google’s URL Inspection Tool can show what Googlebot fetched.

For sales, submit the full price plus sale_price with sale_price_effective_date in the correct time zone. More in how to fix price mismatches and sale prices in product feeds.

Caching and stale pages

Page caching (from a plugin, your host or a CDN) is good for speed, but it can serve Googlebot a product page from hours or days ago. If stock or price changed in the meantime, Google sees a mismatch with your fresh feed. This is a general hosting issue rather than a Google rule, but it explains many availability errors on WooCommerce.

  • Make sure caches are cleared for a product when its price or stock changes.
  • Check whether your CDN or host caches product pages separately from your caching plugin.
  • After a big price update, purge caches before the feed or extension syncs.
  • Test an affected URL logged out, in a private window, to see what a visitor (and Googlebot) gets.

Google lists timing between site updates and data updates as a common cause of availability mismatches. Schedule feed updates to follow site changes. Automatic item updates (enabled by default) can correct occasional mismatches but aren’t a replacement for regular updates; Google may stop them if there are too many mismatches.

Variable products and item_group_id

A WooCommerce variable product maps to an item group in Google. According to the item_group_id specification, each variation is a separate product with its own unique id and the same item_group_id.

  1. Use the parent product’s SKU as item_group_id, and don’t submit the parent as a separate product.
  2. Give every variation a unique, stable id, such as the variation SKU.
  3. Send the variant attributes: color, size, material, pattern, age_group, gender as relevant.
  4. Give each variation a distinct landing URL, using a path or query parameters that preselect the variation on the page.
  5. Make sure the preselected page shows that variation’s title details, price, availability and image.

Don’t use item_group_id for products that aren’t variants, such as grouped products or sets. Google gives the example of a suit jacket and pants, or bath sets. Variant item_group_id is required for free listings and for Shopping ads targeting Brazil, France, Germany, Japan, the UK and the US.

More detail in how to manage product variants in feeds.

Identifier fields

Google asks for brand plus GTIN or MPN under its unique product identifier rules. WooCommerce stores often lack a dedicated place for GTINs, or a feed plugin maps the SKU into the GTIN field, which Google warns against.

  • Store the manufacturer’s GTIN in a product field your feed tool reads, and map it to gtin.
  • If a product has a GTIN but you can’t find it, leave the field blank. Don’t use internal SKUs.
  • For products you make yourself, use your store name as brand and an MPN of your choice.
  • For one-of-a-kind or vintage items, set identifier_exists to false.
  • Never make up, guess or copy identifiers from similar products; incorrect identifiers can cause disapproval.

The full process is in how to fix missing product identifiers.

WooCommerce shipping zones vs Merchant Center shipping

WooCommerce calculates shipping at checkout from its shipping zones, methods and classes. Merchant Center needs shipping costs it can show before the click. Depending on your extension and setup, these may be synced or entered separately. Either way, compare them country by country.

CheckWhy it matters
A Merchant Center shipping policy exists for every target countryShipping is required in countries including the US, Canada, the UK, Australia, Germany and the Netherlands
Costs match checkout as closely as possibleGoogle recommends overestimating if you can’t match exactly
Free-shipping thresholds matchOrder value conditions (free over a set amount) are supported in Merchant Center
Shipping currency matches the product price currencyItems may be disapproved if no shipping service matches currency and target country
The cheapest option shown is realWith several options for one country, Google shows the lowest cost
Shipping classes map to shipping labelsUse shipping_label for products with different rates

Details in how to configure shipping settings.

Structured data on WooCommerce pages

Google compares feed values with your structured data as well as the visible page. Google Search Central’s merchant listing structured data documentation says to put Product markup in the initial HTML; markup generated by JavaScript can make Shopping crawls less frequent and less reliable for fast-changing price and availability.

  • Check whether the theme, WooCommerce and an SEO plugin all output Product markup. Several conflicting blocks make it hard to know which price Google reads.
  • Make sure the offer’s price, currency and availability match the page and the feed, with one availability value per offer.
  • Remove past priceValidUntil dates; Google says the listing may not display.
  • Test with the Rich Results Test and URL Inspection.

See how product structured data supports Shopping.

Crawling problems specific to WordPress sites

If Google can’t reach a product page, the product is disabled until it can. Google’s landing page guide lists 404s, too many redirects (keep it to two or fewer), server errors, DNS failures and robots.txt problems.

  • Security and firewall plugins or host rules that block or rate-limit Googlebot.
  • Maintenance or coming-soon mode left on, or switched on during updates.
  • Permalink changes that break product URLs already in the feed.
  • Image URLs on a CDN or subdomain that robots.txt blocks for Googlebot or Googlebot-image.

After fixing, request a website check (up to 12 hours). See how to fix product landing page errors.

WooCommerce Merchant Center checklist

Use this after setup, after plugin or theme updates, after changing caching or hosting, and before requesting a review.

Store and site

  • Product prices and stock are in the HTML when the page loads.
  • Product page caches clear when price or stock changes.
  • Googlebot isn’t blocked by security plugins, firewalls or robots.txt.
  • Return policy, contact details, shipping and privacy policies are published and linked.
  • Checkout works on HTTPS with a conventional payment method.

Product data

  • Each variation has its own ID and URL; the parent SKU is the item_group_id; the parent isn’t sent as a product.
  • GTINs are real; SKUs aren’t mapped into GTIN.
  • Sale prices include price, sale_price and effective dates.
  • Only one Product markup block per page, matching the feed.

Merchant Center

  • Shipping policies cover every target country and match WooCommerce zones.
  • Return policy matches the store page.
  • Business info matches the store.
  • Needs attention reviewed with Prioritized fixes switched off.

When to get help

If errors return after every plugin update, or the cause sits between your theme, caching and feed tool, a technical review of the whole stack is usually faster than fixing products one by one.

Our WooCommerce SEO service covers the store setup behind feed errors, including structured data, caching and variation URLs. We don’t promise approval; Google decides every review.

Frequently asked questions

Why does Merchant Center see a different price than my WooCommerce page?

Googlebot reads the HTML your server returns and your structured data. Prices added by JavaScript, cached pages, currency switchers and pricing plugins can all show Google a different value than visitors see.

Should I send the parent product of a variable product?

No. Google says to use the parent SKU as item_group_id and not submit the parent as a separate product. Send each variation with its own ID and URL.

Can I use my WooCommerce SKU as the GTIN?

No. Google says not to use internal SKUs as identifiers. If a GTIN exists but you can’t find it, leave the field blank.

Do WooCommerce shipping zones automatically fix missing shipping in Merchant Center?

Not necessarily. Check that Merchant Center has a shipping policy for every target country, with costs and currency matching checkout.

Where can I find current Google for WooCommerce setup steps?

In the official Google for WooCommerce documentation on woocommerce.com, which covers setup, the product feed, reviews and campaigns.

Need help with WooCommerce feed errors?

We find where your theme, plugins, caching and feed disagree and fix the store setup behind the errors.

Sources

Last reviewed October 10, 2026 against the official documentation listed above. Google changes Merchant Center features and policies regularly — always confirm details in your own account.

Similar Posts