Google Ads Enhanced Conversions: The Setup
Enhanced Conversions plus Consent Mode V2. The destination where consent mistakes cost budget directly.
Event setup at a glance
- Browser tag
- Google Ads Tag (gtag.js)
- Server-side API
- Enhanced Conversions via sGTM / API
- Recommended path
- Hybrid: browser + server-side with deduplication
- Deduplication
- Yes, via event IDs
Identifiers
Requiredgclidtransaction_id
Recommended for match qualityem (SHA-256)address (SHA-256)
Event mapping
E-commerce
purchase
Leads
conversion (Lead)
Offline
Offline Conversion Import (gclid)
Consent constraints
- Consent Mode V2 is mandatory; without ad_user_data and ad_personalization Google discards the signals.
- Enhanced Conversions send hashed customer data and only run with marketing consent.
- The CMP has to feed the same signals to the web and server containers.
Consent-aware routing assumed. Privacy fit depends on the concrete setup; the legal assessment stays with your privacy team (legal review required).
Implementation methods
- Conversion tag in GTM Web, Enhanced Conversions via the GTM Server-Side container
- transaction_id from the backend, not guessed from the dataLayer
Debugging checklist
- Google Tag Assistant
- Google Ads diagnostics per conversion action
Common mistakes
- Missing transaction_id, conversions double-count on retries.
- Enhanced Conversions active but Consent Mode V2 signals missing, Google discards silently.
- gclid lost in redirect chains, offline import matches nothing.
Runs on (our setups)
A fit when
- Google Ads carries relevant budget and Smart Bidding needs reliable signals.
- Offline deals should flow back via gclid.
- A server container already exists for GA4 or Meta.
Not a fit when
- Consent Mode V2 is not wired yet; the foundation comes first.
- Conversion volume is too small for Enhanced Conversions to change anything.
What this destination is about
Google Ads is the destination with the hardest consent coupling: since Consent Mode V2, two additional signals decide whether conversions count. Enhanced Conversions lift match quality with hashed customer data and demand a clean consent setup in return.
Our standard is the hybrid path through the server container, with transaction_id as the dedup anchor. How Google sits against Meta, TikTok, and the rest is on the ad platform hub.
For a self-run QA pass: the Consent Mode audit checklist, the CMP QA template, and the consent mapping worksheet.
Sources
- Google Ads help center (accessed 2026-07-03)
- Google Ads API documentation (accessed 2026-07-03)
Related services
Topical context
- Google Ads Enhanced Conversions setup
- Google Ads server-side tracking
- Consent Mode V2 Google Ads
Do your conversions actually arrive in the ads platforms? The Paid Media Tracking Audit settles it.
Request a Paid Media Audit →Do Enhanced Conversions require a server container?
No, but it pays off: hashing and PII control then happen on your infrastructure, and the conversion path survives ad blockers and browser restrictions.
More integrations we work with
- Ads & Conversion APIsTikTok AdsPixel plus Events API with event_id deduplication. Match quality stands and falls with ttclid and hashed identifiers.
- Ads & Conversion APIsLinkedIn AdsInsight Tag plus Conversions API for B2B funnels. The destination where lead events matter more than carts.
- Ads & Conversion APIsCriteoRetargeting lives on product context. OneTag in the browser stays the default path; server-to-server is the exception.
- Ads & Conversion APIsOutbrainNative ads with postback logic. Server-to-server over the click ID is the sturdier path here, not the exception.
- AnalyticsGoogle Analytics 4 (GA4)The web analytics standard with a huge ecosystem. Free including BigQuery export, but consent-dependent and US cloud.
- AnalyticsPiwik PROEU-hosted analytics platform. GDPR-compliant by default, enterprise-ready, and the go-to GA4 migration target for consent-critical setups.