TutorialPractitioner7 min read

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.

Dipuck Jones
Written by Founder of MentionX · 13+ years in B2B SaaS growth and SEO
Reviewed
Short answer

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.

Key takeaways
  • 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:

MethodHow it worksBest when
AutomaticGoogle tag detects email-like strings on the pageThank-you page shows email in HTML
Manual (CSS / variables)You map selectors or GTM variablesEmail is in a known DOM node or data layer field
CodeYou push hashed or raw user data in a controlled objectYou 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)

  1. Ensure Conversion Linker and the conversion tag (or GA4 import path) already work.
  2. In Google Ads, turn on enhanced conversions for the relevant actions and accept terms.
  3. In GTM, create Data Layer Variables for the fields you will provide (for example user_email if engineering pushes it on the conversion event only).
  4. 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).
  5. Use Preview; confirm the conversion still fires; confirm in Ads diagnostics that enhanced conversions are active (may take time to show match metrics).
  6. 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_data is 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

  1. Read the current Ads enhanced conversions panel for your account.
  2. Decide automatic vs manual for your thank-you / success experience.
  3. Implement the GTM mapping on staging.
  4. Run five conversions; confirm Ads shows enhanced conversions reporting as processing/active.
  5. Spot-check a non-conversion page to ensure no email variable is populated.

07Troubleshooting

SymptomLikely causeFix
Enhanced conversions "no data"Tag not firing / no email present / consent deniedPreview variables; check consent; confirm Ads toggle
Match rate lowTypos, formatting, users without Google accountsNormalise emails; be patient; improve coverage
Email on every eventDL push too broadScope push to conversion event only
Policy concernUnexpected fieldsReduce 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

SymptomLikely cause
Tag fires; enhanced diagnostics emptyNo user-provided data on page / variable empty
Hashing errors in Tag AssistantMalformed input; empty string hashed; wrong variable
Match rate flat after launchConsent deny rates high; form uses work emails that never match; wrong conversion action
Legal pushbackPolicy 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 answers

Is 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

  1. Google Ads Help, Enhanced conversions for web using GTMsupport.google.com
  2. Google Tag Manager Help, Configure your Google tag settingssupport.google.com
  3. All accessed 5 Nov 2026.
Written and reviewed by Dipuck JonesHow we research and testReport an error