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:
- How Is the Phone Number Marked Up in HTML?
- Using the Auto Event Tracking Feature of Google Tag Manager
- Testing the Phone Number Click Tracking Event
- Creating a Google Ads Tag for Phone Number Click Conversion Tracking
- Facebook Ads Event Tracking for Phone Number Clicks
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.

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.

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.

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.

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.

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

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.

Since this is a click trigger we will name it as click.
Then click under Trigger Configuration and Choose trigger type as Just Links.

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.

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

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.

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 .*.

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.

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.

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.

(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.)

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.

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.

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.

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.

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.

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.

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.

We will select Website as the conversion to tracked.

Next, we will select the Category as Lead.

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.

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.

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.

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.

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
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.

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.

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.

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

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.

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.

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

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.

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.

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.

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

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.

Summary
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!
I tried the same but it is working on desktop but not on mobile. Any suggestion would be a great help
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.
hard to debug from afar, but maybe create the goal and see if anything comes through? The verify option is based on past traffic, so if there is none, then it can’t validate.