How to Track Phone Number Clicks with Google Tag Manager

Do you want to know more about the leads that are calling your business? Phone number click tracking with GTM can make your marketing campaign more comprehensive. And it is quick and easy to implement. 

In this guide, we will learn how to track a click on a phone number with the help of Google Tag Manager and send this to Google Analytics, Google Ads, or Facebook Pixel

Here’s an overview of what we’ll cover:

So let’s dive in.

How is the Phone Number Marked Up in HTML?

To start with, let’s click on a phone number link to see how it behaves. Here, since I’m on a Mac it has asked me to open FaceTime. For any other device, it would open up your preferred phone app.

A phone number link on the website asks to open FaceTime

Now, Google Tag Manager is just some JavaScript installed on our webpage, we cannot detect whether somebody actually calls the number on their phone. But the next best thing is to know if somebody clicks on the phone number.

On a mobile device, this often translates directly to a phone call. Since this opens up the phone app, this is a link of importance to us. So let’s first look into how this is marked up in the HTML. 

To do this, we’ll go into the Inspect element by right-clicking on the webpage. And we see our phone number in the source code.

The special thing about this phone number is that it has the extension tel in the front with a colon. This extension indicates to the browser that what follows is a phone number and it can be opened in the phone app. 

Tel extension to recognize phone number in a webpage for phone number click tracking

So if you have the same markup on your page, how would you track this with the help of Google Tag Manager?

Using the Auto Event Tracking Feature of Google Tag Manager

Well, tracking a phone number click on Google Tag Manager is possible with the auto event tracking feature of Google Tag Manager. If you’re familiar with click tracking, this would be easy for you. 

Here, we already have the Google Tag Manager installed. We also have a Google Analytics page view Tag that fires on all pages. We’ve named this as GA – Pageview – All Pages.

Summary of Tags fired in the GTM preview mode

Now, we want to fire some additional tags that send data over if somebody clicks on the phone number link. 

Activating the Built-In Variables of Google Tag Manager

For this, the first step is to go to Google Tag Manager and go into the Variables menu to Configure Built-In Variables that we will use. 

Let’s scroll down to the Click variables. Here, we’ll activate all of the Click variables because we want to detect the click.

Activating Built-In Variables in Google Tag Manager

Once we’ve selected the built-in variables they should be all activated. And we can see them under the Variables menu of Google Tag Manager. 

Now if you’re not already in the GTM Preview mode, click on the Preview button. And if you’re in the Preview mode, you can just Refresh it.

Refresh the Preview mode of Google Tag Manager

In the GTM preview mode, under the Variables menu, we should now see the variables that we just activated. 

Variables in the Preview mode of Google Tag Manager

Next up, we want to deploy a click trigger. 

Deploying a Click Trigger

Once we deploy a trigger, we can detect if somebody clicked on the phone number. To do this, go to Google Tag Manager, and under the Triggers menu, click on New. 

Creating a New Trigger in Google Tag Manager

Since this is a click trigger we will name it as click.

Then click under Trigger Configuration and Choose trigger type as Just Links

Choose trigger type as Just Links in Google Tag Manager

For now, we’ll Save the trigger. Again, click on Refresh and go back to our website page.

Once we reload this web page, let’s click on the phone number link so that the click trigger is activated. 

Here, we’re interested to see what happens in the panel menu. So our auto event trigger listens to all the clicks on the page, then forwards this to our tool via Google Tag Manager to register some information. But what information is registered?

To see this, let’s go to Link Click → Variables. In the Variables menu, we can see some of our click variables. This will help us to filter our Tags for clicks that are not on the phone number.

Link Click summary in the preview panel of Google Tag Manager

Now, let us click on the Blog link for example. This would also trigger a Link Click.

Click URL of the Link Click in Google Tag Manager

But we want to make sure that we only pick up our telephone clicks. So let us compare the changes that happen when we click on the phone number link and when we click on the Blog link. 

Well, one unique thing about the Link Click on phone number is the Click URL. For a phone number the Click URL will be always a phone number. 

The same thing is not true for the Link Click on the Blog menu. Here, the Click URL will be quite different. 

Similarly, the Click URL for any phone number will always be unique, even if it is a phone number on the Contact Us page. 

Now the question is: how to configure this filter into our trigger?

Configuring the Click Trigger for Phone Numbers

To configure the click trigger for phone numbers, let’s first head back to Google Tag Manager.

Here, we already have a click trigger. All we need to do is to refine this click trigger to fire only when a phone number is clicked.

Let’s first rename the trigger to click – Phone Number and then we’ll look at the Trigger Configuration. There are two configurations that you can check optionally.

First is the Wait for Tags option. This is an option that would prevent the browser for up to two seconds to be redirected, for example, to the phone app. 

The second option is the Check Validation option. This pertains to the features of JavaScript. It gets triggered only if the link is clicked on successfully.

We don’t need to go into any more detail than that for now. But if you’re curious, you can find out more about these features in the help section which is shown by a question mark. 

Phone Number click trigger configuration in Google Tag Manager with Wait for Tags and Check Validation boxes checked

Once you check these options, you might need to put in a special condition describing when you want to start listening for these link clicks.

And if you use this option, you might want to use it for all pages. So, under the condition, you can put Page Path matches RegEx .*.

Check Validation option for Phone Number click Trigger Configuration in Google Tag Manager

I would urge you to try out these options. But for now, I will leave them unchecked because we need them in our Tags only in special circumstances; when there are false negatives. 

For now, we want to talk about the filter options. Here, we need to select This trigger fires on. The options are All Link Clicks or Some Link Clicks. In this case, we want to fire only on Some Link Clicks.  

Thus, next we need to put our condition for which the trigger fires. We will put the condition as Click URL contains tel:. Here, tel: is a part of the URL and is written before the phone number.

So what we’ve done here is that we’ve looked at our Click variables and found whatever was unique. In this case, it was the Click URL which has the word ‘tel:’ before it. So every time we have it in the URL, we fire our Tag.

Now, let’s click on the Save button. So we have the trigger configured.

Right now, we won’t be able to see anything in the preview and debug mode. And that’s because we have not yet linked the trigger to a Tag. So let’s do this next.

Creating an Event That Fires on Phone Number Clicks

First, go to the Tags menu. Here, we already have a page view Tag that fires on All Pages

But we want an event Tag for Google Analytics that fires on phone number clicks. For this, click on the New button and name the new Tag. Here, we will name this as GA – Event – Phone Number clicks.

Now, click anywhere under the Tag Configuration and Choose tag type as Google Analytics: Universal Analytics.

Choose tag type as Universal Analytics in Google Analytics

Next, choose the Track Type as Event. 

We will then add the Event Tracking Parameters. So, the Category will be Click, Action will be Phone Number, and the Label will be Page Path.

You could change these values around and explore, but make sure to keep them unique to be able to recognize them later on in your reporting.

Adding Event Tracking Parameters for a Google Analytics Tag

We then have to choose where we want to send these parameters. For this example, I already have a variable prepared with our Tracking ID. 

Adding the variable under Google Analytics Settings for Tag Configuration in Google Tag Manager

(However, if you don’t have a variable prepared, you can set it up yourself, or choose to Enable overriding settings in this tag, and add your Tracking ID there.)

Enabling overriding settings in a Google Analytics Tag Configuration

Now we link this to our trigger. If we click anywhere under Triggering, we will see the option to Choose a trigger. We will select the click – Phone Number trigger and  Save this. This will connect our Tag to the trigger.

Choose the Phone Number Click trigger to link it to the Google Analytics Tag

Let us now refresh our preview and debug mode. We then go back to our webpage and refresh it.

Testing the Phone Number Click Tracking Event

Now that we have everything set up, let’s test our phone call tracking event Tag. To do this, let’s click on the phone number. 

This again pops up the Open FaceTime option. Right now, we don’t want to do this. But on the Link Click, we have our event Tag, GA – Event – Phone Number clicks fired. And then GTM sends this over to Google Analytics.

Event Tag for Phone Number clicks is fired in Google Tag Manager

So, we should be able to see this fired Tag in the Real-time reporting in Google Analytics. Let’s go to Real-time → Overview. Here, we can see a pageview.

Overview of Real-time reporting in Google Analytics

And when we go to Real-time → Events, we can see an event triggered. The Event Category is Click and the Event Action is Phone Number

Event Category and Event Action of a phone number click event triggered in Google Analytics

The Event Label will just be a slash because it’s triggered on the homepage.

So again, let’s try this on a different page of the website. Here, when we click the phone number link, the GA – Event – Phone Number clicks event is fired again. 

Also, in Google Analytics, we now have a second Phone Number click. And the Event Label has a different URL because the event was fired from a different page. So, we can see that this is dynamic.   

Events fired in Google Analytics for Phone Number tracking

Now, the only thing that’s left to do is to check the negatives so that the Tag doesn’t fire when you don’t want it to fire. So for example, if we click on the Blog link, no Tags are fired in the Link Click summary. 

We can thus say that our phone call tracking event is working fine in Google Analytics. 

Now, what if we want to fire an event to Google Ads?

Creating a Google Ads Tag for Phone Number Click Conversion Tracking

To track the phone number click conversion in Google Ads, we just need to create a new Google Ads Tag and connect it to the Google Ads Conversions.

To create a Google Ads Tag, go to Tags → New and name the Tag. Here, we will name it as GAds – Conversion – Phone Numbers.

Next, click anywhere under the Tag Configuration and Choose tag type as Google Ads Conversion Tracking.

Choose tag type as Google Ads Conversion Tracking in Google Analytics

Creating a Conversion Action in Google Ads

Now, to configure the Tag, you first need to create a new conversion action in Google Ads. So, go to the settings of your Google Ads account. Here, create a new Conversion under Tools → Measurement → Conversions. 

Create a new Conversion in Google Ads account

We will select Website as the conversion to tracked. 

Select the kind of conversion as Website in Google Ads

Next, we will select the Category as Lead.

Selecting Conversion Category as Lead in Google Ads

Then add the Conversion Name. Under Value, we can select Use the same value for each conversion. For example, we can keep the Value as one euro.

Giving conversion a value in Google Ads Conversion Tracking

Alternatively, we could also use no value. Select Don’t use a value for this conversion action if you don’t want to enter a value.

Now, we want to count every interaction, so for Count  we will select Every. We will keep everything else unchecked and then click on Create and Continue

Counting every interaction for Google Ads Conversion Tracking

To set up the Tag to add to our website, we will select the Use Google Tag Manager option. Here we’ll get our Conversion ID and Conversion Label

Setting up the Tag for Google Ads Conversion Tracking

We will paste this Conversion ID and Conversion Label in our Google Tag Manager configuration. And leave the Conversion Value and Order ID field empty.

Configuring the Google Ads Conversion Tracking Tag in Google Tag Manager

Connecting a Google Ads Conversion to a Trigger

Now, let’s click anywhere under Triggering and Choose a trigger. Here, we have an already set up click trigger named click – Phone Number. We will select this click trigger and then click on the Save button. 

Choose a click trigger for Phone Number tracking in Google Tag Manager

Choose a click trigger for Phone Number tracking in Google Tag Manager

Let’s try this out now. Refresh the preview and debug mode and then go to our web page. 

Now, when we click on the phone number link, we can see that the Google Ads Conversion Tag is also fired along with the Google Analytics event Tag under the Link Click summary. 

Google Ads Conversion Tracking Tag is fired in Google Tag Manager

Now this Tag will only be counted in Google Ads if there is a prior Ad click within the Google Ads system. So we shouldn’t worry that it fires every time. This will only be counted if the user has actually clicked on an Ad before it. 

Let us move to our next tool now: Facebook Ads.

Facebook Ads Event Tracking for Phone Number Clicks

So if you’re a new Ad Manager, you can go to Pixels

Installing Pixels on your website from Facebook Ads

Setting Up an Event in Facebook Pixel

But before you set up a new event, you need to install a new pixel. To do this, go to Set Up → Install Pixel. Here, we will select the option to Manually add pixel code to website.

Install Facebook Pixel to your website by adding the code manually

We can see the base code, which we’ll copy.

Base code to install Facebook Pixel on the website

Usually, we would put this base code into a separate Tag. Here’s a more detailed guide on Facebook Pixel Tracking with Google Tag Manager, which explains all of our preferred methods for the most flexible and powerful Facebook Pixel configuration.

For now, we’re just going to register this one event. 

So let’s create a Tag for the Facebook Ads event in Google Tag Manager. For this go to Tags → New and name your Tag. In this case, we’ll name it as FAds – Event – Phone Number click.

Now, to configure this Tag, we’ll click anywhere under the Tag Configuration and Choose tag type. Since this event is for phone call tracking and there is no Tag template, we will choose Custom HTML as the Tag type.

Custom HTML Tag for Facebook Ads event tracking

We’ll paste the pixel base code as the HTML code. Here, we don’t need the <noscript> Tag, so we’ll remove it. Also, we don’t want to fire a pageview event. So, we’ll remove that part from the code as well. 

fbq(‘track’, ‘Pageview’);

We want to fire a custom event here. So, we’ll go back to Facebook Pixel and go to the next step of Install Pixel, which is Set Up Events. Here, we’ll choose the option to Manually Add Event Code.

Manually add event code from Facebook Pixel to fire a custom event

We can see a list of different standard events. We’ll choose the Contact option and copy the code under it.  

Copying the Contact event code from pixel

We’ll paste this Contact event code in the Facebook Ads event Tag.

fbq(‘track’, ‘Contact’);

Next, we’ll connect our click – Phone Number trigger. 

Connecting a Facebook Ads Conversion to a Trigger

For this, we’ll click anywhere under Triggering and choose this already set up trigger. 

Connecting the phone number click trigger to the Facebook Ads event tracking Tag

Click on the Save button and Refresh the preview and debug mode. 

We can test this out in the Test Events mode of Facebook Pixel. So, we’ll open our website in the Test Events mode.

Open your website in the Test Events mode of Facebook Pixel

This also opens the Google Tag Manager preview mode. Let’s click on the phone number link. This will fire our Facebook Ads Tag as well.

Facebook Ads Tag fires in Google Tag Manager

And in Facebook Pixel, in the Test Events mode, we see the Contact event under Receiving activity.

Contact event fired in the Test Events mode of Facebook Pixel

Thus, we have successfully added our phone call tracking events in various tools. You can add as many tools as you wish to get more information on the phone call tracking. 

For now we’ve just added the major tools here. But once you’ve added all the tools in Google Tag Manager, don’t forget to Submit the version for it to go live to the users.

Until you Submit the version, it will only be implemented in your own browser. Give a Version Name and click on the Publish button. 

Publish a Version in Google Tag Manager


So this is how you can install phone number click tracking with the help of Google Tag Manager.

This way you can track the calls to your website and know how efficient your website conversion is. Collecting this information effectively and accurately will help you get more insights into your leads.

And with this method, you can easily link your phone call tracking to your other campaigns such as the Google Ads Conversions or Facebook Pixel as well.

And don’t worry if you’re new to Google Tag Manager. We’ve got you covered with our beginner’s video course that is available for free!

So have you ever tried tracking the phone calls to your website? Which method do you find useful? Have you linked this to your Google Ads and Facebook Pixel account? Let us know in the comments below!

About the author: Julian Juenemann

Julian started and grew venture-backed startups with his unique 'data first' approach to Online Marketing. He then founded to help marketers, like him, the data-driven way of digital marketing.

Newest Most Voted
Inline Feedbacks
View all comments
Sumit Dewanjee
Sumit Dewanjee
3 years ago

I tried the same but it is working on desktop but not on mobile. Any suggestion would be a great help

Andrew Briggs
Andrew Briggs
2 years ago

Hi Julian, great video much appreciated. Having trouble creating a Goal Event for the events sent to GA using your instructions. I can see the events in GA, but when using Category = Click, Action = Phone Number the goal is not verifying for some reason?

Any help greatly appreciated, and thanks again for the very helpful vid.