Dynamic Phone number based on location


Hey everyone,

I’ve got a couple of AdWords campaigns running for clients in different cities. This particular client has a single 877 phone number at the top of the website, but would like to have it dynamically change to a localized area code depending on the source the person clicks from (AdWords, Facebook, etc.)

For example: Customer #1 clicks on ad in Houston, TX, and on the website the 877 number changes to a 281 number. Customer #2 clicks on ad in Dallas, TX, and on the website the same 877 number can change to a 214 number.

Is this possible with the current product? Is there a workaround?


Hey! Thanks for sharing your question! There is a fairly straightforward workaround that our support team can help you with. I’ve submitted a support ticket regarding this for you and someone from our team should be reaching out soon :slight_smile:


Hey, just wanted to follow up on this and post some more details here! We don’t currently offer anything that can determine the location of the user before they call, but you do have a couple options as a workaround here.

Your first option would be to list the different phone numbers for your locations on the same page, and create separate tracking numbers for each location. Through each tracking number having a unique swap target, our javascript code is able to distinguish multiple tracking numbers on the same page and swap out local tracking number for each accordingly. These articles on Swap Targets and Keyword Tracking for Multiple Locations should be helpful should you want to go this route.

If you do want to keep just one phone number on your website and still have customers routed to the most relevant location to them, Geo-Routing would be the best option for that. You can use CallRail’s Call Flow Builder so customers who call that one tracking number will be routed to the nearest location to them. You can either choose to have CallRail automatically route the caller based on their area code, or to have CallRail prompt the caller to enter their zip code, and then be routed to the location closest to that zip code.

Please let me know if you have any more questions, or if you found this info helpful :smiley:


CallRail just came out with a new feature to support this! https://www.callrail.com/blog/callrail-local-swap/


Thanks for sharing @twigmore! We’ll have some more info posted here soon on how to best use Local Swap to optimize local campaigns.