Google Ads
Send server-side conversions to Google Ads via PostHog's Google Ads Conversions destination, matching on gclid or hashed email (enhanced conversions).
Google has several server-side conversion paths. For a lifecycle engine, the one that matters is uploading conversions to Google Ads — matched either by click-id (gclid) or, when the click-id is missing, by hashed first-party data (Google's Enhanced Conversions for Leads). PostHog's Google Ads Conversions destination handles this.
Read the overview first for how identity and dedup work across platforms. This page is Google-specific.
Google Ads Conversions ≠ GA4. This destination feeds Google Ads (for bidding/optimization). If you instead want product analytics in GA4, that's a separate Measurement Protocol destination and a different use case. For ad optimization, you want Google Ads Conversions.
What you need
| Credential | Where to get it |
|---|---|
| Google Ads connection | Authorize PostHog's destination against your Google account (OAuth). Google's developer token is managed by PostHog's integration. |
| Customer ID | Your Google Ads account ID (the 123-456-7890 in the top-right of Google Ads). |
| Conversion Action ID | Create a conversion action in Google Ads (Goals → Conversions → + New, type Import → other data sources). PostHog sends conversions against this action. |
How matching works
Google matches an uploaded conversion to an ad click using, in order of strength:
gclid(orgbraid/wbraidfor app/iOS) — captured by the PostHog browser snippet asgclid/$initial_gclidon the person.- Enhanced Conversions for Leads — hashed
email(and optionally phone/name) when no click-id is available. PostHog hashes these for you withsha256Hex(lower(...)).
Sending both when you have them maximizes match rate. This is why the identity prerequisites matter: capture gclid in the browser, and identify() with email early.
Recommended events
Forward genuine business conversions — purchase, subscription_created, trial_started, qualified_lead. Set the conversion value and currency from event properties so Google can optimize for value, not just count.
Gotchas
- The conversion action must already exist in Google Ads before the destination can attribute to it.
- Attribution windows apply — a conversion uploaded long after the click may fall outside the window and not attribute.
- Google's auth is the heaviest of the ad platforms (OAuth + a real Ads account with a conversion action). Budget more setup time than Meta/TikTok.
- In the EU, respect Consent Mode — only upload conversions for consented users.
Google's reference: Enhanced conversions for leads · Upload via the API.