Google Ads · Enhanced Conversions

Google Ads can only optimise what it receives

Smart Bidding learns from your conversions. When the browser loses some of them, the algorithm does not see a lower number. It sees clicks that earned nothing, and it stops buying them. Trackful sends the conversion from your server, with the original gclid and hashed identifiers.

POST Data Manager API · ingestEvents
{
"event":"purchase"
"user": {
"gclid":"Cj0KCQjw…9wEALw_wcB"
"hashed_email":"sha256:8f4e…c1a"
"hashed_phone_number":"sha256:2b7d…e90"
"hashed_first_name":"sha256:91af…33c"
"hashed_street_address":"sha256:4c08…7b5"
"postal_code":"75011"
"country_code":"FR"
},
"properties": {
"conversion_value":84.90
"currency_code":"EUR"
"order_id":"#1175"
}
}
SHA-256 hashedclick identifiersent as-is
What Trackful actually sends to Google for one order.

The problem

Where conversions disappear between the click and the sale

None of these losses surfaces as an error. The conversion is simply missing.

The gclid does not survive the journey

The click lands with a gclid in the URL. Between the product page, the cart and checkout it has to survive domain changes, redirects and a browser that limits storage. If it is gone by the time the order is placed, Google cannot attribute the sale to any ad.

The tag never fires

Ad blocker, privacy extension, tab closed before the thank-you page, a third-party script that throws and breaks the chain. The browser-side conversion tag has many reasons not to fire, and none of them shows up in your reports.

No identifiers, no recovery

Enhanced Conversions exist precisely to find a customer when the click is no longer identifiable. That requires sending hashed email and phone. An upload carrying only the gclid has no safety net.

Match keys

What Google accepts, and what we send

Every extra key raises the odds of matching the sale. All personal data is hashed on your server, before anything leaves for Google.

gclid, gbraid, wbraid
Google's three click identifiers, in priority order. gbraid and wbraid replace the gclid on iOS when user tracking is restricted. Many integrations handle only the gclid and therefore lose the affected iOS traffic entirely.
hashed_email, hashed_phone_number
Normalised, then SHA-256 hashed. The phone is put in E.164 using the buyer's actual country: assuming a default country produces a wrong number, so a hash that matches nobody.
hashed_first_name, hashed_street_address
Address strengthens matching when neither the click nor the email is enough. Postal code and country go unhashed, as Google specifies; name and street are hashed.
conversion_value, currency_code
Currency is never assumed, it is read from the store. A dollar order labelled EUR distorts tROAS and makes Smart Bidding overbid on inflated values.

Google's rules

Constraints we respect on your behalf

These come from Google's documentation, not from our assumptions.

Consent required for identifiers

Consent Mode v2 requires ad_user_data. If it is denied, Trackful sends no personal data at all. If consent is unspecified, the upload is limited to click identifiers. The visitor's choice is enforced server-side, not only in the browser.

Upload window

A click conversion stays acceptable for roughly 90 days after the click, and a value adjustment for roughly 54 days after the conversion. Trackful checks event age before the call instead of sending a batch destined to be rejected.

Accepted is not recorded

A success response only proves Google received the request. The Trackful dashboard separates what was sent from what Google actually recorded, because treating those as the same thing means flying blind.

Setup

Connected in minutes

  1. 1

    Authorise Google Ads

    One-click OAuth. No key to copy, no account ID to hunt for in a dashboard.

  2. 2

    Pick the account

    Trackful lists the accounts you can access and creates the conversion action if it does not exist yet.

  3. 3

    Verify, then switch on

    Send a test conversion, confirm Google received it, then leave the channel running.

Read the Google Ads documentation

Questions

Frequently asked

Do I have to remove my existing Google Ads tag?

No. Trackful sends the server-side conversion using the same event identifier as the browser tag, which lets Google collapse the duplicate. If a competing tag already sends the same conversion without a shared identifier, Trackful flags it rather than letting double counting settle in.

What happens when a visitor declines advertising cookies?

Nothing is sent for that visitor. Consent Mode v2 is enforced server-side: ad_user_data denied means no personal data leaves, and unspecified consent limits the upload to click identifiers.

Do Enhanced Conversions work without a gclid?

Yes, that is the whole point of them. When the gclid is lost, Google attempts the match from hashed email and phone. That is why Trackful always sends the maximum set of available keys rather than the bare minimum.

Is my customer data sent in the clear?

No. Email, phone, name and street are normalised then SHA-256 hashed on your server. Google never receives the original value, and Trackful does not keep those values in the clear.

Trackful is not affiliated with or endorsed by Google. Google Ads is a trademark of Google LLC, referenced here to identify the service Trackful sends your conversions to.

Stop paying for results you cannot measure

Every day without Trackful is a day you make ad decisions with only 60% of the data. Install Trackful in 5 minutes and see the difference.

14 days free
No credit card
No developer
30-day guarantee