Dynamic Swap only on specified pages


Can you please make an option to dynamic swap a phone number only on particular pages?
The situation is we have the same phone number on the header of every page of the site and sometimes in the content. I want it to swap to a tracking pool only on certain pages.

I was thinking maybe the “Landing Page” option would do it, but I still want it to swap for those that didn’t land on those pages and later navigated to them, without swapping the instances on the other pages.

Is there a way to do that?


Couldn’t you just only trigger the swap script based on URL? Using Google Tag Manager you’d just set up the trigger to fire for that custom HTML tag on the pages you wanted to swap on. The target number would appear otherwise. You can use a regular expression or regex lookup table to guide the trigger.

Scott - BuzzMaven.com


You should be able to do this with Tag Manager and page rules. That’s what we do.


Hi Even!

All you have to do is installed the script only on the landing pages you are looking to swap the numbers for. From there the pool can decipher which landing pages the visitor called on.

Hope this helps!



I still need the script present on other pages as the site has other trackers. I believed it was necessary to have the script on all pages to capture & retain the source & landing page data if a visitor would have landed on a non-tagged page then navigated to the specified pages. Then wouldn’t that cookied data be incorrect?
If a visitor hits a non-tagged page, then how does that impact the landing page and source data for when they do reach the tagged page?

… and then they navigate to a page where I don’t want the header number tracked (current state) but I have different number in the content that still needs tracking.


Evan, you should be able to do this if you edit the tracking, instead of choosing PPC only or organic, just choose the specific landing pages you would want the number to swap on.


Oh I see, you want it to change whether they land on the page or not, should be something you can try in Google Tag Manager with scripts. I agree with @andrewaebersold


So if I understand correctly, you are nervous about only having the swap.js load on some pages and not all pages because the historical data in Call Rail may not show the full or accurate user experience before initiating a phone call.

Aside from modifying the swap.js file (not recommended) to selectively perform certain functionality, you could possibly do this with a combination of the number insertion options (landing page/parameter), or you could create a unique tracking number on certain pages and not add that number into the swap pool. This way the script would run on that page but not swap the numbers.

If you don’t have the advanced swap configured, send an Email to request it. That might solve your issue.


Thank you for all your ideas and consideration of this situation.
A round-about way of doing it would be to create a static tracking number to hard-code on those instances then have CallRail swap those instances dynamically, but that would involve tracking the call twice & 2 ring hops.
I have the advanced tracker.
Surely having the option to swap target # on pages matching X instead of just landing pages matching X would be a straight-forward feature request.


This would be a useful feature for our agency as well!