WooCommerce + Google Ads: the setup that reports revenue accurately
WooCommerce runs on WordPress, which means its Google Ads integration lives or dies by how the plugins and data layer are configured. The out-of-the-box connection captures the basics, but Enhanced Conversions, a clean product feed, and server-side tracking are where accurate ROAS is won. This guide covers the setup iClick applies on WooCommerce stores.
A 47-point written audit of your Google, Meta or Shopping account, back in five business days.
Get your auditBook a callWhat this integration unlocks
- Product feed sync from WooCommerce to Merchant Center for Shopping and PMax
- Purchase conversion tracking for baseline ROAS reporting
- Dynamic remarketing audiences from product-view behaviour
- Enhanced Conversions once wired through the data layer
- Server-side event pipeline that survives ad-blockers and privacy browsers
Setup steps
- 1
Connect the product feed to Merchant Center
Use a maintained feed plugin or the Google for WooCommerce extension to sync your catalogue to Merchant Center. Confirm the feed populates GTINs, prices, and availability, and enable scheduled refreshes so price and stock changes propagate.
Common miss: leaving the feed on a slow refresh, so out-of-stock items keep serving. On WordPress, a caching layer can also stale the feed, so verify the live feed URL reflects real inventory.
- 2
Install conversion tracking through a tag manager
Rather than pasting the Google Ads tag directly into the theme, route it through Google Tag Manager with a proper data layer. This gives you clean access to order value, transaction ID, and product data at purchase.
On WooCommerce, the order-received page is where the purchase event should fire, and the transaction ID must be passed to enable deduplication later.
- 3
Enable Enhanced Conversions
Enhanced Conversions hashes first-party checkout data, email and phone, to recover conversions lost to privacy limits. Map the WooCommerce checkout fields into the data layer so the tag can read and hash them.
Verify in the Enhanced Conversions diagnostics that events reach a Recording state. A common WordPress failure is the email field not being present in the data layer at the moment the purchase event fires.
- 4
Add server-side tracking for durability
Client-side tracking on WordPress loses events to ad-blockers and privacy browsers. A server-side GTM container captures the purchase event server-side and forwards a clean, deduplicated conversion to Google Ads.
This takes engineering to stand up, but on any WooCommerce store where bidding drives real budget, the recovered signal usually justifies it quickly.
- 5
Add custom labels to the feed
Push custom labels for margin tier, hero-SKU status, seasonality, and discount state into the feed. These let Shopping and Performance Max bid a high-margin product differently from a loss leader, which is impossible without them.
Common issues
Fix. Usually the tag is installed both directly in the theme and through GTM. Remove one, and use the transaction ID for deduplication so refreshes of the order-received page do not double-count.
Fix. The checkout email is often missing from the data layer when the event fires. Confirm the field is captured before the purchase event and hashed correctly.
Fix. Commonly missing GTINs, low-resolution images, or titles over the length limit. Run a feed audit and fix at the WooCommerce product level so the correction persists through refreshes.
Fix. Often PMax counting branded search plus view-through conversions. Apply brand exclusions and reconcile against the store's own revenue as the source of truth.
Common questions
Want this checked on your own account?
A 47-point written audit of your Google, Meta, or Shopping account. Five business days, no sales call.

