Over the past several years, I’ve answered hundreds of questions, written several guides, and given multiple presentations on how to harness the benefits of call tracking and analytics for local SEO campaigns without interfering with one of the most critical ranking factors, NAP (Name, Address, Phone number) consistency.

Today I’d like to dive into the more detailed nuances of local SEO call tracking for advanced local search marketers.  My goal is that anyone reading this will walk away with an understanding of the best practices for implementing call tracking without the risk of polluting the web with inconsistent NAP data.

It is important to note at the outset that this guide is written for data-driven local search marketers who already have a basic understanding of NAP consistency and its influence on local search rankings. I’m also assuming that readers are already sold on the insights provided by call analytics for local search. Basically, this isn’t an article to sell you cake– it’s a guide to having your cake and eating it, too. 

If you happen to work for a marketing agency and follow this advanced guide, you should be able to prove more of your value to your clients by counting phone calls from local SEO as a key performance metric.

When you’re ready to implement call tracking for your local SEO campaigns, you essentially have two approaches:

  1. Track all calls to the local business driven by local SEO;
  2. Track only the calls driven by local SEO that involve a website visit.

Most local SEO marketers who track calls opt for the latter without realizing that they are completely under-representing the work they are doing for their customers. New inbound phone leads may never visit a business’s website prior to calling.

You really want to track all calls. Let’s dive in on how to do that.

How to Track All Calls Driven by Local SEO


If you decide you want to track all calls to the business, there is a way to do this without interfering with your hard-won NAP consistency. The main thing you want to do to maintain NAP consistency is avoid having different phone numbers on different local business listings or websites around the web. The method outlined below will enable you to achieve NAP consistency.

The “Track All Calls” Method in Two Steps

This is the most comprehensive call tracking implementation for local SEO, period. To do this right you will need a call tracking configuration that includes both a main line tracking number and a session tracking number pool (often referred to as keyword level call tracking or visitor level call tracking).

Step One: Get a main line tracking number.

In order to track all local SEO calls to a local business, you need to be tracking calls from everywhere on the web where a caller might find your phone number, not just your website. After all, much of the work local SEO marketers do is based on citations– from big data providers like InfoUSA and Axciom, to local business directories, IYPs, and the critical business listings that feed into Google Maps.

For many clients I’ve worked with in the past, more than half of all their inbound phone calls came from callers who never visited their business website. If you’re not tracking these calls and analyzing the call data, you’re missing some serious ways to prove your value as a marketer.  This is where a main line tracking number comes to the rescue. (This  has been referred to often as an organic tracking number in the past but “main line” is more precise, descriptive and eliminates some confusion as a specific term.)

So what is a main line tracking number?

A main line tracking number is a call-tracking-enabled phone number that local businesses use as their main phone number on the web. Think of it as a regular phone number with super powers that include call recording, advanced call routing, a cloud IVR, and call analytics software that builds insightful reports. Any phone number can become a main line tracking number (even a business’s existing main phone number on the web) through a simple process called porting.

When using a main line tracking number for local SEO, it is the P in NAP. Use it everywhere on the web where your business information appears. At CallRail, you can port in an existing phone number or provision a new local phone number to serve as your company’s main line tracking number. (Porting into and out of CallRail is free, btw.)

You have two ways of getting a main line tracking number, porting the existing business phone number into call tracking and analytics software or provisioning a new local number to use. It is highly recommended that you port the existing business’s phone number. That way there’s no need to go around the web updating information on directories.

If porting is not an option, you can always provision a new local number as your main line tracking number. It is important to recognize that with a brand new main line tracking number there is a possibility that your existing business number may “leak” online. As Mike Blumenthal has pointed out on his blog, it is best to add the existing business number as a second number on all of your citations but particularly Google My Business.

While you can’t attribute calls to their precise marketing campaign with a main line tracking number, you are able to understand more about the calls coming from work that you’ve done on citation cleanup and listing optimizations–even if the caller never visits the business’s website. Over time, you can look at the first time callers metric, which is the measure of new inbound leads that local SEO work is producing via phone.



When implementing a main line tracking number for local SEO campaigns, be sure to focus on the first time callers performance metric.

Lastly, when using a main line tracking number, it’s important to remember that this is the primary business line on the web. Anywhere you would have your business information listed, from your website to directories to news articles, you should be using the main line tracking number.

Step Two: Set up a session tracking number pool for the website.

Once you have your main line tracking number configured and placed on your website and around the web wherever your business information is listed, you’re ready to add a session tracking number pool to your website. This will add an extra layer of call tracking that gives you much more data about the callers who visit your website on their path to picking up the phone to call.

So what is session tracking?

The easiest way to think about session tracking is that it’s able to match all the information about a visitor’s activity on your website to the phone call that visitor makes. Session tracking does this by using a pool of phone numbers that are swapped in for the hard coded phone number on a website. Since you’re using a main line tracking number from step one everywhere on the web where your business information is found, then the number on your website replaced by one from the session tracking pool is the main line tracking number.

On top of the call data I mentioned above (call recording, analytics, etc), session tracking number pools are also able to give granular data about each particular caller, like referring URL, source/medium, pages visited on the website, device they’re using, etc. Also, when using a session tracking number pool along with Google AdWords you get plenty of additional info on keywords and ad copy.

How to configure session tracking

Assuming you’ve hard coded your main line tracking number on the local business website and other websites, make sure to configure the session tracking number pool to swap out that number when a visitor arrives on your website. When you set up this session tracking number pool, you also have the option of choosing which visitors to whom you want to show numbers from the session tracking pool.  You have the option of tracking all visitors to your website or only specific referring sources (e.g. Google PPC, Yahoo organic, direct traffic, etc.)  Since we’re tracking local SEO calls, we want to be sure to conform to Google’s guidelines. As Mike Blumenthal points out in the comments section on this blog post, “you should always show the main Google bot and any Google searcher your main phone number.”

In order to show Google searchers and Googlebot the main line tracking number, choose to track visitors from all sources except Google organic and direct traffic. When visitors from Google organic or direct visitors arrive on your website, they will see your main line tracking number instead of a number from your session tracking pool.

A few words about CallRail’s dynamic number insertion

Dynamic number insertion (DNI) is accomplished with the help of a small snippet of JavaScript placed on a business’s website. The script looks at the referring URL and landing page of the website visit and determines whether or not to replace the hard-coded phone number on the website with one from session tracking pool phone number pool.

If you have set up the session tracking number pool to track “All Visitors”, then the JavaScript will be executed for each website visitor.  We have engineered our DNI technology to serve the same code and user experience to human visitors and bots, consistent with Google’s guidelines. We do this without serving phone numbers in a way that would jeopardize your NAP consistency. Nevertheless, in an abundance of caution, some customers choose not to deliver dynamic phone numbers to direct and organic visitors.

The “Main Line” Only Method

Lastly, there is a trimmed down implementation of call tracking compared to the comprehensive method above that still tracks all calls.

This option involves using only a main line tracking number and no session tracking number pool. For that reason, it’s not able to give as granular insights into the calls that come from your website. You will not know if a call is coming from your website or somewhere else on the web with this method, but you’ll still track the call and know that it came from your online presence.

Why we now recommend the Track All Calls method

The reasons we now recommend using a session tracking number pool in addition to main line tracking number are two-fold.

  • First, after analyzing millions of phone calls across thousands of accounts, we have seen no evidence that DNI will affect NAP consistency.Out of the 30,000 businesses using CallRail, we haven’t heard or seen any example of DNI affecting NAP consistency.
  • Second, CallRail’s development team takes our customer’s concern about NAP consistency seriously and is constantly working to ensure that our technology adheres to major search engine guidelines and best practices for SEO.With the ability to control which referring sources are tracked, our customers are in more control than ever of their call tracking implementation.

Remember this

Regardless of how you decide to track calls from local search, it’s important to remember that the way you analyze the call data is what will set you apart as a marketer. Since tracking calls from local SEO efforts will no doubt include call data from existing customers, make sure to focus on the golden metric– first time callers. After all, our job as local search marketers is to produce new business via inbound leads.

If you can show that you’re consistently producing new callers, you should have no problem proving the value of your work as a local marketer.


  • This has needed to be said for some time now. Done right call tracking will not hurt SEO including NAP.

    I never make a client change their number. But it has been fun when a person just starting their business comes to me. We start with a new number from CallRail, then we use that number for all directory sites and on site SEO. We’ll often even get a number pool for PPC visitors. 1 thing is constant, tracking means more investing in marketing and more calls and business. Way better than just asking how did you hear about us.

    I like the idea of reporting first time callers. Thanks CallRail for making that easy.

    An added bonuses of CallRail is clients listen to their own calls and discover for themselves they answer their phone less than they think and more unprofessionally then they thought. Because what is the point of drumming up more business if on the other line their is nothing.

    • Thanks for the feedback @jtweav:disqus! I’m curious about what you do with customers when you onboard–do you port their main line over? Do you meet much resistance to this? I typically have to convince a client of the benefits with educational, third party articles before they’re ready to go so I’m curious how you do it with your clients. One thing is for sure: once a client adopts call tracking in some way they never go back to being in the dark about their phone calls.

      • I’ve never pushed to transfer their number for tracking purposes. Just if they are creating a website / business from scratch. I had the unique opportunity of on-boarding franchise business owners right when they came on. But now that you mention it I will try harder in my agency to convince older businesses to transfer their number. I use CallRail so they love being able to forward their calls when on vacation, or when they sell their business to not have to lose their personal number as well (they call log is a great proof of business as well). There are so many more features than just call tracking. But I can tell you of those that do call tracking I often hear, “I didn’t know I sounded that bad on the phone”, “I always ignored calls from outside my area but this one was a legitimate lead”, “I didn’t know half or more of my calls were going unanswered”, “When I miss a call I can never reach them back”. Just for so many reasons call tracking is worth it.

  • Jeffrey Nichols

    What if you have a client who wants to know “How many calls does my website generate for my business”? In this model if a user types in the URL (direct visit) and then calls the number they see you wouldn’t be able to segment that vs a listing they found on some other site that’s using the NAP data.

    • Hi Jeffrey, You are correct that you will not know the phone call came from the website with this method if a caller simply types in the URL of the business. For most marketers I’ve worked with this isn’t a problem since they want to know what to attribute that caller to, not simply whether they visited the website. If a caller already knows a business’s URL, then my goal would be to determine how that caller found the URL. Does this make sense? Thanks for the question! Happy to clarify further if that doesn’t make sense. 🙂

  • Craig Brooksby

    Re the “Track All Calls” method: I agree that the first-time callers metric alone is enough to justify porting over the main line number. You say “you need to be tracking calls from everywhere on the web where a caller might find your phone number, not just your website.” Sounds great to me! But here’s a question: The Main Line doesn’t give me the referrer URL. The Pool numbers do. So the only way I get to know where the call came from (“where” = referrer URL) is if they first visit the website, get their number issued from the pool, and call. I have clients who do paid advertising on 8 – 10 directories. As I understand it, in order to track calls from Ads on Directory A, Ads on Directory B, etc. is *in addition to the Track All Calls method, to have a dedicated CallRail number showing in each of those ads. Now if they call from the ad (without visiting the website), I at least know which ad generated the call. If they instead click through to the website and call, I still capture the referrer under the “Track All Calls” method. Am I right? Any better ideas?

    • Craig Brooksby

      Replying to myself: Having a dedicated tracking number for Directory A, DIrectory B, Directory C; These are all authoritative directories (it costs money to be in them – they aren’t your usual Axicom directories). So is this approach in conflict with NAP consistency? Is there any better way to do this? (Longtime Big Fan of CallRail)

  • Kamran Nasser

    We just signed up with CallRail and I it is a lot more confusing than I thought to set up call tracking. The main purpose we signed up is to track the source where our callers are coming from. Currently we have a main business number that has been published on all web related content and search engines. We have also used that number on our brochures and many different types of material that we hand out to potential clients at trade shows, meetings and other events. So our main number is all over the place, web, print, TV,…. From reading this article my understanding is that the safest way to preserve our NAP consistency would be to port our main number to CallRail. Let’s assume we do that. But here is where I am not sure what to do next. In the article you mention that: “In order to show Google searchers and Googlebot the main line tracking number, choose to track visitors from all sources except Google organic and direct traffic. When visitors from Google organic or direct visitors arrive on your website, they will see your main line tracking number instead of a number from your session tracking pool.” Does this mean we won’t be tracking any of the direct and organic visitors and calls? When talking to our rep she has recommended that to avoid any issues we should use CallRail to only track paid referral sources such as AdWords and Yelp. The reality is that we are already doing that. Yelp provides a call tracking number and we can see the reports to see how many people called us from Yelp. So does Google AdWords. So if we are already tracking the paid sources, what’s the advantage of Callrail tracking and what would you use Callrail for? This takes me back to my second sentence which is: The main purpose we signed up is to track the source where our callers are coming from. Can we do that? Thank you for any responses in advance.