How to Track Marketing When Leads Arrive by Phone
Which marketing produced that call? How tracking numbers, call reporting and a source field answer it without hurting your NAP.
You cannot tell from the phone log. A call arrives with a number and a city and nothing else, so the only way to know which marketing produced it is to make the call arrive on a number that already knows where it came from: a separate tracking number for each channel you spend money on, a number on your website that changes with the visitor’s source, and a source field on every call in whatever record holds your jobs. Do those three things and a single month of calls will tell you which channel is paying for itself. Skip them and you are reading busy weeks as evidence and guessing at the cause.
Why the phone is the hole in your reporting
Every platform you buy from counts what happens inside a browser. A click, a page view, a form submission. A phone call leaves the browser, and at that moment the trail stops.
This hits local service businesses hardest because the phone is where the money is. A homeowner with a leak does not fill in a form. They tap the call button, and the platform that showed them your business records a tap and never learns what happened next.
Google Business Profile is the clearest example. Google retired call history from Business Profiles on 31 July 2024, so there is no log of who called you through the profile any more. The Performance report still shows a Calls figure, but that number is how many times somebody tapped the call button. Not how many conversations you had, not how long they lasted, not who was on the other end. For a lot of local businesses the profile is the single biggest source of work, and the platform’s own reporting on it stops at a tap count.
What a call tracking number actually does
A tracking number is a phone number you rent that forwards to your real line. Nothing changes for whoever answers. What you gain is a record: which number was dialled, at what time, how long the conversation ran, whether it connected at all, and usually a recording.
There are two ways to use them and most businesses need both.
Static numbers, one per channel. One number on the yard signs, one on the vehicle wrap, one on the direct mail piece, one in your Facebook profile. Crude, cheap and completely reliable. This is the only way to measure the offline channels, and it is the part most businesses never do.
Dynamic number insertion on the website. A small script swaps the number shown on your site depending on where the visitor arrived from. Someone who came from a paid ad sees a different number from someone who came from an organic search result, so the call carries its source with it. The numbers come from a pool: a visitor is assigned one for the length of their session, and it returns to the pool afterwards.
Size that pool for concurrent sessions, not for monthly traffic. The failure mode is two visitors from different channels holding the same number at the same time, at which point the attribution is a coin toss and nothing warns you.
One configuration detail is worth insisting on. Your real number should be what is written in the page source, with the swap happening on top of it. If the tracking script fails to load, the page must still show a number that works. A site that renders a blank space where the phone number belongs takes zero calls, and that failure is silent for exactly as long as nobody looks.
The Business Profile is where the damage gets done
Your phone number is an identity before it is a metric. It has been copied by directories, aggregators and data brokers for years, and Google uses the consistency of your name, address and phone number across the web as one signal that your business is what it says it is. Changing the number on the most-copied listing you own is not a reporting decision.
Here is the mechanical part. The call button on a Business Profile dials the primary number. If you want per-call data out of the profile, the tracking number has to go in the primary field. Google supports an additional phone number on the profile, and that is where your real number goes, the same day, so the profile still carries the number every citation on the web already matches.
The risk that should actually decide this is not ranking. It is ownership. A tracking number is rented. Stop paying the vendor, switch platforms, or let an account lapse and that number goes back into circulation. Everything that copied it while it was your primary number now points somewhere else, and you have no way to call all of it back.
So for a single-location local business, the default I would take is this. Leave your real number as the primary number on the Business Profile, and everywhere printed. Take the call count from the Performance report and accept that it is a count. Put your tracking effort on the website and the paid channels, where the number is a piece of measurement plumbing rather than your public identity. Move a tracking number into the primary slot only when the profile drives enough spend-dependent work to be worth the trade, and if you do, add the real number as the additional number immediately and never remove it from your website, your citations or anything you print.
Google Ads has its own call reporting, and it is not the same thing
Call reporting is switched on at the account level. Google then assigns one of its own forwarding numbers to your call assets, location assets and call ads, and records the duration, the start time, whether the call connected, and the caller’s number on calls longer than fifteen seconds. There is a second version for calls to the number on your website: for visitors who arrived from an ad, Google’s tag swaps a forwarding number onto the page so the call ties back to the click that paid for it.
Two things to get right.
A call conversion is a stopwatch, not a judgement. Google counts a call as a conversion when it lasts at least as long as the minimum call length you set, and the default is sixty seconds. Sixty-one seconds of a wrong number counts. A forty-second call that booked a service visit does not. The number in the Ads interface is a duration filter wearing the word “conversion”.
Two systems swapping the number on your site will fight each other. Pick one owner for the website swap. Most call tracking platforms integrate with Google Ads and send qualified calls back as conversions, which is generally cleaner than running Google’s website forwarding numbers alongside a third-party pool and trying to reconcile two sets of numbers later.
The rest of the setup, including why the call conversion and the form conversion have to be separate actions, is in our guide to Google Ads conversion tracking setup.
GA4 will not do this for you by default
Enhanced measurement does not reliably capture clicks on tel: links, which is the one thing most business owners assume it handles. If you want them, add the event yourself: a trigger on links whose href starts with tel:, firing a GA4 event, then marked as a key event so it appears where you expect it.
Then read it for what it is. A tap on a phone link is a tap, not a conversation. On a phone it is a reasonable proxy for intent. On a desktop it is close to meaningless. It answers one useful question, which is whether a given page moves people toward calling you, and it answers nothing about whether they reached you or whether the call was worth having. Keep it as a page diagnostic and keep your lead count in the call system.
Call length is the least bad automatic qualifier
Do not guess your minimum. Take last month’s calls that turned into booked jobs and look at how long they ran. The length that separates them from the noise is your threshold, and it is trade-specific: emergency work gets booked in well under a minute, a remodel conversation runs ten.
Duration measures conversation, not fit. A twelve-minute call from a recruiter, a supplier or a homeowner forty miles outside your area is a long call and not a lead. Two filters do more for you than tuning the seconds:
- Count first-time callers only. Repeat calls from existing customers are service, and they will quietly inflate every channel that has your number on it.
- Have a person mark the outcome. Whoever answers tags the call: booked, quoted, wrong number, existing customer, out of area. Ten seconds per call, and it turns your call log into the only lead data in the business that is actually true.
“How did you hear about us” is a weak witness
Ask it anyway. Just do not run a budget on it.
People answer with the last thing they remember, which is usually whatever they saw closest to picking up the phone rather than whatever put you in their head three weeks earlier. “Google” covers your ad, your map listing and your website, which are three different budgets with three different costs. Dropdown lists collect the first option far more often than that option deserves. And the question only ever reaches the people who got through and felt like answering, which is a biased slice of your enquiries.
Where it earns its place is the channels no tracking number can see: a neighbour’s recommendation, a van parked outside a job, a sponsorship, a sign. Have the person taking the call ask it in their own words rather than presenting a menu, and treat the answer as a second opinion. When it disagrees with the tracked data, believe the tracking for the channels it covers and believe the customer for the ones it does not.
When most of your leads are calls and the CRM only knows forms
This is the common situation and it is worse than having no data, because the data you do have is skewed in a consistent direction. Forms are recorded, calls are not, so every report over-credits whatever produces forms and under-credits whatever produces calls. Budget then moves toward the channel that happens to be easy to count.
The fix is a lead record for every call, created when the call arrives, carrying its source. In order of effort:
- The call tracking platform writes each call into the CRM as a lead with its source attached, so calls and forms sit in one list and get counted the same way.
- If the CRM has nowhere to put a call, create the record by hand from the call log the same day, with source and outcome. It is a few minutes of somebody’s morning.
- If there is no CRM, a spreadsheet with date, caller, number dialled, source, outcome and job value is genuinely enough at a few dozen leads a month, and it beats expensive software nobody updates.
Then reconcile monthly: platform conversions against leads actually received, leads against jobs booked, jobs against revenue by source. The number worth arguing about is cost per booked job by channel, and you cannot calculate it while half your leads never became records at all. Our marketing measurement plan guide covers the smallest version of that review worth keeping.
This is also the arithmetic that any results-based arrangement depends on, ours included. A call nobody recorded is a call nobody can be paid for, which is why the tracking needs to exist before the spending starts rather than after the first invoice. That is why call tracking and conversion setup sit inside the campaign scope in performance-based marketing rather than arriving as a separate purchase three months in.
One warning about what you will find. The first month of call data usually does not settle which channel wins. It shows you how many calls rang out unanswered, and that number tends to be larger than anyone expected. What to do about that is a separate job, and we wrote it up in our piece on missed calls and text-back automation.
The smallest setup worth building
- Real number stays primary on the Business Profile and on anything printed.
- Dynamic number insertion on the website, with the real number in the page source as the fallback.
- One static tracking number per offline channel you spend money on.
- Google Ads call reporting on, with a minimum call length you chose from your own booked calls.
- A
tel:click event in GA4, read as a page diagnostic and nothing more. - Source and outcome recorded on every call, in the same place your form leads live.
- A monthly reconcile against jobs booked and revenue.
Start with the input to step seven, because it costs nothing and you can do it today. Pull last month’s call log and mark every call as booked, quoted, wrong number, existing customer or out of area. Within an hour you will know whether you have a lead problem, an answering problem or a reporting problem, and that tells you which of the six steps above is worth doing first.