How do you set up Google Ads Enhanced Conversions Server Side?


The discussion of online data protection has been booming in recent years. With restrictions on third-party cookies, obtaining targeted advertising data is becoming increasingly challenging. Many companies therefore choose to use first-party data. In this context, Google has introduced Enhanced Conversions. We’ll show you how to set up Google Ads Enhanced Conversions Server Side in Google Tag Manager.

What are Enhanced Conversions?

Enhanced Conversions is a feature within Google Ads that improves the accuracy of conversion metrics. It allows advertisers to submit additional data, such as e-mail addresses and phone numbers. This data is hashed via a one-way hashing algorithm (SHA256) to ensure user privacy.

Why Have Enhanced Conversions Launched?

With the elimination of third-party cookies, Google has less access to conversion data. Enhanced Conversions make it possible to move from third-party data to first-party data, reducing Google’s reliance on outside parties.

No Cookies, Yet Data?

Enhanced Conversions work even if a website visitor decides not to accept cookies. By using the “URL pass-through” option, the necessary data can still be sent to Google.

without cookie still data

The Benefits of Enhanced Conversions

Using Enhanced Conversions offers several benefits:

  • It is more privacy friendly
  • Makes campaigns more efficient
  • Provides insight into conversions that would not otherwise be measured.

In addition, it uses first-party data and CRM data for conversions.

Curious about the entire Google Ads SST set up? Then check out the Google Ads Server Side tracking page.

How does Enhanced Conversions respect users’ privacy?

Enhanced Conversions allows otherwise identifiable data to be securely transmitted to Google. Data is secured with a one-way hash algorithm called SHA-256.

The reason the data is hashed is to ensure that Google can only use the data for users who have already created a Google account. If the hashed data we send matches the hashed data of a user that Google already recognizes, Google can aggregate that user’s journey until conversion.

If the hashed data we send does not match the hashed data of a recognized user, Google cannot reverse the hash to obtain the original email address, phone number or address, so the user’s privacy is perfectly maintained.

Enhanced Conversions for Leads and Web

There are two variants of Enhanced Conversions: for the web and for leads. The first focuses on improving online conversions, while the second links offline conversions to online leads.

Enhanced Conversions for Web


  • A user, logged into their Google account, sees your ad.
  • They then visit your Web site via another route and complete a purchase or action.
  • The conversion tag collects user data and sends it to Google.
  • The hashed website data is compared with Google’s data.
  • If there is a match, the conversion can be attributed to your ad.

Enhanced Conversions for Leads

Here’s another example:

  • A user clicks on your ad and lands on your website.
  • After browsing, the user decides to fill out a form to become a potential customer (lead).
  • Details of this lead are saved in your Customer Relationship Management (CRM) system.
  • When the lead converts, you can upload the first-party data to Google.
  • Google then compares the uploaded first-party data with the hashed user data.
  • If there is a match, the conversion can be attributed to your ad.

In this article, we explain how to set up Google Ads Enhanced Conversions for Web Server Side in Google Tag Manager. In this example, we use Purchase as the event, but this could theoretically be done on any event, as long as there is user data.

1. Check Enhanced Conversions Google Ads.

The Enhanced Conversions checkbox must be checked for the event where you want to add this. Within Google Ads, go to Conversions –> Details –> Enhanced Conversions. Make sure the Turn on Enhanced Conversions is checked off.

turn on enhanced conversions google ads

2. Data Layer variable creation (Web Container).

When this is checked we are going to create a Data Layer Variable in GTM. Go to Google Tag Manager Web Container –> Variables –> New. Then give the Variable a name, for example User properties.


3. Data Layer variable setting (Web Container).

Next, select Data Layer Variable as Variable Type by clicking Variable Configuration. Under Data Layer Variable Name, enter the name of the variable you want to read. In a standard GA4 setting, this often refers to user properties, meaning that the data layer contains information about users. In many cases, this is referred to as user_properties. It is important to check, though, because the exact designation may vary.


Example data layer with user properties with data layer information:

    'event': 'purchase',
    'ecommerce': {
        'transaction_id': 'T12345',
        'affiliation': 'Online Store',
        'value': 69.98,
        'currency': 'EUR',
        'tax': 5.00,
        'shipping': 5.00,
        'coupon': 'TESTCOUPON',
        'items': [{
            'item_id': 'SKU12345',
            'item_name': 'Cool T-Shirt',
            'item_category': 'Apparel',
            'item_variant': 'Blue',
            'price': '19.99',
            'quantity': 1
        'user_properties': {
            'email': '[email protected]',
            'phone_number': '+11234567890',
            'address': {
                first_name: 'John',
                last_name: 'Doe',
                street: '123 Lemon',
                city: 'Some city',
                region: 'FR',
                country: 'NL',
                postal_code: '12345',

To be sure how your data layer is structured, you need to test it. Open GTM’s preview mode and run a test to see how the variables in your data layer are named. Test and go to the Event –> Container Loaded –> Data Layer and then check how it looks. This way you can confirm if it is indeed user_properties or if another name is used. Then click Save to save the Variable.

4. Creating User-Provided Data Variable (Web Container).

Once you have created the Data Layer Variable, you must associate it with another variable. Again, create a Variable. Then give it a Name, for example: All user data.


5. Setting User-Provided Data Variable (Web Container).

Under Variable Type, choose User-Provided Data. Then under Type, choose Code and add the Variable you just created here (Step 3) under Data source.


6. GA4 Event Tag (Web Container).

Go to Tags and go to the Event where you want to use Enhanced Conversions. In this case, we use the Purchase event. Haven’t created an event yet? Then check out our blog on how to create e-commerce events in Google Tag Manager.


7. GA4 Event Tag setup (Web Container).

Scroll to Event Parameters and then add user_data here and as Value the variable you just created (step 4). Work in the Web Container is now complete.


8. Conversion Tracking Tag (Server Container).

Next, we need to set up the Conversion Tracking Tag in the Server Container. Go to Tags –> Conversion Tracking Tag. If you haven’t already set these up go to the explanation on Google Ads Conversion Tracking Tag.


9. Conversion Tracking Tag setup (Server Container).

Here you should check the Include user-provided data checkbox. When you click this check mark in Google Tag Manager, you give permission for the data that visitors provide to your website to be forwarded from the server to Google Ads. This allows you to make use of this data in Google Ads.


10. Testing Preview mode

When you want to test Enhanced Conversions Server Side, start by running a Test Event on your website. After activating this event (for example, Purchase), navigate to the Event Data section in Google Tag Manager‘s Preview Mode. Within this data, you search specifically for the term user_data. It is important that the information you see under user_data is displayed correctly as shown in the screenshot below. This confirms that the data is correctly configured and properly submitted to Google Ads. The representation of this data should correspond to the example below.

Ga4 Datalayer

11. Checking Enhanced Conversions in Google Ads.

To check if Enhanced Conversions is working, you can go to Google Ads –> Conversions –> Conversion (purchase) –> Diagnostics. This is where you will then see the status of Enhanced Conversions. Please note that it may take 24 to 48 hours before you see another status here.



Now that you have Google Ads Enhanced Conversions Server Side set up, you have the ability to take your ad campaigns to the next level. This feature, aimed at optimizing conversion metrics, emphasizes first-party data. In doing so, it provides an answer to the complications created by the elimination of third-party cookies.

Frequently Asked Questions

Enhanced Conversions does not work through the server container

Add user_data parameter to GA4 event tag(s) in web container

About the author

Ate Keurentjes

Ate Keurentjes

Server Side Tracking Specialist at TAGGRS

Ate Keurentjes is a Server Side Tracking specialist at TAGGRS. He has experience with various Google Tag Manager concepts. Keurentjes has been editing and writing about the latest developments and trends in data collection / Server side tracking since 2023.

Ready for the next level?

Start with Server Side Tracking and generate more revenue and conversions in a world without third-party cookies.