Lixory MediaLixory Media
All articlesTracking

Enhanced Conversions for Shopify: A Practical Setup Guide

Enhanced Conversions recovers sales that cookie tracking misses. What it does, how it fits with your Shopify tracking, three ways to set it up, and how to check it works.

Elvir Likić
Elvir Likić
· 7 min read

Enhanced Conversions has moved from “nice to have” to close to essential over 2025 and 2026. With third-party cookies weakening and Consent Mode leaving bigger gaps, Google now treats Enhanced Conversions as its main way to recover conversions that standard tracking misses.

Most store owners know they should turn it on. Far fewer understand what it does, whether it clashes with their existing Shopify tracking, or how to confirm it works. This guide covers all three.

What Enhanced Conversions Does

Standard Google Ads conversion tracking sets a cookie when someone clicks an ad and reads it when they reach the thank-you page. If that cookie is blocked, cleared or never set (because the buyer switched device or browser), the conversion is lost.

Enhanced Conversions works differently. When a customer completes a purchase and enters their email address, the email is hashed with SHA-256 (a one-way cryptographic function) and sent to Google alongside the normal conversion event. Google matches that hash against hashed emails from its own signed-in users (Gmail, Google accounts and YouTube) to work out which ad click led to the sale, with no cookie needed.

What this means in practice:

The email is hashed before it leaves your site. Google only receives the SHA-256 hash, never the raw address, and hashing cannot be reversed.

It works across devices. If someone clicked your ad on a laptop and bought on their phone using the same Google account email, Enhanced Conversions can connect the two where cookie tracking would not.

It fills Consent Mode gaps. When a visitor declines cookies, standard tracking is blocked. If that visitor buys and their hashed email is sent, Enhanced Conversions can model the conversion and include it in your data.

The outcome is more complete conversion measurement, especially for mobile users, cross-device journeys and people who declined cookies.

How It Fits With Your Existing Shopify Tracking

The first worry is usually duplicate conversions. Set up correctly, it should not cause any, but it is worth checking.

Enhanced Conversions does not create a new conversion event. It adds hashed customer data to your existing conversion tag in the same hit. The conversion count stays the same. What changes is that more of those conversions can be matched to Google users for better attribution.

Where problems come from:

If a direct Google Ads conversion tag and a GTM conversion tag both fire on the same thank-you page, you already have duplicate firing. Adding Enhanced Conversions to one of them does not solve that. It simply adds hashed data to one of two duplicate signals. Fix the duplication first.

If you run Shopify’s Google channel app (previously the Google Sales Channel) as well as GTM, both may be sending purchase conversions. Make sure there is one source of truth for purchases before adding Enhanced Conversions.

Option 1: Set Up Through GTM (Best for Most Shopify Stores)

If GTM is already on your store and purchases fire correctly through it, this is the cleanest route.

Step 1: Check your existing purchase tag.

In GTM Preview mode, place a test order and confirm the Google Ads Conversion Tracking tag fires on the order confirmation page with the correct value and order ID.

Step 2: Turn on Enhanced Conversions in Google Ads.

Go to Tools, Measurement, Conversions and open your purchase conversion action. Under Enhanced Conversions, switch it on and choose “Tag” as the method (because you are using GTM).

Step 3: Push customer data into the data layer.

Enhanced Conversions needs the customer’s email from the order confirmation page, and optionally first name, last name and phone number. The more fields you send, the better your match rate.

Shopify’s order confirmation page has access to this data, so you need to expose it in the data layer. In your Shopify settings (Settings, Checkout, Order status page additional scripts), add this data layer push above 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 replaces the Liquid variables ({{ checkout.email }} and the rest) with the real customer data on the server before the page reaches the browser.

Step 4: Create data layer variables in GTM.

Create a Data Layer Variable for each field:

  • Variable name: DL - Enhanced Conversion Email, Data Layer Variable name: enhanced_conversion_data.email
  • Variable name: DL - Enhanced Conversion Phone, Data Layer Variable name: enhanced_conversion_data.phone_number
  • Variable name: DL - Enhanced Conversion First Name, Data Layer Variable name: enhanced_conversion_data.first_name
  • Variable name: DL - Enhanced Conversion Last Name, Data Layer Variable name: enhanced_conversion_data.last_name

Step 5: Configure the Google Ads conversion tag.

Open your Google Ads Conversion Tracking tag in GTM, expand the Enhanced Conversions section and switch on “Include user-provided data from your website”.

Choose “User-provided data as code” and map each field to the variables you just made:

  • 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 container.

Step 6: Test with a real purchase.

Place a test order using a Gmail address linked to a Google account. In GTM Preview, confirm the Google Ads Conversion tag fired and that the enhanced_conversion_data variables contain real values rather than “undefined”.

In Google Ads, open the conversion action and check the Enhanced Conversions diagnostics. Data takes 24 to 48 hours to appear, after which you should see a match rate as Google processes the hashed emails.

Option 2: Set Up Through Shopify’s Google Channel App (No GTM)

If you do not use GTM and your conversions run through Shopify’s native Google integration, you can switch on Enhanced Conversions in the Google channel app.

In Shopify admin, go to Sales Channels, Google. In the conversion tracking settings there is an Enhanced Conversions toggle. Turning it on sends hashed customer emails through the native pixel.

It is simpler but less flexible. You cannot choose which events send enhanced data, and you cannot add customer fields beyond email.

For stores with little technical customisation that rely on Shopify’s standard Google integration, this is a sensible starting point. For stores with custom conversion setups, several conversion goals or specific attribution needs, GTM gives more control and visibility.

Option 3: Shopify Checkout Extensibility (Newer Stores)

Stores on Checkout Extensibility (the new checkout, required for all new Shopify stores and being rolled out to existing ones) cannot use the Additional Scripts box for custom data layer pushes, because it no longer exists in the new checkout.

For these stores, the data layer push has to go through the Shopify Web Pixels API, Shopify’s supported way of adding custom tracking code to the new checkout.

That means creating a custom pixel (in Customer events in Shopify admin, or through an app). The pixel can read checkout data including the customer’s email and billing address, which you then pass to the data layer for GTM.

Not sure which checkout you are on? Go to Settings, Checkout in Shopify admin. An Additional Scripts field means you are on the legacy checkout and Option 1 applies. A Pixels section instead means you are on Checkout Extensibility.

Checking That Enhanced Conversions Works

The Enhanced Conversions diagnostics in Google Ads (inside the conversion action settings) show:

Match rate: the share of enhanced conversion events successfully matched to a Google account. Above 40% is generally good. Below 20% suggests the hashed data is not being sent properly or the email format is wrong.

Tag health: whether the tag fires and sends data in the expected format. Errors here point to a technical issue in the setup.

Common match rate problems:

The email is hashed incorrectly. When you use the Enhanced Conversions fields in the GTM tag, GTM does the SHA-256 hashing for you, so pass the raw email. If you hash it yourself first, you end up hashing twice and Google cannot match the result.

The email format is wrong. It must be lowercase with no spaces before or after. Shopify’s {{ checkout.email }} returns the email exactly as the customer typed it, so John@GMAIL.COM needs to become john@gmail.com before hashing. A Custom JavaScript variable in GTM handles this:

function() {
  return {{DL - Enhanced Conversion Email}}.toLowerCase().trim();
}

There is no email to match. Guest checkouts without a Google account cannot be matched, so some conversions will always go unmatched. That is expected. The match rate reflects the share of conversions where a match was possible and succeeded.

What to Expect Once It Is Live

Enhanced Conversions does not suddenly flood your account with conversions. The typical effect is a 5 to 15% rise in reported conversions, recovered from cross-device and cookie-blocked sessions that were previously missed. Accounts with high Consent Mode opt-out rates can see more.

More importantly, the conversions it recovers are real purchases that your bidding data could not see before. Including them makes Smart Bidding’s conversion model more accurate, which improves bidding quality.

Allow four to six weeks before judging the impact. Check the match rate after 48 hours to confirm the setup works, then let the recovered data build up and feed into bidding before drawing conclusions.

Enhanced Conversions does not replace Consent Mode, and you should run both. Consent Mode controls how tracking behaves based on each visitor’s consent choices. Enhanced Conversions adds a privacy-safe way to match more conversions within what Consent Mode allows. They work together rather than as alternatives.

Want this applied to your account?

30 minutes. No pitch deck. A clear view of your account and the highest-leverage opportunities.