Google Ads

Enhanced Conversions without the conversion linker

Send purchase, lead, and signup conversions to Google Ads server-side with SHA-256 hashed customer data, automatic gclid capture, and 400-day click attribution. No gtag.js. No conversion linker tag. No signal loss.

20-40%

More conversions

Recovered from ad blocker signal loss

400 days

Click attribution

gclid persisted in server-set first-party cookies

0 KB

Google tag JavaScript

No gtag.js, no conversion linker, no floodlight

<50ms

Delivery latency

Conversion data reaches Google in real time

Why client-side conversion tracking breaks

Google Ads relies on three things to attribute conversions correctly: a gclid click identifier, hashed customer data for Enhanced Conversions matching, and timely conversion reporting. Client-side tracking fails at all three.

Ad blockers hide your best customers

20-40% of visitors block gtag.js. These aren't random users — they're tech-savvy, high-intent buyers. Every blocked conversion is a missing signal that degrades Smart Bidding performance. Google optimises on what it can see, and it can't see your best customers.

gclid expires before customers convert

Safari caps client-set cookies at 7 days. If a customer clicks a Google ad, researches for 10 days, and then converts, the gclid is gone. The conversion can't be attributed. Your ROAS calculations are wrong and Smart Bidding learns from incomplete data.

Enhanced Conversions need clean PII

Google Ads Enhanced Conversions requires SHA-256 hashed email, phone, and address data. Client-side implementations depend on the conversion linker tag parsing form fields correctly — fragile, privacy-risky, and often misconfigured.

How Datafly Signal delivers conversions to Google Ads

1

Capture the gclid at click time

Datafly.js automatically extracts gclid, gbraid, and wbraid from URL parameters when users land on your site from a Google ad. The click ID is stored in a server-set first-party cookie with a 400-day expiry — fully ITP-exempt.

2

Collect conversion events server-side

When a purchase, lead form, or signup occurs, Datafly.js sends the event to your own subdomain. The Ingestion Gateway enriches it with the stored gclid and user identity.

3

Hash PII in the governance layer

The Org Data Layer automatically SHA-256 hashes email, phone, first name, last name, and address data before it reaches the delivery pipeline. No raw PII ever leaves your infrastructure.

4

Deliver via the Google Ads API

The Delivery Worker sends the conversion to the Google Ads Conversions Upload API with the gclid, hashed user identifiers, conversion value, and currency. Guaranteed delivery with retry.

5

Google matches and attributes

Google receives a complete conversion signal — click ID plus hashed PII — and matches it to the original ad click. Enhanced Conversions matching fills in gaps where the gclid alone isn't sufficient.

Pipeline configuration

Every conversion is shaped by a version-controlled pipeline config. The mapping below sends purchase events to Google Ads Enhanced Conversions with hashed customer data and click attribution.

google-ads-enhanced-conversions.yamlYAML
# google-ads-enhanced-conversions.yaml
name: google_ads_purchase
integration: google-ads
trigger:
  event: purchase

parameters:
  customer_id: "123-456-7890"
  conversion_action_id: "1234567890"

global:
  gclid:
    source: context.click_ids.gclid
    mode: direct
  gbraid:
    source: context.click_ids.gbraid
    mode: direct
  wbraid:
    source: context.click_ids.wbraid
    mode: direct

events:
  purchase:
    destination_event: conversion
    mappings:
      conversion_date_time:
        source: timestamp
        mode: direct
      conversion_value:
        source: properties.value
        mode: direct
      currency_code:
        source: properties.currency
        mode: direct
      user_identifiers:
        hashed_email:
          source: context.traits.email
          mode: hash_sha256
        hashed_phone_number:
          source: context.traits.phone
          mode: hash_sha256
        address_info:
          hashed_first_name:
            source: context.traits.first_name
            mode: hash_sha256
          hashed_last_name:
            source: context.traits.last_name
            mode: hash_sha256

Built for Google Ads performance

Every feature is designed to maximise the conversion signal Google receives.

Automatic gclid capture

gclid, gbraid, and wbraid captured from URL parameters and stored in 400-day server-set cookies. No conversion linker tag needed.

Enhanced Conversions

SHA-256 hashed email, phone, name, and address sent with every conversion. Maximises match rate without exposing raw PII.

Offline conversions

Import CRM and backend conversions with the same pipeline. Match to gclid or hashed customer data for complete measurement.

400-day attribution

Server-set cookies persist the gclid for 400 days — 57x longer than Safari's 7-day client-side limit. Full buying cycle coverage.

Zero Google JavaScript

No gtag.js, no conversion linker, no global site tag. Remove 80KB+ from every page while improving conversion signal quality.

Better Smart Bidding

More complete conversion data means better automated bidding. Google sees the full picture — not just the conversions that survive ad blockers.

Supported conversion types

Any event tracked by Datafly.js or sent via the server-side API can be mapped to a Google Ads conversion action.

Conversion TypeSource EventKey Signals
Purchasepurchasegclid, value, currency, hashed email/phone
Leadgenerate_leadgclid, lead value, hashed email/phone
Sign upsign_upgclid, hashed email
Add to cartadd_to_cartgclid, value, currency, items
Begin checkoutbegin_checkoutgclid, value, currency
Page viewpage_viewgclid, page URL, page title
Offline / CRMcustomgclid or hashed email, conversion value, date

Recover every Google Ads conversion

Request a technical walkthrough. We'll show you how much conversion signal your current setup is losing and how Datafly Signal recovers it.