You want your WooCommerce products in Google Shopping, so you open Merchant Center and it asks for a product feed — a file WooCommerce doesn't generate out of the box. The built-in CSV export won't do either: it's made for backups, and it's missing fields Google requires. Here's the full path from a plain Woo store to approved Shopping listings, including the traps specific to WooCommerce.
What Google expects from the feed
Merchant Center wants one entry per sellable item with, at minimum: id, title, description, link, image_link, price, availability, and identifiers — brand plus gtin (the barcode) for branded goods. The feed must stay consistent with your product pages: if the price in the file and the price on the page disagree, Google disapproves the product. Most of the WooCommerce-specific work is about getting these fields right automatically.
Step 1: give your store a feed URL
The standard way is a feed plugin: free options like Product Feed PRO (AdTribes) or CTX Feed generate a Google-format XML file at a public URL on your own domain. Install one, pick the Google Shopping template, map your fields once, and note the feed URL it gives you — something like yourstore.com/wp-content/uploads/woo-feed/google/xml/feed.xml. That URL is what Merchant Center (or a feed service) will read.
Whichever plugin you choose, the mapping matters more than the tool: brand usually lives in a product attribute, barcodes in the GTIN, UPC, EAN or ISBN field WooCommerce added in 9.2 (older setups used a custom attribute or SKU), and descriptions should come from the short description if your long ones are full of shortcodes.
Step 2: the WooCommerce-specific traps
Variable products. Google wants each variation as its own item — its own size, color, price and stock — grouped by item_group_id (the parent product). A feed that only exports parent products loses every variation from Shopping, and a feed that exports variations without the group id shows them as unrelated duplicates. Check this first; it's the most common Woo feed mistake.
VAT and price display. The feed price must match what a shopper sees on the product page. If your store shows prices including VAT, the feed must carry VAT-inclusive prices too. WooCommerce's tax display settings and the feed plugin's price field (regular vs. display price) both need to point the same way — this single mismatch causes a large share of price-mismatch disapprovals.
Sale price schedules. Woo lets you schedule sales. Export price as the regular price and sale_price separately — never overwrite the regular price with the sale price, or the moment the sale ends your feed and page disagree.
Availability from stock status. Map In stock / Out of stock / On backorder to Google's in_stock, out_of_stock and backorder values. Products sold while marked unavailable — or the reverse — are a suspension signal.
Missing barcodes. If Merchant Center warns about missing identifiers after your first upload, that's a data gap, not a feed bug — see the GTIN fix guide for where to find the numbers and what to do for products that genuinely have none.
Step 3: connect it to Merchant Center
In Merchant Center: Products → Add products → Add products from a file, paste the feed URL, and set a daily fetch. Google fetches on its schedule (roughly daily), validates every item, and reports approvals and errors under Products → Diagnostics. First-time feeds usually take a day or two to fully process; fix whatever Diagnostics flags and re-fetch.
The part that bites later: freshness
A WooCommerce feed is regenerated by WordPress cron — which only runs when someone visits your site, and can time out on large catalogs. The failure mode is quiet: prices change in the store, the feed file stays stale, and days later Google starts disapproving products for price mismatch. If your catalog is big or changes often, check the feed file's generation timestamp after every price change until you trust the schedule — or let a service watch it for you.
How Feedrobin handles it
Feedrobin sits on top of the feed URL you just created: paste it once, and we re-sync it on a schedule, check every product for the errors above — missing images, barcodes, descriptions, availability problems — and give you one always-fresh link per channel: Google, Meta, Microsoft, ChatGPT and the CEE price comparators, all from the same WooCommerce export. Titles and per-channel tweaks are rules on our side, so you never edit your store just to satisfy one channel. You can start by checking the feed you just built with the free audit below — it reads WooCommerce plugin feeds directly.