Google Ads can only optimize on the conversions it observes. Consent Mode and Safari's ITP mean it observes fewer of them every year: cookies get capped, and some conversions arrive without anything Google can tie back to a click. Enhanced Conversions closes part of that gap by sending hashed first-party identifiers alongside the conversion. Sending them server-side recovers matches the browser can no longer make.
What Enhanced Conversions is
Enhanced Conversions supplements a conversion with hashed first-party data the customer already gave you. There are two forms: Enhanced Conversions for Web, which strengthens on-site conversions like a purchase, and Enhanced Conversions for Leads, which ties an offline lead back to the ad click. In both, an identifier such as a hashed email is matched against signed-in Google accounts to attribute a conversion that would otherwise be dropped or modeled.
The problem it solves
With Consent Mode and ITP, a share of conversions lose the cookie that connected them to a click. Google then models or discards them. A hashed email or phone attached to the conversion gives Google a durable match key that does not depend on that cookie surviving, so more real conversions are attributed rather than estimated.
How the matching works
You send SHA-256 hashed identifiers: email, and optionally phone, name and address. Google matches the hash against its own account records and credits the conversion to the originating campaign. The plaintext never leaves; only the hash does, which is why the customer data can travel without exposing raw personal information.
Browser gtag versus server-side
| Browser gtag | Server-side | |
|---|---|---|
| Where identifiers are read | In the page | From the order or event |
| Ad blockers | Can block the tag | Cannot block the server call |
| Depends on Consent Mode signals | Yes | Consent resolved before send |
| Data completeness | Whatever the page holds | Enriched from the first-party profile |
| Hashing | In the browser | At the edge, before send |
Sent via gtag, Enhanced Conversions still runs in the browser and inherits its limits. Sent server-side, the conversion is reported from your own server with the identifiers already attached, so a blocked tag or a missing cookie does not cost the match.
Consent Mode and GPC at the edge
Server-side does not bypass consent. Consent is resolved per visitor and per region before anything is built: where consent is absent the event is withheld or limited, and a US Global Privacy Control opt-out switches delivery to a privacy-safe mode. SetRoasFlow enforces this at the edge, then sends Enhanced Conversions from your unified first-party data, so Google recovers conversions it could not observe in the browser without weakening consent.