Enhanced conversions in Google Tag Manager
Configure user-provided data for Google Ads enhanced conversions in GTM: automatic, manual CSS/variables and code methods, with privacy caveats. Nov 2026.
Enhanced conversions send hashed first-party user data (such as email) with your Google Ads conversions to improve matching to signed-in Google accounts. In GTM you enable user-provided data on the Google tag and/or map fields on conversion tags. Done well, match rates rise; done carelessly, you leak PII into the wrong place.
- Confirm the enhanced conversions setting in Google Ads (2026 unified web/leads direction).
- Prefer structured, consented data you already collect on the conversion path.
- Use automatic detection only when the conversion page clearly exposes the right fields.
- Never put raw emails into ordinary GA4 event parameters "for convenience".
Checked 5 November 2026 (CET) against Google Tag Manager Help, Google tag platform developer docs, Google Ads Help, Analytics Help and Meta Business Help where cited. Google Tag Manager, GA4 and Ads UIs change often, so confirm labels in your own accounts. "Our view" marks MentionX opinion. Ledgerline is a fictional company used for illustration.
01What enhanced conversions do
According to Google Ads Help on enhanced conversions with GTM, the feature supplements conversion tags with hashed first-party data using SHA-256 after normalisation. Google matches hashes to signed-in accounts inside protected environments to attribute conversions more accurately.
As of Google’s 2026 Help messaging, enhanced conversions for web and leads have been moving to a single on/off style setting (with migration notes referencing April 2026). Open your Ads conversion settings and follow what the UI shows today rather than older dual-path screenshots.
02Three implementation styles in GTM
Google’s server-side and Ads docs describe three collection approaches:
| Method | How it works | Best when |
|---|---|---|
| Automatic | Google tag detects email-like strings on the page | Thank-you page shows email in HTML |
| Manual (CSS / variables) | You map selectors or GTM variables | Email is in a known DOM node or data layer field |
| Code | You push hashed or raw user data in a controlled object | You want maximum control and consistent formatting |
For GTM marketers, a common pattern is: put email in the data layer only for the conversion event as a dedicated user-provided data variable, not as a general analytics parameter; configure the Google tag / conversion tag to use that user-provided data field per Google’s field names.
03Practical GTM steps (manual / variable path)
- Ensure Conversion Linker and the conversion tag (or GA4 import path) already work.
- In Google Ads, turn on enhanced conversions for the relevant actions and accept terms.
- In GTM, create Data Layer Variables for the fields you will provide (for example
user_emailif engineering pushes it on the conversion event only). - Configure user-provided data on the Google tag settings and/or the conversion tag’s user-provided data section (UI labels vary — follow current Tag Manager fields).
- Use Preview; confirm the conversion still fires; confirm in Ads diagnostics that enhanced conversions are active (may take time to show match metrics).
- Restrict the data layer push to success events; do not push email on every page view.
04Privacy and policy checklist
- Your privacy policy / notice must cover this use.
- Collect only data the user provided to you.
- Do not scrape purchased emails into the tag.
- Honour Consent Mode: if
ad_user_datais denied, tags must respect that (lesson 12). - Minimise fields: email alone often beats shipping full address when you do not need it.
Our view: enhanced conversions are worth enabling for lead-gen and ecommerce teams already collecting email on the conversion path. They are not a substitute for a clean conversion trigger.
05Enhanced conversions vs GA4 user_id
Separate ideas. user_id in GA4 is for logged-in analytics stitching. Enhanced conversions are for Ads matching. Do not casually reuse one configuration for the other without reading both product rules.
06Worked example: Ledgerline
Ledgerline is a fictional accounts-payable software company. Details are illustrative.
Ledgerline’s demo thank-you page displayed "Thanks, alex@company.com". Automatic detection worked in tests but also risked picking up unrelated emails in footers on other templates if enabled broadly. They switched to a data layer field pushed only with generate_lead, mapped manually, and left automatic detection off.
Competitor C enabled automatic sitewide and briefly sent addresses from a blog comment widget into the tag path — caught in QA. Ledgerline added a Preview checklist item: "inspect user-provided data variables on non-conversion pages; must be empty".
Walkthrough
- Read the current Ads enhanced conversions panel for your account.
- Decide automatic vs manual for your thank-you / success experience.
- Implement the GTM mapping on staging.
- Run five conversions; confirm Ads shows enhanced conversions reporting as processing/active.
- Spot-check a non-conversion page to ensure no email variable is populated.
07Troubleshooting
| Symptom | Likely cause | Fix |
|---|---|---|
| Enhanced conversions "no data" | Tag not firing / no email present / consent denied | Preview variables; check consent; confirm Ads toggle |
| Match rate low | Typos, formatting, users without Google accounts | Normalise emails; be patient; improve coverage |
| Email on every event | DL push too broad | Scope push to conversion event only |
| Policy concern | Unexpected fields | Reduce to email; review selectors |
08Hashing and normalisation expectations
Google documents that enhanced conversions hash user-provided data (SHA-256) after normalisation. Your job in GTM is to provide clean inputs (trim spaces, consistent casing where required by the method) and to use Google’s supported configuration paths so hashing happens as designed. Do not invent your own partial hashing scheme unless engineering is following Google’s code examples precisely.
09Leads vs web wording in old playbooks
Internal wikis written before 2026 may still say "enhanced conversions for web" vs "for leads" as separate toggles. Confirm the live Ads UI. Mention the migration in your ops notes so people stop debugging toggles that no longer exist.
10QA without stalking users
Use test emails you control on staging. Never amplify production user PII into Slack screenshots from Preview. Redact.
11Data Manager and offline
Enhanced conversions on the site complement offline / CRM uploads configured through Google Ads Data Manager. GTM does not replace CRM uploads for opportunities closed last month. Think of website enhanced conversions as improving the match on the web action you already fire.
12User-provided data on SPAs
If the email exists only on step 2 of a multi-step form and the conversion event fires on step 4 without the email in the DOM, automatic detection fails. Manual variable / data layer methods win. Brief developers to keep the email in memory and push it with the conversion event (within policy).
13Choosing automatic vs manual
Automatic / tag-based detection works when the conversion page still contains the email (or phone) in the DOM in a recognisable field. Many thank-you pages show only "Thanks, Jane" without the email — automatic then fails.
Manual configuration reads a Data Layer Variable or CSS selector you specify. Prefer data layer for SPAs and multi-step forms where the email is known in JS memory but not printed on the success screen.
14Privacy and retention notes for marketing
Enhanced conversions improve match rates; they do not give marketers a new export of raw emails from Google Ads. Do not promise Sales "we'll pull the emails back from Google". Keep CRM as the system of record for identities.
15Failure modes checklist
| Symptom | Likely cause |
|---|---|
| Tag fires; enhanced diagnostics empty | No user-provided data on page / variable empty |
| Hashing errors in Tag Assistant | Malformed input; empty string hashed; wrong variable |
| Match rate flat after launch | Consent deny rates high; form uses work emails that never match; wrong conversion action |
| Legal pushback | Policy text not updated; DPIA not reviewed |
Fix data path before blaming Google’s match algorithms.
16Try it yourself
Document where email exists on your conversion path today. Pick automatic or manual. Implement on staging only; get a privacy review before production publish.
17Quick quiz
1. Does enhanced conversions send plain email to Google Ads servers?
Answer: Google documents hashing (SHA-256) after normalisation; follow their current implementation so hashing occurs as designed.
2. Can enhanced conversions replace a broken trigger?
Answer: No. The conversion must still fire.
3. Should email be a GA4 custom dimension?
Answer: No — that is a privacy incident waiting to happen.
18What should you check before the next lesson?
- Ads enhanced conversions setting confirmed.
- GTM mapping scoped to conversion events.
- Privacy review noted.
Previous: Google Ads conversion tags. Next: Meta Pixel and CAPI basics. Or return to the GTM for Marketers track. Related: Enhanced conversions and Data Manager.
19Common questions
Required? Improves matching; needs policy/privacy alignment.
Automatic vs manual? Automatic reads the page; manual maps fields; code gives most control.
Replace Consent Mode? No.
Questions people ask
3 answersIs enhanced conversions required?
+
It improves match rates but must follow Google policies and your privacy notice. Confirm legal review for your regions.
Automatic vs manual?
+
Automatic detects emails on the page; manual maps CSS/JS variables; code sends hashed data you control.
Does this replace Consent Mode?
+
No. Consent Mode and enhanced conversions solve different problems.
Sources
- Google Ads Help, Enhanced conversions for web using GTMsupport.google.com
- Google Tag Manager Help, Configure your Google tag settingssupport.google.com
- All accessed 5 Nov 2026.