Signals Docs
Destinations

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

  1. Connect the Google account — Integrations → Google Ads Enhanced Conversions → Connect Google account. The OAuth grant covers adwords (this destination) and business.manage (Business Profile).
  2. 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.
  3. Conversion actions — for each goal you want to receive, paste the numeric action id from Google Ads → Goals → Conversions → your action. action_purchase is 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. purchaseaction_purchase).
  • It carries something Google can match on:
    • gclid (also wbraid/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_id is 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.

On this page