MeasureSchool logo
Close this search box.
Close this search box.

Offline Conversion Tracking: Enhanced Conversions for Leads

Last Modified on December 20, 2023

Looking for a way to track offline conversions?

Ads can be an effective tool for increasing sales. However, there are cases where an ad doesn’t directly lead to an online sale as conversions can also happen offline.

Google Ads Technical Audit Checklist

Subscribe & Get our FREE Google Ads Technical Audit Checklist

For such business models, enhanced conversions for leads could come in handy since this feature uses data from your website to measure sales that happen in the offline world. This allows you to have a better understanding of the impact of your advertising.

Since enhanced conversions for leads is a relatively new feature, we’ve broken down the process step-by-step to help you configure offline conversion tracking.

Here is an overview of what we’ll cover:

Let’s dive in!

Offline Conversion Tracking

Let’s set the scene of how conversions can be made offline.

A user is surfing the internet, stumbles upon your ad, then decides to click on it. After browsing your webpage, they submit a lead form.

Later, they go to your physical store and buy a product or get your services delivered – for example, purchasing a car or getting beauty services done.

Offline conversion example

Since your ad resulted in a conversion, you’d need to find a way to import it to your account. By importing offline conversions, you can measure what happens in the offline world after your ad results in a click.

If you’ve already looked into offline conversion imports, then you might have already heard of tracking offline conversions from imports using the Google Click Identifier (GCLID).

This guide will focus on discussing the recently introduced enhanced conversions for leads, which is another way of tracking offline conversions through Google Ads conversion import.

This method is easier than using conversion from clicks using GCLID since it uses information that was already captured in your lead forms to measure conversions.

Compared to the standard version of offline conversion tracking, it does not require you to modify your lead forms or customer relations management (CRM) systems. This allows you to conveniently set up everything without asking a developer for help.

Conveniences in using enhanced conversions for leads

How does it work? A user clicks on your ad and goes to your webpage. After submitting a lead form, the user data will be uploaded to your Google Ads account. 

Later, the same user goes to your store and buys a product or service. For Google Ads to know that this is the same customer, we have to first upload this customer’s data. Google Ads then matches this to existing user data so that the conversion can be recorded.

Technical overview of enhanced conversions for leads

To implement enhanced conversions for leads, you would need to set up your webpage with a lead form, have Google Tag Manager installed on your website, and have a Google Ads account.

Setting Up a Conversion in Google Ads

The first step is to set up a conversion action in your Google Ads account.

Go to Tools and SettingsMeasurementConversions.

Accessing conversions settings in Google Ads

Click on New conversion action.

Creating a new conversion action

Next, we’ll select the kind of conversions we want to track. In our case, it is Import.

Importing data from other sources

Next, select Other data sources or CRMsTrack conversions from clicks. Then, click Continue.

Tracking conversions from clicks

We should then select the goal and action optimization category for this conversion action. The ones of interest to us are the qualified lead and converted lead.

A qualified or interested lead helps track Google-generated leads that have also been further qualified in your CRM.  On the other hand,  converted leads are the leads that have completed a certain step in the lead conversion process – be it a closed dead or a sale.

For our example, let’s consider the offline conversion we want to track to be in-house training. This essentially is a sale, so we select converted leads.

Selecting the converted lead goal optimization

Provide a conversion name, specify the value for the generated conversion, and select how many conversions to count per click or interaction.

Editing the conversion action settings

Finally, click Create and continue.

Creating the conversion action

Next, we’ll select the method for importing offline conversions.

In our case, we’ll use Uploads. Finally, click Finish.

Finishing the creation of the conversion action

Now, we have configured a conversion in the Google Ads account.

Form Tracking Methods

Before proceeding to the next step, let’s go back to our webpage and look at our lead form.

Demo website lead form

For enhanced conversions, we should grab user data, specifically email and phone numbers. While grabbing the email is the preferred way, it would not hurt to grab both.

How do we do that? We have multiple options to choose from: using CSS selectors, a Data Layer variable, or a custom JavaScript variable. For this guide, we’ll go with CSS selectors.

CSS Selector GTM Variable

Let’s start with grabbing the phone number.

After filling up the form with sample data, select the phone number field, right-click, then click Inspect.

Inspecting the phone number form field

This will open your browser’s developer tools in the Elements tab, with the selected element highlighted.

🚨 Note: If you want to learn more on how to grab data from your website, check out our guide on scraping data with Chrome developer tools and GTM.

Right-click on the selected element, then select CopyCopy selector.

Copying the CSS selector of the selected element

Go to your Google Tag Manager account, then go to VariablesNew.

Creating a new variable

Next, click on Variable ConfigurationDOM Element.

Creating a DOM Element variable

As mentioned earlier, we’ll use  CSS Selector, so use this for the selector method. Next, paste the selector we copied in the element selector field, then put a value for the attribute name.

DOM element variable configuration

Let’s provide a name for the variable, then click Save.

Naming and saving the DOM element variable

Next, follow the same steps for grabbing the email.

Grabbing the email form field

Most of the steps and variable configuration should remain the same, with the only thing different being the element selector and the variable name. 

Variable configuration change for the email form field

Setting Up the User-Provided Data Event Tag

We can now proceed with creating our tag for setting up enhanced conversions for leads.

First, go to TagsNew.

Creating a new tag

While there is a Google Ads conversion tracking tag template available, we’ll not be using this tag type, but a different one for offline conversions.

Under Tag Configuration, select Google Ads User-Provided Data Event.

Creating a Google Ads user-provided data event tag

For this tag type, we’ll need to provide the conversion ID. Where can we find it?

Going back to your Google Ads account, go to Tools and SettingsSetup.

Accessing the Google Ads setup settings

Next, click on Google tag.

Accessing the Google tag settings

Here, click on Installation instructions.

Opening the installation instructions for the Google tag

Go to the Install manually tab. The conversion ID can be obtained by copying the numeric portion from the line of code for the Gtag config.

Copying the conversion ID

Going back to GTM, paste the Conversion ID. Next, click on the drop-down menu for the User-provided Data field. Select New Variable.

Configuring the Google Ads user-provided data event tag

Select the variables we created for grabbing the user’s email and phone number.

Selecting the created email and phone variables

Provide a name for this variable, then click Save.

Naming and saving the user-provided data variable

Next, we’ll set up a trigger.

Let’s look at our form one more time. Our form is located on the contact us page. Copy this part of the URL.

Leads form on the contact us page

Next, let’s go to our tag, and click on Triggering.

Applying a trigger to the tag

Click on the + button to create a new trigger.

Creating a new trigger

Go to Trigger ConfigurationForm Submission.

Creating a form submission trigger

Since we only want to track our leads form, we should set our trigger to only fire on Some Forms where the Page URL contains contact-us.

Form submission trigger configuration

Provide a name for this trigger, then click Save.

Naming and saving the form submissions trigger

Note that this process may be different for you. These are the selectors that we have and you might see something else, so this process may not be the best solution for you.

In that case, you may have to ask a developer to adjust those variables or provide new ones which you can then work with. The same goes for the triggers to use for these events.

While there are times that this may not work, this process still provides a universal solution that should work in most cases.

Let’s finish the tag creation by providing a name for it and clicking Save.

Naming and saving the user-provided data event tag

Conversion Linker Tag Setup

We are almost done with our implementation of enhanced conversions for leads. Another very important thing we need to set up is the conversion linker tag.

It is fundamental to have this set up because this is exactly the way a Google Ads click can be identified. Conversion linker tags are used to help tags measure click data so that conversions are measured effectively.

Click on New to create another tag.

Creating another tag

Go to Tag ConfigurationConversion Linker.

Creating a conversion linker tag

Next, go to Triggering.

Creating a trigger for the conversion linker tag

We want our tag to fire on All Pages.

Selecting all pages trigger

Finally, provide a name for the tag, then click Save.

Naming and saving the conversion linker tag

Testing the Implementation

Great! Now, we are ready to see if our implementation of enhanced conversions for leads is working properly.

Click on Preview.

Previewing the created tags

Next, click on Connect.

Connecting the Tag Assistant to your site

Fill up your leads form, making sure that the phone number and email fields are filled in, then click Submit.

Filling up the leads form

Let’s go to the Tag Assistant and see if the tag fired successfully.

Checking the Form Submit event, under Tags, we should see our enhanced conversions for leads tag.

Enhanced conversions for leads tag in the Tag Assistant

Seeing this tag here is a good sign, which means that the tag is working properly.

Next, if we check on the Variables tab,  we should see our DOM element variables for the phone number and email, as well as the user-provided data variable.

DOM element and user-provided data variables in the Tag Assistant

If you are seeing the tags and variables in the Tag Assistant, then well done! You managed to configure everything correctly.

Let’s go back to Google Tag Manager and publish our container.

Click on Submit.

Submitting a live version of the tags

Provide a version name, then click Publish.

Providing a version name and publishing the container

Notifying Google Ads About the Conversion

Great! We are now sending user data to Google Ads.

Now, whenever a user goes to your store and makes a conversion, what should you do to record this on your Google Ads account?

This brings us to the last step of our setup.

Go to your Google Ads account and click on Tools and SettingsMeasurementConversions.

Accessing conversions settings

What we would like to do now is to import conversions from ad clicks into Google Ads. For this step, we’ll use a Google Sheets template specifically configured when you’re doing scheduled uploads using the enhanced conversions for leads method.

When you click on the link, you’ll be prompted to Make a copy of the template.

Making a copy of the Google Sheets template

This spreadsheet is where you will provide the conversion data. When a user converted, simply provide that data here.

Providing conversion data in the enhanced conversions for leads template

Once you provide your data, it is extremely important to hash it. Remember that you have to send hash data using the SHA-256 encryption method.

SHA 256 Encryption Method

SHA-256 stands for Secure Hash Algorithm 256-bit and it’s used for cryptographic security. Cryptographic hash algorithms produce irreversible and unique hashes.

A good thing about this template is that it makes this process extremely easy. 

Simply go to ExtensionsApps Script.

Accessing the Google Sheets apps script

Accessing the Google Sheets apps script

On the left side, click on Triggers Add Trigger.

Adding a new autoHash trigger

For the event type, select On change. Next, click on Save.

Creating a trigger that fires whenever a change is made on the sheets

You will then be asked to select your Google account and allow some permissions.

Upload to Google Ads

You should see that the data in the email and phone number columns are now hashed.

Hashed email and phone number data

Now every time you put data in this spreadsheet, the data will be automatically hashed. Since the data is now hatched, we can now send over this data to Google Ads.

In Google Ads, go to Uploads Schedules. Then, click on + to add a new source.

Adding a new conversions upload source

Select a source. In our case, it’s Google Sheets. Click on Link an existing Google Sheet. This causes a message containing an email you should share the spreadsheet with to appear. Copy this email address.

Connecting your spreadsheet to Google Ads

Back to your enhanced conversions for leads spreadsheet, click on Share.

Sharing the Google sheet

Paste this email address in the space provided, then click Save.

Sharing the spreadsheets access

Let’s return to Google Ads. 

Select the recommended frequency of Every 24 hours and a time for when to upload your conversions. Then, click on Link an existing Google Sheet again.

Selecting how often and when to upload the conversions

Select the spreadsheet we just configured, then click on Select.

Selecting the spreadsheet of enhanced conversions for leads

Finally, click on Save & Preview.

Saving the upload schedule for the offline conversions spreadsheet


What are enhanced conversions for leads?

Enhanced conversions for leads is a feature that uses data from your website’s lead forms to measure offline sales or conversions. It eliminates the need to modify your lead forms or CRM systems and provides a convenient way to track offline conversions.

How do I set up offline conversion tracking using enhanced conversions for leads?

The process involves setting up a conversion action in Google Ads, configuring form tracking methods to capture user data, setting up a user-provided data event tag in Google Tag Manager, and implementing a conversion linker tag. You also need to notify Google Ads about the conversions by uploading the data using a Google Sheets template.

What is offline conversion tracking?

Offline conversion tracking allows you to measure sales or conversions that occur offline, such as in physical stores or through other offline channels after a user interacts with your online ads.

How do I set up a conversion action in Google Ads?

To set up a conversion action, go to Tools and Settings in your Google Ads account, navigate to Measurement and then Conversions. Click on “New conversion action” and follow the prompts to define the type of conversion you want to track, set the goal and action optimization, and specify the conversion settings.

How can I test if my implementation of enhanced conversions for leads is working?

You can use the Preview and Tag Assistant features in Google Tag Manager to test if your tags are firing correctly and if the variables are capturing the user data. The blog post provides step-by-step instructions for testing the implementation.

Can I use the GCLID method for offline conversion tracking instead of enhanced conversions for leads?

Yes, the GCLID method, involves tracking offline conversions using the Google Click Identifier. However, enhanced conversions for leads is a newer and more convenient method that doesn’t require modifying lead forms or CRM systems.


Well done! We have successfully managed to set up offline conversion tracking using enhanced conversions for leads.

We’ve covered an overview of how offline conversion tracking works, setting up a conversion action in Google Ads, using CSS selectors to grab our form elements, setting up user-provided data event and conversion linker tag, and uploading conversion data to Google Ads.

Did you know that Google rates your ads and that this score can affect how much you pay for your ads? If you want to reduce your advertising cost without decreasing your impressions and conversions, then check out our guide on how to improve your quality score in Google Ads.

Have you tried to implement offline conversion tracking using the GCLID? Which method do you think is better? Let us know in the comments below!