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.
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:
- Offline Conversion Tracking
- Setting Up a Conversion in Google Ads
- Form Tracking Methods
- Setting Up the User-Provided Data Event Tag
- Conversion Linker Tag Setup
- Testing the Implementation
- Notifying Google Ads About the Conversion
- Upload to Google Ads
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.
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.
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.
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 Settings → Measurement → Conversions.
Click on New conversion action.
Next, we’ll select the kind of conversions we want to track. In our case, it is Import.
Next, select Other data sources or CRMs → Track conversions from clicks. Then, click Continue.
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.
Provide a conversion name, specify the value for the generated conversion, and select how many conversions to count per click or interaction.
Finally, click Create and continue.
Next, we’ll select the method for importing offline conversions.
In our case, we’ll use Uploads. Finally, click Finish.
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.
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.
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.
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 Copy → Copy selector.
Go to your Google Tag Manager account, then go to Variables → New.
Next, click on Variable Configuration → DOM Element.
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.
Let’s provide a name for the variable, then click Save.
Next, follow the same steps for grabbing the email.
Most of the steps and variable configuration should remain the same, with the only thing different being the element selector and the variable name.
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 Tags → New.
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.
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 Settings → Setup.
Next, click on Google tag.
Here, click on Installation instructions.
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.
Going back to GTM, paste the Conversion ID. Next, click on the drop-down menu for the User-provided Data field. Select New Variable.
Select the variables we created for grabbing the user’s email and phone number.
Provide a name for this variable, then click Save.
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.
Next, let’s go to our tag, and click on Triggering.
Click on the + button to create a new trigger.
Go to Trigger Configuration → Form Submission.
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.
Provide a name for this trigger, then click Save.
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.
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.
Go to Tag Configuration → Conversion Linker.
Next, go to Triggering.
We want our tag to fire on All Pages.
Finally, provide a name for the tag, then click Save.
Testing the Implementation
Great! Now, we are ready to see if our implementation of enhanced conversions for leads is working properly.
Click on Preview.
Next, click on Connect.
Fill up your leads form, making sure that the phone number and email fields are filled in, then click Submit.
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.
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.
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.
Provide a version name, then click Publish.
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 Settings → Measurement → Conversions.
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.
This spreadsheet is where you will provide the conversion data. When a user converted, simply provide that data here.
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 Extensions → Apps Script.
Accessing the Google Sheets apps script
On the left side, click on Triggers → Add Trigger.
For the event type, select On change. Next, click on Save.
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.
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.
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.
Back to your enhanced conversions for leads spreadsheet, click on Share.
Paste this email address in the space provided, then click Save.
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.
Select the spreadsheet we just configured, then click on Select.
Finally, click on Save & Preview.
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!