integration recipe · ZapierGoogle Ads

Send Zapier conversions from any app to Google Ads, server-side.

A Zapier conversions from any app happens off your page, where no pixel fires. Point Zapier at a TracerKit webhook and it reaches Google Ads's offline conversion upload with the visitor's click ids and hashed email — no code, and verified end to end.

Free sweep — see your server-side readiness before you connect anything. Or start free →

What lands in Google Adsoffline conversion upload
eventconversion
emsha256 · hashed before storage
phsha256 · when the tool has it
valueamount + currency
gclidfrom the landing visit
event_ididempotency + pixel dedupe
ip / uafor match quality, never on events

Raw email and phone are hashed before anything is stored. IP and user agent ride only the delivery, never the event log.

set it up

Three steps. No deploy.

1

Create the webhook in TracerKit

On your site's page in the dashboard, add a conversion webhook with the Zapier preset. You get a URL once — it's the only credential, and only its hash is stored.

2

Paste it into Zapier

Add a Webhooks by Zapier → POST step at the end of your Zap, set the URL to your TracerKit webhook, and send JSON with email, value, currency, eventName and eventId mapped from the trigger app. The same works from Make, n8n, or your own backend.

3

Connect Google Ads with server-side forwarding on

Add Google Ads as a destination with a Google Ads OAuth connection (refresh token) plus the operating account and conversion action ids, and turn on server-side forwarding. From the next conversion onward, every conversion is enqueued to Google Ads's offline conversion upload.

join the visitor

If the trigger app carries the visitor's TracerKit id (from a hidden form field or a CRM property), pass it as anonymousId to join the visitor's click ids directly; otherwise TracerKit matches by hashed email.

Sites that enforce per-field consent skip this join: the conversion then carries only what Zapier sent, with no click ids from the visit.

sign the webhook

Add any shared secret of 16+ characters to the hook and send an X-TracerKit-Signature header of t=<unix seconds>,v1=<hex HMAC-SHA256 of "<t>.<raw body>">. Zapier's Code step or your backend can compute it. Until a secret is set, the unguessable URL is the only credential.

why server-side

Google Ads can only optimise on what it receives.

It arrives even when the pixel didn't fire.

The conversion comes from Zapier's servers, so blockers, ITP and a visitor who closed the tab before the thank-you page loaded don't lose it.

It matches to a real visit.

Google Ads attributes the upload by the gclid captured when the visitor landed from the ad, with hashed email and phone as enhanced-conversion match keys.

It's counted once.

Each upload carries the checkout or order id as its transaction id, so a retried webhook doesn't double count.

You can prove it happened.

Most tools stop at "sent". TracerKit records each delivery's outcome and reconciles what it observed against what Google Ads reports, so a silent break shows up as drift, not as a bad quarter.

questions

Asked and answered.

Do I need a developer?+

No. Creating the webhook and pasting the URL into Zapier is the whole install. Threading the visitor id through is one optional line if you want direct click-id matching instead of email matching.

Will this double count against my Google Ads pixel?+

Each upload carries the checkout or order id as its transaction id, so a retried webhook doesn't double count.

What if the visitor blocked the pixel?+

That's the point of server-side. The Zapier conversion arrives from Zapier's servers, not the visitor's browser, so ad blockers and ITP never see it. TracerKit matches it back to the visitor's landing visit by the hashed email or the visitor id you threaded through.

How do I know it's working?+

Each webhook shows when it last received a delivery, every forwarded event shows its delivery status per destination, and reconciliation compares what TracerKit observed against what Google Ads reports — so drift is a number you see, not a hunch.

What does it cost?+

Server-side forwarding is on the Server-side tier at a flat monthly price per site. There is no per-conversion metering, so a busy checkout day never becomes a surprise bill.

Every Zapier conversions from any app, in the light.

Tag management is free forever. Server-side forwarding starts with a 14-day trial — no card, no per-conversion metering.