top of page
  • Writer's pictureAlfred Simon

Enhanced Conversions for Leads Setup with GTM - Step-by-step Guide

Updated: Jul 30, 2023

The recent changes in the Google Ads world make it difficult for Lead generation clients to reduce spam leads, get quality leads, and even more to scale the business.

To successfully use Performance Max campaigns and Broad match type keywords in a Lead gen account, you need to tell Google which lead was good and which was....well, sh*t.

But how can you do that?

Importing offline conversions back to Google is one solution, but implementing it can get technical and is not possible in every situation.

Enhanced Conversions for Leads can be a great solution, and the implementation is much easier.

Let's jump right into the tutorial.

No time for reading it? Watch the video tutorial!


Table of contents


What do you need to be able to implement this?

  1. Access to the Google Ads account where you want to use it (Standard access)

  2. Access to the Google Tag Manager account (Publishing rights)

  3. Ability to make test leads

If all of the above is available, then let's start the fun part :)

1.Setting up everything in the Google Ads account

1.1 Creating the Enhanced Conversion event in Google Ads

First, you must create a new conversion event in the Google Ads account.

Click on Tools & Settings and then on Conversions.

Google Ads Conversion

After that, click on the big blue button (see below) + New conversion action.

Create a Google Ads Conversion action

You will have 4 options; select "Import". After that, you will need to choose Other data sources or CRMs and then Track conversions from clicks.

Create offline conversion action

1.2 Configure the conversion

You will be given the option to select the goal category for this conversion action. There is a bunch of options, but you have to focus on 2:

Choose Goal category

  • Qualified lead - I would choose this one if you import back leads that can become a sale.

  • Converted lead - You will need this option to import back leads that became a sale. Leads that already made you money!

The choice will depend on the strategy that you want to use. In this case, I went forward with the Converted leads.

The rest of the choices are straightforward. But here is an explanation for some of them that need to be clarified:

  • Value - You tell Google how valuable this conversion is compared to others in the account. (Only applicable if you use value-based bidding)

    • Use the same value - Every conversion will be the same value. You can set the value manually. Probably the best choice for lead gen

    • Use different values - You can use this if you store the value of the sale in your CRM, and you can import this back. In this case, use this.

    • Don't use value - I recommend attaching some value to the conversion. But if you don't want to, this is your option.

Click-trough conversion window - The time between the ad click and when the conversion happened. If someone clicks on your ad on the 1st day of the month, leaves the site, comes back on the 30th day, and converts, you will need a 30-day window to record that click as a conversion. Since we will import offline conversions, I would go for the max window (90 days). A lead often needs a long time before it ends up as a sale.

See my choices here:

Setup Offline Conversions Action Google Ads

1.3 Select import method

The last thing is to select an import method. Select Enhanced Conversions for Leads and accept the Customer data terms (if you haven’t already).

Note: The above mentioned option is not showing up in all accounts. Don’t panic. It will still work as it needs to. Then just select the import method mentioned below.

For the import method select Uploads.

Select offline conversion import method

Now everything is ready in Google Ads. Next, let's move on to the Google Tag Manager part.

2. Creating the GTM variables for the User-Provided Data Event tag.

2.1 Capture the e-mail from the form

This step can be done in 2 ways. You can read the value directly from the form (it's possible in most situations) or use a custom dataLayer event. This is a lot more technical, and you will need a developer.

I present the first method here, but I will also show a dataLayer event so you have an example.

Go to the form you want to track and fill in the e-mail. Right-click on it and then select Inspect. The source code will highlight that element to you (see the shadow on the screenshot). Right-click on that element, select Copy, and then Copy selector.

Find the right CSS selector

If you used the custom dataLayer event method, you would need an event like this:

Custom dataLayer event example

In this case, your variable would be eventModel.form_email.

If you want to learn more about the dataLayer variables, here is a great source.

2.2 Create a variable that captures the e-mail from the form

In your GTM account, go to the Variables and create a new one.

Create GTM variable

You will need the variable type DOM element.

You must select Data Layer Variable if you used the custom event.

Select GTM variable type

From the dropdown menu, select CSS. Then, paste the CSS element we copied in the previous step in the field Element Selector.

Configure GTM varaible

All that's left is to name it and save it.

2.3 Create the User-Provided Data variable

Create a new variable again, but choose User-Provided Data as the variable type. It will be somewhere near the bottom of the list.

Create User-Provided Data Variable

The next step is to configure this variable. Select Manual configuration, and under the E-mail field, add the variable we created in step 2.2.

Name it and save it. We will use it in a second.

3. Creating the User-Provided Data Event tag.

3.1 Find your Google tag ID.

When we create the tag, you will need to fill in the Google tag ID. So let's quickly go back to the Google Ads account to grab it.

In the Google Ads account, navigate to Tools and Settings, and under the Setup, select Google tag.

The ID will start with AW, but you only need the numbers. You don't need the AW. In my case, the number I will use is 10912821269.

Find the Google ID Location

3.2 Create and configure the new tag

Navigate to the Tags menu and create a new tag.

Create a new GTM Tag

In the list, look for the Google Ads User-Provided Data Event tag.

Create a new User-Provided event Tag

Now let's configure this tag. The Conversion ID is the ID we copied in the previous step. As the User-provided Data, we will use the variable we created in step number 2.3.

Configure Event Tag

3.3 Select the right trigger (step 3 in the screenshot above)

If you need more info about how triggers work in Google Tag Manager, I recommend reading this article.

You can also watch this video to learn more about all the elements we used here.

When the user sends the form, you must fire the tag when the e-mail is still available.

In most situations, this setup won't work if you fire the tag on the Thank you page.

Look for the following options:

  • Form Submission event (there is a standard trigger for it in GTM)

Form Submission GTM Event

  • When they click on the submit/send button.

  • When the form is sent, check if any other dataLayer event is pushed to the dataLayer. In my case is the lead event.

dataLayer event for form_submit

Pro tip: Make a few test leads in GTM Preview mode and observe what events are sent to the dataLayer when the form is sent.

4. Test, test, and fine-tune the whole setup

In GTM, we can test the changes made. It's called the Google Tag Manager Preview mode. A super handy tool and I recommend using it every time before publishing a new container version.

If you need more info, read this blog.

Click on the Preview button and let's make a test lead action.

Preview GTM Changes

Fill in the form you want to track and observe what happens in the dataLayer. As you can see in my case, the dataLayer event called "lead" is pushed to the dataLayer.

This event triggers the tag which we just set up.

Make a test lead action event

If you also see your tag there, click on it. In the top right corner, you have an option Display Variables as you select the option Values.

You will see the e-mail you just used during the test if you did everything right.

The result of the GTM preview test

If this is the case, then congratulations! The setup worked, and you implemented Enhanced Conversions for Leads.

The only thing left for you is to give it some time to gather data.

If it didn't work, see some of the following tips.

5. Troubleshooting

If it didn't work as expected, there are a few things you can check to troubleshoot the issues. Here are a few situations that you might encounter.

  • The tag didn't fire.

You probably have a problem with your trigger in this situation, so start looking there first. Things you want to check:

  • Test a different trigger.

  • The trigger you are using is not set up correctly. Check the setup and make sure it's good.

  • The tag fired, but the e-mail is empty or has null as a value.

In this situation, you need to check the following:

  • Check the CSS Selector and make sure it captures the e-mail address.

  • Check the trigger and ensure the tag is fired at the right moment. The e-mail needs to be available when the tag is triggered.

If you are 100% sure that the CSS selector is good, then you are firing the tag at the wrong moment. In that case, focus on the trigger.

6. Conclusion

It might look like a lot, but trust me, it's pretty easy to implement. If you know the basics of GTM, this tutorial is easy to follow, and you will be done in no time.

It might take a bit longer if you are a GTM beginner, but feel free to contact me or comment on this if you need help.

I'm 100% sure that if you want to improve the lead quality of the Performance Max campaigns or leverage the power of Broad match in your lead gen accounts, this can help you a long way.

Feeding the bidding algorithm with quality data is a must if you want to be successful.

Have a good one,


1,257 views3 comments

Recent Posts

See All


Apr 24, 2023

Hi. I think your blog is missing a video. A lot of useful information and it's really long to read. It's good that you attached screenshots, but alternatively, you could make a recording of your screen. Visit this site, you will learn more about it.

I hope you continue to make posts about useful things!

Alfred Simon
Alfred Simon
Jul 30, 2023
Replying to

Hi Oliver, I had a really busy period, so had not much time to work on it, but here is the video version: I'm open for feedback! :)

bottom of page