Enhanced Conversions is Google’s way of matching conversion data to user accounts using first-party data like email addresses, phone numbers, and addresses. When a user converts on your site, this hashed data is sent to Google to improve conversion attribution, especially in a world where third-party cookies are disappearing.
This guide covers the manual data layer implementation method through Google Tag Manager, which gives you the most control and works cleanly with consent mode.
Why Enhanced Conversions Matter
Standard conversion tracking relies on cookies to connect a click to a conversion. When cookies are blocked (Safari ITP, Firefox ETP, user consent denial), that connection breaks. Google reports fewer conversions than actually happened, and Smart Bidding loses signal quality.
Enhanced Conversions solve this by sending hashed first-party data (SHA-256) alongside the conversion event. Google matches this against signed-in user accounts to recover conversions that cookie-based tracking missed. Most accounts see a 5-15% increase in reported conversions after enabling it.
Implementation Options
Google offers three ways to implement Enhanced Conversions:
- Google Tag (gtag.js) automatic: Scans the page for email fields. Unreliable because it depends on form structure and timing.
- Google Tag Manager with CSS selectors: Points GTM to specific form fields. Breaks when the form layout changes.
- Google Tag Manager with data layer (manual): You push structured data to the data layer. Most reliable, most control. This is what we’ll cover.
Step 1: Push User Data to the Data Layer
On your form submission confirmation (thank-you page, or after a successful AJAX form submit), push the user’s data to the data layer:
window.dataLayer = window.dataLayer || [];
window.dataLayer.push({
'event': 'purchase', // or 'form_submit', 'sign_up', etc.
'enhanced_conversions': {
'email': 'user@example.com',
'phone_number': '+1-555-123-4567',
'first_name': 'Jane',
'last_name': 'Smith',
'street': '123 Main St',
'city': 'New York',
'region': 'NY',
'postal_code': '10001',
'country': 'US'
}
});You don’t need all fields. Email alone is enough for most B2B use cases. E-commerce sites benefit from including phone and address for higher match rates.
Step 2: Create a Data Layer Variable in GTM
In GTM, create a new User-Defined Variable:
- Type: Data Layer Variable
- Data Layer Variable Name:
enhanced_conversions - Data Layer Version: Version 2
This variable will capture the entire enhanced_conversions object from the data layer push.
Step 3: Configure the Conversion Tag
In your Google Ads Conversion Tracking tag:
- Open the tag configuration
- Check “Include user-provided data from your website”
- Select “Data Layer” as the source
- Map each field: email, phone, first_name, last_name, street, city, region, postal_code, country
- Each field should reference the corresponding data layer variable path
Google will automatically SHA-256 hash the data before sending it. You don’t need to hash it yourself (though you can if you prefer).
Step 4: Enable in Google Ads
In your Google Ads account:
- Go to Goals > Conversions > Settings
- Expand “Enhanced conversions”
- Turn it on and select “Google Tag Manager” as the implementation method
- Accept the terms
Step 5: Verify
After publishing your GTM container:
- Use GTM Preview mode to trigger a test conversion
- In the conversion tag’s output, look for the “User-provided data” section
- Verify that the hashed email (and other fields) appear
- In Google Ads, check the conversion action’s diagnostics tab after 48-72 hours. It should show “Recording enhanced conversions”
Common Issues
- Data layer push fires after the conversion tag: The data layer push must happen before or at the same time as the conversion event. If the form redirects to a thank-you page, push the data on that page before the GTM conversion tag fires.
- Consent mode blocking the conversion tag: Enhanced Conversions still respect Consent Mode. If
ad_storageandad_user_dataare denied, the tag won’t fire. Make sure your consent implementation grants these for users who accept marketing cookies. - Low match rates: If Google reports low enhanced conversion match rates, it usually means the email format is inconsistent (extra spaces, mixed case). Normalize the email to lowercase and trim whitespace before pushing to the data layer.
Need Help Setting This Up?
Enhanced conversions interact with your form setup, data layer, GTM container, Google Ads account, and consent mode. Getting all the pieces working together takes careful implementation and testing.
Our Conversion Tracking Setup service includes enhanced conversions implementation as part of the Standard and Advanced tiers. We handle the data layer setup, GTM configuration, Google Ads activation, and end-to-end verification.

