← Back to Blog

Google Ads and Shopping for WooCommerce. Setup Guide 2026

Google Ads for WooCommerce: setting up the product feed, Merchant Center and conversion tracking
Christian Beeking
Christian Beeking
Co-Founder, Cloudginny
November 3, 2026 24 min read

As of November 3, 2026. Applies to WooCommerce from version 11.0 with the Google for WooCommerce 3.10 plugin.

Search for “google ads woocommerce” and you'll find the plugin page, the English docs and older guides from 2022 and 2023 that still rave about free product listings. In the European Economic Area, they've been gone from Google's search results since mid-September 2026. A few other things have changed too: the plugin is no longer called Google Listings & Ads, it transfers products through a new interface, and its price sync had a bug over the summer that hit shops with gross prices. This guide takes you through WooCommerce Google Shopping and Google Ads from start to finish: requirements, plugin or feed extension, a feed for every target country, conversion tracking without double counting, the most common errors, and why the campaign is better created directly in Google Ads.

The route in five steps

  1. Connect your WordPress.com account, Google account and Merchant Center. Without the WordPress.com connection, the plugin won't start.
  2. Install Google for WooCommerce or choose a feed extension. Not both at the same time, and switching changes the product IDs.
  3. Fill the feed correctly for every delivery country. Every delivery country as its own shipping zone, unit price only with code.
  4. Set up conversion tracking without counting twice. One tag, one primary conversion: the purchase with order value.
  5. Start with Standard Shopping in Google Ads. The plugin can only do Performance Max, so use the plugin for the feed and create the campaign directly in Google Ads.

What you need for Google Ads in WooCommerce

You need accounts with Google Ads, Merchant Center and WordPress.com, conversion tracking that passes the value of every order to Google Ads, and about an hour a week for upkeep. The WordPress.com account surprises many people, since the shop runs on its own server. But the official Google for WooCommerce plugin connects to Google through the Jetpack infrastructure of WordPress.com, according to Jetpack support with or without the Jetpack plugin installed. If this connection breaks, the plugin stops working.

Google for WooCommerce, Connect accounts step: Google account, existing Google Ads account and existing Merchant Center account, each with the option to create a new one
In the first step, you connect Google, Google Ads and Merchant Center. If an account is missing, you create it here. Screenshot: WooCommerce documentation

On top of that come Google's mandatory details for the shop itself. The requirements page in the Woo docs lists them: a reachable domain that is verified and claimed in Merchant Center, and a checkout over HTTPS with visible payment methods. Add a return and refund policy that's easy to find, with time limits and a return address, complete pricing before purchase and at least one way to get in touch. For shops in the European Economic Area and Switzerland, Merchant Center also has to be assigned to a comparison shopping service, which is Google Shopping by default. A well-run WooCommerce shop has all of this anyway, and in the EU, contact details and a cancellation policy are required by law. Usually only the entry in Merchant Center is missing. The basics, meaning the auction, ad types and costs, are covered in What is Google Ads?.

Accounts and time

  • Google Ads account
  • Merchant Center account
  • WordPress.com account for the plugin connection
  • conversion tracking with order value
  • about an hour a week for upkeep

Mandatory details for Merchant Center

  • verified and claimed domain
  • checkout over HTTPS with visible payment methods
  • return and refund policy with time limits and a return address
  • complete pricing before purchase
  • at least one way to get in touch
  • in the EEA and Switzerland: assigned to a comparison shopping service

On the technical side, version 3.10 of the plugin requires WordPress 6.9, WooCommerce 11.0 and PHP 7.4. The Marketplace still lists WooCommerce 10.9, but since version 3.9.6 the plugin requires 11.0. Before you start, it's worth a look at Status in WooCommerce, because an outdated shop often only stands out once the plugin won't load. And if Ginny takes over the upkeep later, no further plugin gets added. She works through the Google Ads account and Merchant Center, not through WordPress.

Minimum versions for Google for WooCommerce 3.10

6.9WordPress
11.0WooCommerce
7.4PHP

According to the plugin code, as of November 2026. The Marketplace still lists WooCommerce 10.9. You can see your versions in WooCommerce under Status.

How does setup work in WooCommerce?

In four steps, and the plugin guides you through all of them: connect accounts, choose target countries, enter shipping, sync products. According to the setup docs, you have to grant every requested permission when you connect your Google account, otherwise the plugin can't be used. It then looks for existing Merchant Center and Google Ads accounts and offers to create new ones if you don't have any yet.

Setup in the plugin

1Connect accountsWordPress.com, Google, Merchant Center and Google Ads
2Choose target countrieswhere your products should appear
3Enter shippingwith a delivery time for every country
4Sync productsafter that, with every change

You skip the wizard's last step, the Performance Max campaign.

The setup has pitfalls that are bigger than they look. First, the plugin overwrites existing settings in Merchant Center: shipping settings that you had already set up there are replaced by what you enter in the plugin. If you previously worked with a feed file, you should know that. Second, the plugin sends a delivery time for every target country. The field is prefilled with one to five days, and that range goes to Google if you don't change it. Enter a realistic range for every country, for example one to three business days for domestic orders.

Google for WooCommerce, Configure product listings step: target countries, shipping rates with the option to sync automatically, and shipping times
In the second step, you choose the target countries, how shipping rates are synced and the delivery time. Screenshot: WooCommerce documentation

At the end, the plugin offers to create a Performance Max campaign right away. You skip this step, and the section on the campaign type explains why. After setup, the test page at /wp-admin/admin.php?page=connection-test-admin-page on your domain shows whether all connections are in place. How Merchant Center works after that and which status messages it shows is explained in the Merchant Center guide.

Google for WooCommerce, Create a campaign step: Performance Max campaign with a daily budget and the Skip ads creation link
At the end, the plugin offers a Performance Max campaign. “Skip ads creation” completes the setup without it. Screenshot: WooCommerce documentation

Google for WooCommerce or a feed plugin?

For most shops, the official plugin. It's free, sends products through Google's interface without a feed file and updates them with every change. You only need a feed extension once you need fields the plugin doesn't know, above all the unit price.

The difference lies in how the data travels. According to the Woo FAQ, Google for WooCommerce sends every product change to Merchant Center right away as a background job, and there is no feed URL. Products expire there after 30 days, which is why the plugin resubmits every product that will expire soon each day at 3 a.m. shop time. A feed extension, on the other hand, generates a file that Google fetches every day, the way Shopware's product comparison sales channel does. The file is slower, but you can see exactly what's in it and add fields. The Google Product Feed extension from the Woo Marketplace costs $79 a year and comes with fields for unit price, GTIN and custom attributes. Then there are feed plugins from other providers, from free to a few dozen dollars a month.

Plugin or feed extension
Google for WooCommerceFeed extension
CostfreeGoogle Product Feed $79 a year, other providers from free to a few dozen dollars a month
Transferthrough Google's interface, no feed filefeed file that Google fetches
Updateswith every product changeonce a day
Visibilitystatus in the plugin and in Merchant Centeryou can see exactly what's in the file
Unit priceonly with codeas its own field

What you shouldn't do is run both at the same time. Then the same items sit in Merchant Center twice, and Google flags them as duplicate products that you have to clean up. And when you switch from a feed file to the plugin or back, the product IDs usually change. Google for WooCommerce puts the prefix gla_ in front of every ID, and a different ID is a new product to Google. The Woo FAQ describes the effect for the case where you remove the prefix later: reports from campaigns that ran with the old IDs no longer match the products afterwards. The product history that Performance Max uses to learn starts over. If you switch, remove the old products from Merchant Center first and plan for two to four weeks of weaker performance, ideally outside your peak season.

Why switching costs you the product history

Feed file id1234product ID from WooCommerce
Google for WooCommerce idgla_1234with prefixa new product to Google

Example values. Old reports no longer match the products afterwards.

Google Shopping feed from WooCommerce to Merchant Center

The feed is ready when every product arrives in Merchant Center with title, price including VAT, GTIN, image, availability and shipping costs exactly as it appears on the product page. The plugin needs help with two things: the shipping zones and, if you sell in the EU, the unit price.

For shipping, the plugin transfers your WooCommerce zones to Merchant Center, but according to the Woo FAQ not the zone “Locations not covered by your other zones”. If you deliver to some countries, such as your neighboring countries, only through this catch-all zone, Google gets no shipping costs for these countries, and the products there are disapproved. So create every country you deliver to and want to advertise in as its own shipping zone with its own rate. The plugin understands free shipping above an order value as long as it doesn't require a coupon, but not flat rates with advanced cost formulas, and it only transfers regional rates within a country for Australia, Japan and the US. Shipping costs have to be in the same currency as the product price, otherwise Google disapproves the product.

What the plugin transfers for shipping

Gets through

  • every separate shipping zone with its rate
  • free shipping above an order value, without a coupon

Doesn't get through

  • the zone “Locations not covered by your other zones”
  • flat rates with advanced cost formulas
  • regional rates within a country (only Australia, Japan, US)

For prices in countries outside the US and Canada, the plugin sends the price including tax and calculates it with the tax rate you've set in WooCommerce for that country. That's why your tax rates in WooCommerce have to be right, even if you enter prices gross. If a target country has no tax rate at all, the price goes to Google without tax. In August 2026, this logic had a bug: version 3.9 from August 5, depending on the tax settings, deducted VAT twice or added it twice for gross prices, fixed in 3.9.2 on August 31, 2026, according to the changelog. If your shop had disapprovals for price mismatches in those weeks, that may have been the cause.

What the 2026 updates changed

  • 3.9, August 5tax bug with gross prices
  • 3.9.2, August 31tax bug fixed
  • 3.9.3, September 3sync pauses when the WordPress.com connection breaks
  • 3.9.6, October 12notice for images under 500 × 500 pixels, WooCommerce 11.0 required
  • 3.10.0, October 20current version

According to the changelog on GitHub. Before every update, check the last few days of discussions in the support forum.

The plugin doesn't know the unit price, which EU price rules require for food, cosmetics and many other goods. The fields for it can only be filled with code via the filter woocommerce_gla_product_attribute_values, or you use a feed extension that includes them. Since the switch to the Merchant API, the keys in the filter are called unitPricingMeasure and unitPricingBaseMeasure. The spelling unit_pricing_measure from older guides is dropped by the plugin without an error message. According to the Merchant Center Help, Google requires the unit price where the law requires it and shows it in the ad. If your shop already displays the unit price on the product page through a legal texts plugin, the value usually sits in a separate product field the filter can read from.

With codeThe filter woocommerce_gla_product_attribute_values with the keys unitPricingMeasure and unitPricingBaseMeasure.
Without codeA feed extension with unit price fields, such as Google Product Feed for $79 a year.

The plugin transfers variations individually, every size and color as its own product. That's how it should be, but it leads to a typical error: variations without their own image inherit the parent product's image, and if the red variation appears with the blue image, Google disapproves it for not matching the landing page. Since version 3.9.6, the plugin also warns about main images under 500 by 500 pixels. That's more than a recommendation: from January 31, 2027, Google requires this minimum size for all product images, according to the Merchant Center Help. What else Google expects in product data and how you build the feed for Shopping ads is covered in the guide Google Shopping for retailers.

Setting up Google Ads conversion tracking in WooCommerce

Tracking is right when exactly one tag reports the purchase with order value and order number to Google Ads and this purchase is the only primary conversion in the account. In WooCommerce shops, the opposite is usually the case, because several plugins set the same tag.

Google for WooCommerce installs its own Google tag and creates one conversion action for purchases when you connect the Google Ads account. The tag only sends page views, product pages and carts as events for remarketing. The Woo FAQ still talks about five conversion actions, but the plugin's code only creates the purchase action. If Google Tag Manager runs alongside with its own purchase tag, or the Site Kit plugin, whose plugin conversion tracking also reports WooCommerce purchases to Google, Google Ads can count every order twice. The ROAS in the account then looks twice as high, and the bid strategy optimizes for sales that only happened once. For Tag Manager, the Woo FAQ names the filter woocommerce_gla_disable_gtag_tracking, which switches off the plugin tag. Pick one route: either the plugin tag and then no second purchase tag, or Tag Manager with Consent Mode and then the plugin tag off.

One route, not two

Plugin tag

No second purchase tag in Tag Manager, no plugin conversion tracking in Site Kit.

Tag Manager with Consent Mode

Switch off the plugin tag with the filter woocommerce_gla_disable_gtag_tracking.

The second error is less obvious. Only the purchase should be marked as a primary conversion in the account, and alongside it there are often older actions, such as page views or add to cart events imported from GA4. According to the Google Help, bid strategies only optimize for primary actions, except with custom goals, and if page views or add to cart clicks are also primary, Google bids on visitors instead of buyers. Check this in Google Ads under Goals, Conversions: purchases primary with a value, everything else secondary. Why this is the most important lever in the whole account is explained in Optimizing Google Ads.

Conversion goals in Google Ads: Purchase as the primary action, Add to cart only as secondary
This is how it should look: the purchase is the only primary action, and the cart is only tracked for observation. Screenshot: Google Ads

Consent Mode is part of tracking. Without it, all purchases from visitors who decline in the cookie banner drop out, and in the EU that's a lot of people. The plugin sets Consent Mode v2 itself: in the EEA, everything starts out denied until your cookie banner reports consent to Google, either directly or through the WP Consent API plugin. After setup, check a test order: it has to show up in Google Ads exactly once within a few hours. As the value, the plugin sends the order total including VAT and shipping, and that belongs in the math for your ROAS target.

The most common errors in WooCommerce shops

Most disapprovals in WooCommerce shops have three causes: prices that differ in the shop and in Merchant Center, a connection that broke without anyone noticing, and maintenance or security settings that lock Google out.

The three most common causes of disapprovals
CauseWhat happensWhat helps
Price mismatchtax bug from 3.9, a discount plugin or the cache shows a different price than the one sentat least 3.9.2, discounts as sale_price or a promotion in Merchant Center, clear the cache after price changes
Broken connectionthe sync stops, products expire in Merchant Center after 30 dayscheck the connection test page, reconnect, allow xmlrpc.php for the Jetpack servers
Maintenance mode or stagingGoogle sees no prices when it crawlskeep maintenance short, never connect staging sites to Merchant Center

Price mismatches are the most common reason for disapproval in our client accounts, even though disapprovals overall are rare, with a median under one percent. In WooCommerce, they come about in three ways. The tax bug from version 3.9 was one, and it's fixed. The second is discount plugins that only change the price in the cart or through a promotion rule: the product page shows $19.90, the plugin has sent $24.90, and Google sees the mismatch when it crawls. Discounts belong in the feed as sale_price or in Merchant Center as a promotion, not in a plugin the sync knows nothing about. The third is caching plugins that serve an old product page while the sync has already reported the new price. Clear the cache after price changes, especially before promotions.

Broken connections often go unnoticed for weeks, and in the plugin's support forum they're the most common topic, next to errors after updates and stuck product syncs. Before a plugin update, it's worth checking the discussions from the last few days, and after the update, a look at the connection test page. If the Google token expires or the WordPress.com connection is cut, the plugin stops syncing, and the products in Merchant Center expire after 30 days. Since version 3.9.3, the plugin pauses the sync when the WordPress.com connection is broken and shows a notice in the backend to reconnect. A common cause that comes up again and again in the support forum: a security plugin blocks the file xmlrpc.php, which the Jetpack connection runs through, and the connection fails with a message saying the Jetpack server couldn't connect to the site through xmlrpc.php. In that case, allow xmlrpc.php for the Jetpack servers instead of blocking it completely.

Maintenance mode is the third classic. Besides visitors, a maintenance plugin also locks out Google's crawler, which checks the product pages against the feed. If the shop is in maintenance mode overnight, Google sees no prices and disapproves. The same goes for staging sites that are accidentally connected to Merchant Center. That's why a check round before going live pays off. Open product pages from outside without logging in and compare several variable products with price, image and availability against Merchant Center. Compare tax and shipping settings, work through all disapprovals in the diagnostics before the first campaign gets a budget, and note which plugins change prices or stock.

Check round before going live

  • open product pages from outside without logging in
  • compare several variable products with price, image and availability against Merchant Center
  • compare tax and shipping settings
  • work through all disapprovals in the diagnostics before the first campaign gets a budget
  • note which plugins change prices or stock

What the individual messages mean is explained in our article on the three most common reasons for disapproved products. If you don't want to check Merchant Center yourself every morning: Ginny reports disapproved products with the cause and a suggested fix as soon as they appear.

Ginny explains in chat that Google disapproved 430 products, 372 of them for the same reason
Ginny groups disapprovals by reason. Here, 372 of 430 come down to a single price error in the feed. Screenshot: Cloudginny

Performance Max or Standard Shopping for WooCommerce shops?

Standard Shopping first, Performance Max from 30 to 50 orders a month from Google Ads. The plugin can't do that, because according to the Woo docs, Google for WooCommerce only creates Performance Max campaigns. So you use the plugin for the feed and build the campaign directly in Google Ads.

When to use which campaign

StartStandard Shoppingwith “Maximize clicks” and a bid limit, product groups by margin or bestsellers
from 30 to 50 orders a monthadd Performance Maxone asset group per product range, your own brand as an exclusion

The order comes down to data. Performance Max steers fully automatically and learns from conversions, and a fresh account doesn't have any yet. The campaign then spends the budget the way Google sees fit, and that rarely lines up with your margins. Standard Shopping, by contrast, shows you every search term and lets you steer product groups individually. In the first few weeks, you learn which products sell and which search queries only cost money, and that's exactly the data Performance Max needs later.

Search terms report in Google Ads filtered to terms without conversions, campaign type Shopping, with cost and clicks per search term
The search terms report, filtered to terms without conversions: Standard Shopping shows you this list in full. Screenshot: Google Ads

The products the plugin sends to Merchant Center are available in Google Ads as usual. There you create a campaign of the type Shopping, choose the linked Merchant Center and your target country, start with “Maximize clicks” and a bid limit, and split the products into product groups by margin or bestsellers. As soon as you have 30 to 50 orders a month, you add Performance Max, with a separate asset group per product range and your own brand as an exclusion. You then create the campaign the plugin wanted to offer during setup yourself in Google Ads, with the same products and more control. What the same decision looks like for Shopware is covered in the Shopware guide, and the route is the same.

What does Google Ads cost for a WooCommerce shop?

The plugin costs nothing, Google charges neither a setup fee nor a base fee, and you pay for clicks. And since mid-September 2026, there's no way around ads in the European Economic Area if your products are to appear in Google's search results with an image and price. Google has removed the free product listings that the Woo docs and older guides still advertise from the search results in the EU, Norway, Iceland and Liechtenstein, according to Search Engine Roundtable as a consequence of the Digital Markets Act. Outside the EEA, for example in Switzerland, this doesn't apply. Within the EEA, the line on the plugin page that your shop is automatically listed on Google after the sync now only holds through ads.

Google search for “running shoes” with sponsored products, each ad showing image, price and merchant
In the EEA, products now only reach the search results with image and price as an ad. Screenshot: Google Search

In our client accounts, the median cost per click for Shopping is €0.42, and the middle 50 percent of accounts range between €0.27 and €0.57. For the start, we recommend a monthly budget of €500 to €1,500, so that bid automation gets enough orders to learn from. Add the feed extension for the unit price if you need it, plus what the upkeep costs: your time, an agency or an AI agent. Ginny costs $149, $349 or $699 a month excluding VAT, tiered by ad budget, needs no plugin for WooCommerce, and no change goes out without your approval. The tiers are on the pricing page, and the full calculation with break-even and margin is in the guide Google Ads costs.

$0for the Google for WooCommerce plugin
€0.42median cost per click for Shopping, the middle half of accounts sits between €0.27 and €0.57
€500 to €1,500starting budget per month, our recommendation

Costs per click from our clients' Shopping and Performance Max accounts in the DACH region.

No hour a week to spare?

Ginny works directly in Google Ads and Merchant Center. You install nothing in WordPress, and only what you approve gets applied.

Try it free for 7 days

Frequently asked questions about Google Ads and WooCommerce

Do I need a Google Shopping plugin for WooCommerce?

Yes, one. WooCommerce has no built-in export to Merchant Center. The official Google for WooCommerce plugin is free and is enough for most shops. You need a paid feed extension if you want to send fields like the unit price without your own code. Using both leads to duplicates.

Why aren't my WooCommerce products showing on Google?

The most common reasons: the WordPress.com connection has broken and the sync has stopped, or the price in Merchant Center differs from the product page. Just as often, shipping costs are missing for a country because it's only in the zone “Locations not covered by your other zones”, or the shop was in maintenance mode when Google crawled. The diagnostics in Merchant Center name the reason for each product. And since mid-September 2026, products in the European Economic Area no longer appear in Google's search results without Shopping ads, even if the feed has no errors.

How quickly do product changes reach Google?

Google for WooCommerce sends every change right away as a background job, and in practice prices and stock are in Merchant Center within minutes. This requires WordPress cron to be running. With feed extensions, Google fetches the file once a day, so price changes made in the morning only show up the next day.

Can I set up conversion tracking without a plugin?

Yes, through Google Tag Manager with a purchase tag that reads order value and order number from the thank-you page. Then you have to switch off the Google for WooCommerce tag via the filter woocommerce_gla_disable_gtag_tracking, otherwise Google Ads counts every order twice.

Do I need a plugin to use Cloudginny with WooCommerce?

No. Ginny works through your Google Ads account and your Merchant Center, not through WordPress. You link the Google accounts, and she checks search terms, budgets and disapproved products every day, no matter which shop system sits behind them. The feed still comes from Google for WooCommerce or your feed extension.

Is this guide also available for other shop systems?

Yes, the series includes setup guides for JTL shops, Shopify shops and Shopware shops, each with feed, tracking and campaign launch.

Sources

Christian Beeking
About the author
Christian Beeking LinkedIn

Christian Beeking is co‑founder of Cloudginny, the AI agent for automating Google Ads in e‑commerce. Before Cloudginny, the team managed more than 100 million euros in Google Ads budget for brands such as MediaMarkt, Cisco and Bose, and has now poured that knowledge into Ginny. Cloudginny is an official Google Partner, a WebStollen partner and part of the German Accelerator.

plans

Get Started

plans

Related articles

Our platform is designed to empower businesses of all sizes to work smarter and achieve their goals with confidence.
Google Ads Optimization. The Levers for More Shop Revenue

Google Ads Optimization. The Levers for More Shop Revenue

Most guides to Google Ads optimization are lists of ten equally weighted tips. In an online shop, though, the order decides: if you fine-tune bids while Google counts page views as sales, you only amplify the error. This guide shows the five levers in the order in which we tackle shop accounts, with figures from our customer accounts and the right rhythm for changes.

Read full blog
Google Shopping agency or AI.

Google Shopping agency or AI optimisation. What pays off for shops?

A Google Shopping agency only pays off from around $7,500 to $10,000 in monthly ad spend, and the feed tool, CSS fee and setup come on top of its fee. Most shops spend far less. This article covers what a Shopping agency really costs, what’s behind the promised 20 percent CSS savings, how to spot a bad offer and when an AI is enough for ongoing maintenance.

Read full blog
Google Shopping Christmas season 2026: preparing Merchant Center

Google Shopping at Christmas. Getting delivery times and availability right in your feed

In December, every delivery promise counts, and Google calculates the delivery date for Shopping from your data. Because Google counts Christmas Eve and New Year's Eve as normal business days, it easily produces dates no carrier can keep. This article covers the 2026 shipping deadlines, how Google calculates the delivery date and what to change in Merchant Center through January.

Read full blog