Enhanced Conversions has gone from a recommended best practice to a near-essential setup in 2025-2026. As third-party cookies have degraded and Consent Mode gaps have widened, Google has made Enhanced Conversions the primary mechanism for recovering conversions that standard tracking misses.
Most store owners know they should set it up. Fewer understand what it actually does, whether it will conflict with their existing Shopify tracking, or how to verify it is working. This guide covers all of it.
What Enhanced Conversions Actually Does
Standard Google Ads conversion tracking drops a cookie in the user’s browser when they click an ad, and reads that cookie when the user reaches the thank-you page. If the cookie is blocked, cleared, or was never set (because the user is on a different device or browser), the conversion is not recorded.
Enhanced Conversions takes a different approach. When a user completes a purchase and provides their email address, Enhanced Conversions hashes that email address (using SHA-256, a one-way cryptographic function), and sends the hashed value to Google along with the standard conversion event. Google then matches the hashed email against hashed emails in its own user database — from Gmail accounts, Google logins, and YouTube — to identify which ad click drove the conversion, even without a cookie.
The key properties of this approach:
The email is hashed before it leaves your site. Google never receives the raw email address — only the SHA-256 hash. Hashing is one-way, meaning Google cannot reverse the hash back to the email.
It works across devices. If a user clicked your ad on desktop but converted on mobile with the same Google account email, Enhanced Conversions can match that cross-device conversion where cookie-based tracking would miss it.
It recovers conversions in Consent Mode gaps. When a user declines cookies under Consent Mode, standard tracking is blocked. If that user completes a purchase and their email is hashed and sent, Enhanced Conversions can model that conversion and include it in your data.
The result: more complete conversion measurement, particularly for mobile users, cross-device journeys, and users who declined cookie consent.
How It Interacts With Your Existing Shopify Tracking
The first concern most store owners have is whether Enhanced Conversions will cause duplicate conversions. The answer is: it should not, if set up correctly, but this is worth verifying.
Enhanced Conversions does not create a separate conversion event. It enhances the existing conversion tag by adding hashed customer data to the same hit. The conversion count stays the same — what changes is that more of those conversions can be matched against Google’s user database for better attribution.
What can cause issues:
If you have both a direct Google Ads conversion tag and a GTM-based conversion tag firing on the same thank-you page, you may already have duplicate conversion firing. Adding Enhanced Conversions to one of them does not fix this underlying problem — it just adds hashed data to one of the duplicate signals. Fix the duplication first.
If you use the Shopify Google channel app (formerly Google Sales Channel) alongside GTM, both may be sending conversion signals. Verify you have a single source of truth for purchase conversions before implementing Enhanced Conversions.
Setup Option 1: Via GTM (Recommended for Most Shopify Stores)
If you already have GTM on your Shopify store and your purchase conversion is firing correctly through GTM, this is the cleanest implementation path.
Step 1: Verify your existing purchase conversion tag.
In GTM Preview mode, complete a test purchase and confirm the Google Ads Conversion Tracking tag fires on the order confirmation page with the correct conversion value and order ID.
Step 2: Enable Enhanced Conversions in your Google Ads account.
In Google Ads, go to Tools, Measurement, Conversions. Click your purchase conversion action. Under Enhanced Conversions, toggle the setting on and select “Tag” as the implementation method (since you are using GTM).
Step 3: Create DataLayer variables in GTM for customer data.
Enhanced Conversions needs three pieces of customer data from the order confirmation page: email address, and optionally first name, last name, and phone number. The more customer data you provide, the higher your match rate.
On Shopify, the order confirmation page (thank-you page) has access to customer data. You need to make this data available in the DataLayer.
In your Shopify theme, in the additional scripts section (Settings, Checkout, Order status page additional scripts), add the following DataLayer push before your existing GTM code:
<script>
window.dataLayer = window.dataLayer || [];
window.dataLayer.push({
'event': 'purchase',
'enhanced_conversion_data': {
'email': '{{ checkout.email }}',
'phone_number': '{{ checkout.phone }}',
'first_name': '{{ checkout.billing_address.first_name }}',
'last_name': '{{ checkout.billing_address.last_name }}'
}
});
</script>
Shopify’s Liquid template variables ({{ checkout.email }} etc.) are replaced server-side with the actual customer data before the page is delivered to the browser.
Step 4: Create DataLayer variables in GTM.
In GTM, create DataLayer Variable variables for each field:
- Variable name:
DL - Enhanced Conversion Email, DataLayer Variable name:enhanced_conversion_data.email - Variable name:
DL - Enhanced Conversion Phone, DataLayer Variable name:enhanced_conversion_data.phone_number - Variable name:
DL - Enhanced Conversion First Name, DataLayer Variable name:enhanced_conversion_data.first_name - Variable name:
DL - Enhanced Conversion Last Name, DataLayer Variable name:enhanced_conversion_data.last_name
Step 5: Configure the Google Ads Conversion tag for Enhanced Conversions.
Open your existing Google Ads Conversion Tracking tag in GTM. Scroll down to the Enhanced Conversions section and expand it. Toggle “Include user-provided data from your website” to on.
Select “User-provided data as code” and map each field to the DataLayer variables you just created:
- Email:
{{DL - Enhanced Conversion Email}} - Phone:
{{DL - Enhanced Conversion Phone}} - First Name:
{{DL - Enhanced Conversion First Name}} - Last Name:
{{DL - Enhanced Conversion Last Name}}
Save and publish the GTM container.
Step 6: Verify with a test purchase.
Complete a test purchase using a Gmail address connected to a Google account. In GTM Preview mode, check that the Google Ads Conversion tag fired and that the enhanced_conversion_data variables populated with real values (not undefined).
In Google Ads, go to the conversion action and look at the Enhanced Conversions diagnostics. It takes 24-48 hours for diagnostic data to appear, but you should see match rate data once Google starts processing the hashed emails.
Setup Option 2: Via Shopify’s Google Channel App (No GTM)
If you are not using GTM and your conversions are tracked through Shopify’s native Google integration, enhanced conversions can be configured through the Google channel app settings.
In the Shopify admin, go to Sales Channels, Google. Within the conversion tracking settings, there is an Enhanced Conversions toggle. Enabling it passes hashed customer email data through the native pixel.
This is simpler but less flexible. You cannot control which specific events send enhanced data, and you cannot add additional customer attributes beyond email.
For stores doing minimal technical customization and using Shopify’s standard Google integration, this is a reasonable starting point. For stores with custom conversion setups, multiple conversion goals, or specific attribution requirements, the GTM approach gives more control and visibility.
Setup Option 3: Shopify Checkout Extensibility (New Shopify Stores)
Shopify stores that have migrated to Checkout Extensibility (the new checkout format, required for all new Shopify stores and being pushed for existing stores) cannot use the Additional Scripts section for custom DataLayer pushes — that section no longer exists in the new checkout.
For these stores, the DataLayer push needs to be implemented through the Shopify Web Pixels API, which is Shopify’s supported way to inject custom tracking code into the new checkout.
This requires creating a custom Shopify pixel (done through the customer events section in Shopify admin or via a Shopify app). The pixel has access to checkout event data including the customer email and billing address, which you pass to the DataLayer for GTM to read.
If you are on the new Shopify checkout and not sure which setup applies to you, check Settings, Checkout in your Shopify admin. If you see an Additional Scripts field, you are on the legacy checkout and the standard approach above applies. If you see a Pixel section instead, you are on Checkout Extensibility.
Verifying Enhanced Conversions Is Working
The enhanced conversions diagnostic in Google Ads (under the conversion action settings) shows:
Match rate — the percentage of enhanced conversion events that were successfully matched to a Google account. A match rate above 40% is generally considered good. Below 20% suggests either the hashed data is not being sent correctly or the email format is wrong.
Tag health — whether the enhanced conversion tag is firing and sending data in the expected format. If this shows errors, the implementation has a technical issue to investigate.
Common match rate problems:
Email not hashing correctly. GTM handles the SHA-256 hashing automatically when you use the enhanced conversions field in the tag — you should pass the raw email (not a pre-hashed value). If you are pre-hashing the email yourself before passing it to GTM, you may be double-hashing, which produces an incorrect hash Google cannot match.
Email format issues. The email must be lowercase with no leading or trailing spaces. Shopify’s {{ checkout.email }} variable returns the email in the format the customer entered it. If your customer entered “John@GMAIL.COM”, it should be normalized to “john@gmail.com” before hashing. You can normalize in GTM with a Custom JavaScript variable:
function() {
return {{DL - Enhanced Conversion Email}}.toLowerCase().trim();
}
Empty email field. Guest checkouts without a Google account cannot be matched. A portion of your conversions will always have no match — this is expected. The match rate metric reflects the percentage of conversions where a match was possible and successful.
What to Expect After Implementation
Enhanced Conversions does not instantly add a large number of conversions to your account. The impact is typically a 5-15% increase in reported conversions from cross-device and cookie-blocked sessions that were previously missed. For accounts with high Consent Mode opt-out rates, the recovery can be higher.
More importantly, the conversions Enhanced Conversions recovers are real ones — purchases that actually happened and that previously were invisible to your bidding data. Smart Bidding quality improves when these conversions are included, because the algorithm’s conversion model becomes more accurate.
Give it 4-6 weeks after implementation before evaluating impact. Check the match rate diagnostics after 48 hours to confirm the implementation is working, then let the recovered conversion data accumulate and influence bidding before drawing conclusions about performance impact.
Enhanced Conversions does not replace Consent Mode. Both should be implemented. Consent Mode governs how tracking fires based on user consent signals. Enhanced Conversions provides a privacy-safe mechanism for additional matching within the bounds of what Consent Mode allows. They work together, not as alternatives.
Related Posts
Customer Match and First-Party Data for Ecommerce: The Practical Setup
How to Set Up Google Ads Conversion Tracking on Shopify (2026 Guide)
5 min read
Why Shopify Sales and Google Ads Sales Don't Match: Understanding the Discrepancy
10 min read
Need Help With Your Google Ads?
I help e-commerce brands scale profitably with data-driven PPC strategies.
Get In Touch