Call trackers

Track phone call leads and sales from phone calls in Google Analytics, Google Ads and more.

The purpose of call trackers

A call tracker allows you to track, record and transcribe phone call leads and match these with website visitors. For example, you can track which keywords resulted in a call when someone clicks a Google Ad, lands on your website, then phones you.

This allows you to optimise your online marketing better, as you’re not simply limited to tracking interactions that happen on your website, like form submissions.

How it works

All call tracking works in the same way. To track calls, we:

  1. Log visits that come to your website, through our JavaScript snippet.
  2. Dynamically swap in phone numbers that redirect to your exisiting phone number, based on the traffic source.
  3. When a call comes in, attribute that call with the last recorded visit on your website for that number.

You can increase the accuracy of this association by using more phone numbers. However, these phone numbers cost money. It is recommended that larger businesses carefully consider what they’d like to track, based on the most actionable data first.

For example, you may want to prioritise tracking your non-brand paid search campaigns, as this data becomes immediately actionable through automated bidding and audience creation.


You’ll need to install your container snippet, before you create your call tracker. Once created and configured, your call tracker will automatically be deployed onto your website.

Creating a call tracker

To create a new call tracker, head to the ‘trackers’ section of your container using the menu along the top of the page.

Then, select the “CALL TRACKER” button in the create new trackers menu on that page.

Once complete, you’ll be prompted to configure the tracker.

Configuring a call tracker

When configuring your tracker, you’ll be presented a number of fields and options:

Tracker name - the name of your tracker. This will allow you to segment your leads by different call trackers, and will control the name of the Google Analytics event label as leads come in.

Destination number - the number you want to direct calls to. This will be used to redirect calls from our phone numbers to your phone number. Make sure you include the correct country code, and exclude any spaces.

Tracker country - the country you’d like to purchase numbers for. You cannot change this after the tracker is created, so choose carefully. You can theoretically have a destination number from a different country, but international charges may apply. If you ever need to update your tracker country, disable your current tracker and create a new one.

Number type - select whether you want a local, toll-free, mobile or national number. Not all number types are available in all countries and availability may vary over time. We suggest using local numbers for most users unless they have specific requirements for another number type.

Match calls to web visits - it is recommended this is left on, unless you’re using the number for an offline source. For example, if you’re using the number in a print ad, uncheck this box.

Swap for - this determines when you want your phone number to show. Choosing all sessions will be accurate for low traffic websites. However, if you have more than one session every 30 minutes, we suggest you implement one tracker per channel you want to track. Alternatively, you can purchase more than one number in the next menu, and rotate them to improve reconciliation with web session accuracy.

Swap for options

All sessions - shows the call tracking number(s) for every session on your website.

Google Ads - shows the call tracking number(s) for every session where a Google click ID (gclid) was present in a URL. Make sure you’ve enabled auto-tagging in your Google Ads account before using this option.

Landing page URL contains - shows the call tracking number(s) for every session where a landing page URL contained certain text. For example, if you wanted to track your Microsoft Ads, you’ve enabled auto tagging, then you can use landing page URL contains:


Referrer contains - shows the call tracking number(s) whenever the referrer contains this text. For example, you may want to track all calls from google, regardless of whether the traffic is paid or organic. For this, you would say referrer contains:


Custom - allows you to create complex rules for when you show your call tracking number(s). This is for advanced users only, and we recommend you utilise one of the alternative ‘Swap For’ options where possible.

Using custom number replacements

If you need more than one condition for showing your call tacking number(s), you’ll need to utilise the custom number replacement option. We’ll be making improvements to the UI for this feature in the future. If you need help with a custom replacement then contact us via live chat.

You may only want to show your call tracking number(s) when users come from a non-brand campaign.

Tracking non-brand Google Ads

In this scenario, you’d need to implement a tracking template in your Google Ads campaign, which appends the campaign name dynamically to your final URL as the utm_source parameter. You’d need to make sure your brand campaign is named ‘Brand’ and you have enabled auto tagging for the below condition to work.

Tracking Google Organic search

In this scenario, you’d want all the referrals from Google that did not have the gclid parameter. In this case, you’d need to have auto-tagging enabled on your Google Ads account.

Tracking Facebook Ads

Utilise Facebook Ads’ URL parameters to tag your Facebook Ads. Then, build the condition based off the URL parameters you’ve chosen. If you’re using utm_source=facebook&medium=cpm, you could use the following condition to track Facebook Ads:

Other call tracker options

Record and Transcribe Calls - allows you to record, play back and transcribe all inbound calls on your call tracking numbers. You can play back calls on their lead record, in the leads dashboard.

Alert users - this gives you the option to alert users via email as leads come in.

Advanced options

Advanced options can be access through the advanced options drop down.

Phrase hints for transcription - if you’ve selected record and transcribe calls, these phrases will help the transcription pick up these key phrases more accurately. For example, if you sell cars, it would be a good idea to add the names of the car brands to these hints.

Call whisper message - play a message to the users who answer calls to the call tracking numbers. For example. you can let them know where a call came from by saying something like: Call from {{medium}}. Available variables are {{container}} (container name), {{country}} (of the caller) and {{medium}}. While this message plays, callers will continue to hear ringing. The limit for this message is 100 characters.

Caller message - play a message to those calling the call tracking numbers. For example, you can inform users they are being recorded. You can use something like “Hi, welcome to Leadtosale. All calls are recorded. We will now connect you with an operator.” Callers will hear this message before they are forwarded to the destination number. The limit for this message is 100 characters.

Selector - allows users with click to reveal numbers to reconcile calls with web visits when the click to reveal is applied. Listens for the DOMNodeInserted event (this is for technical users only - please contact the Leadtosale team if you need help with this).

Call follow up - allows receivers to give an outcome to the call through an automated IVR. Receivers will need to stay on the line to hear this after callers hang up. They will then be prompted to push 1 for sale, 2 for potential sale or 3 for no sale. If they push 1, they will be able to enter a value for the sale. Sales and ‘no sale’ will automatically update leads in Leadtosale, along with sending the sales events to Google Analytics and Facebook.

Bulk tracker - designed for large directory businesses that need to track a large amount of numbers across their site. More information can be found here.

Reconciliation time limit - this sets the look back period for matching calls with web sessions, in minutes. If you have a session length of 30 minutes in Google Analytics, leave this as 30 minutes. If the last web visit happened more than the specified number of minutes before the call lead, the call will not be matched to a web visit.

Now that you’ve configured your tracker, you will need to purchase your tracking numbers and configure your number replacements. When you select next, your tracker configuration will be saved.

Purchasing numbers and configuring your number replacements

This screen will allow you to search for phone numbers to purchase. These results will be limited based off your selected country and number type. Make sure you include the country code, and area code (if required) when searching for a number. In the below example, I’ve searched for New Zealand local numbers with the area code 9, and selected two for purchase.

If you’ve already purchased numbers, they’ll be visible in this menu too, and you can select them to assign them to the tracker.

You’ll be warned about how many numbers you’re purchasing when saving the tracker. However, it’s a good idea to check your number and text replacements before saving and finishing.

Number replacements

Number replacements determine the numbers our JavaScript will find on your website to replace with our call tracking number(s).

By default, all call tracking number will look for the destination number associated with your tracker, and replace it with an assigned call tracking number, with no spaces. Even if your destination has spaces, or is formatted in an international format, it will still be replaced by default.

You can add more patterns to find if you wish. Simply click the “Number & Text Replacements” drop down below your selected numbers, and push the “NUMBER ROTATION” button.

This will open up a modal window.

Find These Patterns - these will determine what numbers are looked for in your website. By default, your destination number with both national and international formatting will be added. Any spaces between the numbers will be matched, but not any special characters. A scenario where you may want to add additional patterns will be if your number is formatted with dashes, like 021-1101-828.

Formats - these Xs represent the format in which your call tracking numbers appear on the page. You may want to modify this if you want your number to appear in a certain format. For example, you can add spaces between the Xs for different formatting. Numbers will always appear in their national format.

In the example below, I have modified my 9 number length to have spaces. I have modified this as the local numbers in New Zealand have a local number length of 9, and I want control of how the number appears. Push “DONE” to save it.

If you want internationally formatted numbers, you can utilise text replacements, which are applied after number replacements.

Text replacements

Text replacements apply after number replacements. They are used if you want to make changes to the way all numbers are shown which are not possible to configure in number rotation replacements. For example, formatting all numbers as international numbers.

In our case, the international format is +64 and our area code is 9, so we’ll configure our text replacement To Find ^09, and to replace as +649. This will find all text on the website that begins with 09, and replace that section of the text with +649.

You can add more than one formatting. Click the save icon to save your configuration.

Once you’re finished, click the “FINISH” button to save your call tracker, and purchase your phone numbers.


Ensure you thoroughly test your number replacements and replacement conditions before setting live.

We recommend you use Google Tag Manager and the Tag Manager Injector chrome extension to test your implementation before setting live. You can use this to inject your container snippet within your browser locally, and see your replacements being applied.

If you have any problems or questions, reach out to us on Intercom and we’ll be happy to help.