Google Ads Enhanced Conversions
Server-side conversions uploaded to your conversion actions - gclid when you have it, hashed email and phone when you don't.
Google Ads is where conversions pay for themselves twice: uploaded server-side they survive ad blockers and iOS, and with Enhanced Conversions the hashed customer email/phone lets Google attribute sales even when no gclid made it onto the order — which is most COD and phone orders.
Connect
- Connect the Google account — Integrations → Google Ads Enhanced
Conversions → Connect Google account. The OAuth grant covers
adwords(this destination) andbusiness.manage(Business Profile). - Customer ID — your Ads account id (
123-456-7890; dashes are fine). Add a Manager ID only when the connected Google account manages that customer through an MCC. - Conversion actions — for each goal you want to receive, paste the
numeric action id from Google Ads → Goals → Conversions → your action.
action_purchaseis the one that matters for most stores. A goal with no action id is simply skipped.
What gets uploaded
A conversion is uploaded when two things hold:
- Its canonical type has an action id configured (e.g.
purchase→action_purchase). - It carries something Google can match on:
gclid(alsowbraid/gbraid) → classic offline conversion. The click-id capture in the WordPress plugin and the PixelFox SDK stores this with the order automatically.- email or phone → enhanced conversion: SHA-256 of the normalised
value, sent as
userIdentifiers, matched on Google's side without a click id.
Events with neither are skipped — Google cannot attribute them, and an upload would count a conversion no campaign can use.
Value, currency and order_id ride along when present; order_id also
deduplicates re-uploads on Google's side.
Match quality notes
- Same normalisation Google documents: email trimmed + lowercased, phone to bare E.164 digits, then SHA-256. Never send a plaintext identifier.
- The event uuid is not sent — Ads has no browser/server dedup the way Meta
does;
order_idis the idempotency key. - A revoked OAuth grant shows as delivery failures on the destination status
card (
token refresh failed) — reconnect to fix.
Developer token
The upload carries PixelFox' platform developer token
(GOOGLE_ADS_DEVELOPER_TOKEN, Basic access is enough) plus the merchant's
OAuth token. Merchants never need their own token or API console access.