Site icon Redfly Online Marketing, Dublin, Ireland

A Comprehensive Guide To Tracking Google Ads Call Conversions Using Google Tag Manager

Earlier this month, Google released a much needed tracking feature in Google Ads. Website Call Conversions. We’ve been playing with it in beta for quite some time and I’m surprised that it didn’t get much fanfare. Google effectively destroyed the Google Ads call tracking industry. We have clients who, overnight, saved thousands of dollars/euros a day in call tracking fees. If you speak to your customers by phone at any stage of the buying cycle, you need this. This is not Google Ads call extensions (although they are required, see below) or click to call; this is actual call tracking.  So how does it work? Easy. Wherever your phone number appears on your website, Google will display that phone number as normal. However, if that visitor came from Google Ads, Google will replace that number with a custom number that it ties to the visitor (and keyword/ad combination). Google then forwards that number on to your regular number. So how do we set this up? Surprisingly, there has been a lot of confusion over this. In this article, I’ll go through each step and then show you how to implement this manually or by using Google Tag Manager (because who’s not using GTM these days?).


The tracking phone number or “the forwarding number” is displayed anywhere you place the code to dynamically generate it. Think of it as a magic widget. You copy and paste the widget code that Google provides and wherever that code is placed, the tracking number displays. If the user didn’t come from Google Ads, your default number displays.  There are some occasions where the number will not display however.

These have caused some confusion. The first is pretty obvious, dynamic numbers won’t be displayed on the Google display network. Also, if your visitor doesn’t click on an Google Ads ad, they won’t see it. Finally, if your ad doesn’t receive an undisclosed minimum traffic volume during a 4 week period, it wont show either. This brings us to the most important point of this article.


This has caused a lot of confusion, even with myself. You can’t just set up the “dynamic number” on your website, it needs to have a call extension or a click to call extension associated with it. After hours of frustration when first setting these up, and official confirmation from within Google, this actually makes sense. If you don’t associate the call conversion with a call extension, you are likely to get a fragmented visit. So, with all that in mind, let’s get to the setup.


Before you will even be able to see the call conversion in your account conversions section, you need to add at least one call extension. If you don’t have any call extensions yet, you won’t see the call tracking conversion option that we’ll need later on. If your business takes phone calls, you’re crazy not to be using call extensions anyway so now is a good time to start. You can either create a new call extension or edit any existing one. Go to any campaign and select the extensions tab. Click the red “+Extension” or edit an existing call extension. You should see this. It’s vitally important that you do this once, that you select the “A Google Forwarding Number” in the “Show my ad with” option and that you enter your country and your business phone number and not the country of your target audience. Many hours have been wasted trying to get call tracking working because the necessity of this step is not documented by Google (that I could find). I’ve just saved you a lot of frustration! Here’s a quick walkthrough.

Get the Flash Player to see this Google Ads tutorial about building your keyword list.


So now we can get down to the real meat of the setup. The next step, we need to set up the actual conversion event in the conversions section of your Google Ads account. This is done exactly like you would any other type of conversion. In your Google Ads account go to Tools ->Conversions and click the red “+ CONVERSION” button to create a new conversion. As the conversion name type “Calls from website” and select “Calls to a Google forwarding number on your website” as the source and click the “Save and continue” button. On the next screen, select a conversion value, window, category and call length and click “Save” Select “I make changes to the code” and copy the generated code. Keep the code handy, you’ll need it soon. Obviously these options are custom to your business and your business needs. If you’re selling insurance, a converted phone call might be a minimum of 5 minutes to you. If you’re selling a phone directory service, a 20 second call might be all you need. Likewise with the value of the conversion here. This is up to you and how you determine the value of a call. I would encourage you to enter something real here. Don’t use “1” or leave it blank. Work out the average value of each of your phone calls or use a points based system. Like other Google Ads conversion values, this too can be populated dynamically using either server side scripting or Google Tag Manager. I wont be covering that in this article.


So now onto the real magic. This can be a little bit challenging. ***bonus*** As long as the demand isn’t too high and as long as you’ve made an effort yourself, we’ll assist, for free, anyone who needs this part done for them. Just get in touch. From here you have two options: If you are not using Google Tag Manager you need to copy the javascript code you generated in step 2 above and put it into your website <head> tag, enclosed in a <script></script> tag.

(function(a,e,c,f,g,b,d){var h={ak:"996234153",cl:"RguGCL6AgVYQqaeF2wM"};a=a||function(){(a.q=a.q||[]).push(arguments)};a[f]||(a[f]=h.ak);b=e.createElement(g);b.async=1;b.src="//";d=e.getElementsByTagName(g)[0];d.parentNode.insertBefore(b,d);a._googWcmGet=function(b,d,e){a(2,b,h,d,null,new Date,e)}})(window,document,"_googWcmImpl","_googWcmAk","script");

You also need to add the following javascript to your <body> tag: onload=”_googWcmGet(‘number‘, ‘X-XXX-XXX-XXXX’)” (where the X’s represent your regular/default office number) so it will look like below. Remember, “number” is the class of the element that holds the phone number in the html code like <span class=”number“>X-XXX-XXX-XXXX</span>.

<body onload="_googWcmGet('number', 'X-XXX-XXX-XXXX')">

If you are using Google Tag Manager, things are a little trickier but well worth putting in the effort to configure. It is assumed that you have the Google Tag Manager code snippet added to all pages on your website. Using this method, you don’t have to edit the code on your site at all. You’ll need to follow the below instructions exactly.

  1. Log into Google Tag Manager
  2. In the Google Tag Manager UI, create a new Custom Html tag and name it “Call from website”
  3. Set the firing rule to “All pages”
  4. Paste the javascript code you generated in step 2 above into the HTML text area enclosed in <script></script> tag. –
  5. Before the closing </script> tag add the following javascript: jQuery(document).ready(function() { _googWcmGet(‘number’, ‘X-XXX-XXX-XXXX’); });

So the whole code will look like this:

(function(a,e,c,f,g,b,d){var h={ak:"996234153",cl:"RguGCL6AgVYQqaeF2wM"};a=a||function(){(a.q=a.q||[]).push(arguments)};a[f]||(a[f]=h.ak);b=e.createElement(g);b.async=1;b.src="//";d=e.getElementsByTagName(g)[0];d.parentNode.insertBefore(b,d);a._googWcmGet=function(b,d,e){a(2,b,h,d,null,new Date,e)}})(window,document,"_googWcmImpl","_googWcmAk","script");

jQuery(document).ready(function() {
_googWcmGet('number', 'X-XXX-XXX-XXXX');

You need the jquery javascript library included on your site for this to work. Whether you are using the regular method or our custom Google Tag Manager method, you need to define your phone number on your site in this format: <span class=”number“>X-XXX-XXX-XXXX</span>. So every instance of your business number on your site in this format will be replaced with the Google forwarding number. That’s it. Pretty painless right? Now, at long last, you can now track all phone calls as conversions and not just mobile click to call ads. The call tracking loop has finally been closed. So what’s next? Well, viewing and optimizing your call conversions of course!


Once your call conversions start rolling in, you can see the conversions in the conversions page in Google Ads. But that’s not really very useful. Fortunately, you can now add all your fancy new call tracking metrics throughout your reports. Simply add the columns as outlined in the video below.

Track phone impressions, calls, and phone-through rate

You can see the phone impressions, phone calls, and phone-through rate by adding special columns to the statistics table of your campaign or ad group.


Now that you can see all sorts of useful metrics like call start time, end time, status (missed or received), duration, caller area code, phone cost, call type etc., you can really start to optimize your call conversion rate. This is especially exciting for those of you who usually close sales over the phone (you can use the likes of HubSpot to score these leads too!). The best thing about this new call conversion tracking? You can utilize all of the wonderful and powerful advanced and custom bid strategy features like ROAS bidding, enhanced CPC bidding and of course, everyone’s favourite… Conversion Optimizer ;)


So there you have it. The conversion leak has finally been plugged. It’s an exciting time, especially if you’re a digital marketing agency! If you’ve been wondering how to set this up in Google Tag Manager, now you know. If you’re having difficulty and would like some free help setting this up, please get in touch and I’ll be happy to help walk you through it (GTM implementation only). Any questions? Feel free to reach out on social media (we’ve removed our comment section for now) or drop us an email.

Exit mobile version