WooCommerce plugin + Google Ads Data Manager API, EU-hosted

Google Ads conversion tracking for WooCommerce

A WordPress plugin that sends the WooCommerce order to Google Ads from your server, carrying the click id stored when the visitor first landed: gclid, and also gbraid and wbraid, which Google sends instead on iOS and in-app journeys. No Google credential ever sits in your WordPress database.

The problem

Why Google Ads misses WooCommerce conversions

Google Ads needs the click that produced the sale. Between the landing page and the WooCommerce order, a WordPress stack gives that click id several ways to disappear.

A conversion with no click id is discarded

Google Ads attributes on gclid, gbraid or wbraid. Sent without one, a conversion belongs to no campaign and is dropped, which is why your Ads total can sit far below your WooCommerce total.

Page caching serves a page with no memory

A cached landing page can be served to a visitor arriving with ?gclid=..., and nothing on that page stores the value. By the time the order is placed, the click is gone.

A conversion tag inside a theme is fragile

The classic setup puts a conversion snippet on the thank-you page. A theme update, an optimiser, a redirect, and the snippet no longer fires on the page that carries the sale.

The fix

Store the click on arrival, read it back at the order

The plugin writes the click id into a first-party cookie the moment the visitor lands, and the server reads it back when WooCommerce validates the order. Nothing depends on a page rendering at the right time.

gclid, gbraid, wbraid, msclkid

All four are captured. Whichever identifier the platform chose to attach to the click, the conversion carries it when it reaches Google Ads or Microsoft Advertising.

Read at order validation, server-side

The purchase is built on the WooCommerce order hook and reads the stored click id from the request, not from a browser beacon that a blocker or an optimiser can suppress.

OAuth once, no credential in WordPress

You connect the Google account that manages your Ads from the console. The refresh token lives encrypted on our side; your site holds only the connection key.

Setup

Three steps, and Google Ads starts receiving

  1. Install the connector

    A WordPress plugin installed from the admin, with a retry queue and an Activity panel so you can see what left and what did not.

  2. Paste your connection key

    One key from your DataFirefly console identifies the site. It is the only thing your shop holds: no destination credential ever lives in your store.

  3. Add Google Ads as a destination

    Your Google Ads settings go into the console, stored encrypted on our side. Rotating them later touches nothing in the shop.

The same connector feeds every other destination from the same events, so Google Ads is a starting point rather than a silo. See the WooCommerce connector in detail or Google Ads across all platforms.

Same connector

Your other destinations from WooCommerce

One installation, one key. The events you already send reach every destination you switch on.

Pricing

Included in every plan, free plan included

10,000 events a month free, no card. Paid plans from 39 €/month when your volume grows. Every destination is included in every plan: Google Ads is never an add-on.

FAQ

Frequently asked questions: WooCommerce and Google Ads

Why is my Google Ads conversion count lower than my WooCommerce order count?

The usual cause is conversions arriving without a click id: Google Ads cannot attribute them and drops them. The plugin captures gclid, gbraid and wbraid when the visitor arrives, stores them in a first-party cookie, and attaches them to the order-time conversion.

Does page caching break the click id capture?

It breaks the naive version, where a server-rendered page is expected to read the query string. The plugin stores the click id from the browser on arrival, so a cached HTML page can still be served: the capture happens on the visitor’s side and the value is read back server-side at order time.

What about gbraid and wbraid?

Google sends them instead of gclid when the journey crosses an app or a browser with restricted cookies. An integration that only knows gclid loses that traffic silently. All three are captured, and the dispatcher validates them.

Do I need to keep the Google Ads conversion tag on my site?

You do not need it for the purchase. Keep whatever browser tagging you use for remarketing if you rely on it, and let the server own the conversion: that is the one that carries the click id and survives the page never rendering.

Is it compatible with HPOS?

Yes. The order is read through the WooCommerce API, so custom order tables and the legacy storage behave identically.

Where is the Google credential stored?

On our side, encrypted. You authorise with OAuth from the console; your WordPress database never holds a Google token, which also means you can revoke access without touching the site.

Give Google Ads the WooCommerce sales it cannot see

Install the plugin, connect your Google account, map your conversion actions. The next ad-driven order will carry its click id.