Open Google Ads on the first of the month and you can see exactly how many people called you. Say it is 42 call conversions at a cost per call you are happy with. Good month.
Now try answering the one question that decides whether that number means anything: how many of those 42 calls did somebody actually pick up?
Google cannot tell you. Google Ads call tracking is built to count conversions, not to watch what happens after the phone starts ringing. It knows the ad worked. It has no idea whether the lead did.
This guide covers what Google's built-in call reporting genuinely gives you, the three blind spots it leaves, when dynamic number insertion is worth the complexity, and the simpler setup most local businesses should run instead: a dedicated number per campaign that gets answered every time.
How Google Ads Call Tracking Actually Works
Before you buy anything, use what you already have. Google's call tracking is free, it is built into the platform, and for a lot of advertisers it is 80% of the answer.
The three kinds of call conversions Google counts
Google's call conversion documentation breaks phone calls into three separate conversion actions, and they behave differently.
- Calls from ads. Someone taps the call button on your search ad, or taps a call-only ad headline. Google routes that call through a Google forwarding number, times it, and counts a conversion if the call runs longer than your minimum call length.
- Calls to a phone number on your website. Someone clicks your ad, lands on your site, and calls the number printed there. This one needs the Google tag or Tag Manager on your site so Google can swap in a forwarding number for ad visitors.
- Clicks on a number on your mobile website. This counts the tap, not the conversation. Google's own help documentation says plainly that it measures clicks rather than the phone calls themselves. Someone can tap and hang up before it rings, and you still get a conversion.
That last distinction trips people up constantly. If your call conversions look suspiciously healthy on mobile, check whether you are counting taps.
Google forwarding numbers, and what they cost you in flexibility
A Google forwarding number (GFN) is a Google-owned phone number displayed in place of yours. The caller dials it, Google connects them to your real line, and because the call passed through Google's number, Google can attribute it to the campaign, ad group, and in some cases the keyword that produced it.
Two things to know. First, availability is limited: forwarding numbers exist in a specific set of countries, and Google will fall back to showing your real number where they are not supported. Second, it is Google's number, not yours. You cannot put it on your letterhead, your Google Business Profile, or your directory profiles, and you do not keep it if you pause the campaign.
Call-only ads and call assets, in one line each
Call-only ads, which Google now labels call ads, are search ads where the whole point is the phone. Tapping the ad dials you instead of loading a landing page. They fit businesses where the phone closes the deal: legal intake, emergency trades, towing, anything urgent.
Call assets, formerly call extensions, bolt a call button onto a normal search ad. The searcher can visit your site or call, whichever they prefer. Most advertisers should run call assets on every campaign and reserve call-only ads for high-urgency keywords and mobile-heavy schedules.
What Google's Call Reporting Covers, and What It Misses
Here is where most guides stop. It is also where the interesting part starts.
What you actually get
Google's call reporting is better than people give it credit for. In the call details report you get start and end time, duration, caller area code, call type, and a call status of received or missed. Layer that on top of campaign-level conversion counts and you can genuinely see which campaigns make the phone ring, at what cost, at what time of day.
That is real information. Use it. Now look at the three things it cannot tell you.
Blind spot 1: the minimum call length trap
Every call conversion action has a minimum call length setting, and the default is 60 seconds. Calls shorter than that do not count as conversions.
Think about which calls are short. A call that rings out. A call that hits voicemail and gets hung up on at the beep. A call the caller abandons after 25 seconds of hold music. Those are your worst outcomes, and they are systematically excluded from the conversion column you optimize against.
The result is a quiet double distortion. Your campaigns look weaker than they are, because real demand went uncounted. And the miss itself is buried in a call details report almost nobody opens, rather than in the conversion column everyone optimizes against. Google is not hiding anything. It is measuring exactly what you told it to measure, which is calls that lasted a minute.
Blind spot 2: connected is not the same as handled
Call status will tell you a call connected. It will not tell you what connected. Voicemail picking up counts as received. So does the paralegal who grabs the phone between filings, says "she's with a client, try tomorrow," and hangs up. So does a wrong number.
Google has no view of outcome. Was it a new injury case or an existing client asking about a court date? Did the caller book a consultation? Did anyone follow up? None of that exists in Google Ads, which means the metric you are bidding against ("calls") is a proxy for the thing you actually care about ("signed cases"), and the gap between them is invisible.
| What Google Ads shows you | What actually happened |
|---|---|
| Call conversion, 3 min 12 sec, Car Accident campaign | Answered, crash details taken, consultation booked for 9am |
| Call received, 41 sec, no conversion counted | Voicemail picked up. Caller hung up at the beep and dialed the next result |
| Call conversion, 2 min 05 sec | Wrong number. Caller wanted a different firm with a similar name |
| No row at all | Ad click, then the caller found your number on your Google Business Profile and dialed that instead |
The stakes on row two are higher than they look. CallRail's own small business benchmarking report found that up to 85% of callers whose calls go unanswered never call back. A widely cited 411 Locals study found 62% of calls to small businesses never reach a live person, and Invoca found home services businesses miss 27% of their calls even during staffed hours. You paid for that click. The caller was ready. The phone was the last step and it failed.
That is the argument in one line: attribution without answering still loses the call.
Blind spot 3: nothing lands in your CRM
Google Ads is a reporting surface, not a system of record. A call conversion lives in a Google Ads column. It does not become a contact in HubSpot with a source of "Google Ads", it does not create an opportunity in GoHighLevel, and it does not append a note your sales follow-up can read next Tuesday.
So even when the attribution is perfect, it is stranded. The person who follows up on the lead never sees which campaign produced it, and the person managing the campaign never sees which leads closed.
When You Actually Need DNI (and When You Don't)
The standard answer to everything above is dynamic number insertion. Sometimes that answer is right. Often it is oversized for the decision you are making.
What dynamic number insertion does
DNI is a JavaScript snippet on your website that swaps the displayed phone number based on how the visitor arrived. Tools like CallRail keep a pool of numbers and assign one to each visitor session, so when the caller dials, the tool knows the channel, the campaign, the ad group, and the search keyword behind that specific call.
It is clever engineering and it works. Session-level attribution is the only way to get true keyword-level call data, and no AI receptionist replicates it, ours included.
Who genuinely needs it
If you manage a large paid-media budget across dozens of campaigns and your job is to prove ROI down to the keyword, keep DNI. If you feed Smart Bidding offline conversion data and need it granular. If you are an agency reporting to clients on which search terms produce revenue. In those cases the pool of numbers, the snippet on the site, and the per-number and per-minute fees are a fair trade for the resolution.
Who does not
Most small firms and owner-operated businesses are running between one and five campaigns. The decision they make each month is not "should I raise the bid on 'car accident lawyer near me' by 12%." It is "where should next month's budget go: Google Ads, Local Services Ads, or the directory profile."
That decision needs channel-level and campaign-level data. Keyword-level costs more, adds a script to your site, adds a number pool to manage, and answers a question you were not going to act on. If you want the honest cost picture before deciding, we broke down what CallRail really costs including the usage fees that do not appear on the pricing page.
Match the instrument to the decision. Then spend the difference on the part everyone skips.
The Simple Method: A Dedicated Number Per Campaign That Gets Answered
Here is the setup we recommend to local businesses, and it inverts the usual order of operations. Instead of tracking calls and hoping someone picks up, you start from answering and get attribution as a byproduct.
One number per campaign, all pointing at the same receptionist
You give each ad channel or campaign group its own dedicated tracking number. The car accident campaign gets one. The estate planning campaign gets another. Local Services Ads gets a third. Your organic and Google Business Profile listings keep your main number.
Every one of those numbers rings the same AI receptionist with the same configuration. There is nothing to retrain per number, no second script to write, no separate hours to set. Add a number, tag it, done.
Every call answered in under 5 seconds, around the clock
The receptionist picks up in under 5 seconds, every time, including the 7pm and Saturday calls that are often the highest intent. Across 1,446,980+ inbound calls answered, it resolves 90% to 95% of them without escalating to a human and holds 99% positive caller sentiment. It handles calls in 9 languages, in whatever language the caller speaks.
For Local Services Ads specifically, answer responsiveness is not just nice, it feeds your ranking. We covered that in detail in the Local Services Ads phone integration guide and the LSA call tracking breakdown.
This is what an answered ad call actually sounds like, from a real production line.
A production lead-intake call. The AI picks up, asks the right questions, and records name, contact, and intent as a structured lead. Google Ads would have logged this as a call conversion and nothing else.
Every call tagged with the campaign that produced it
Because the number is dedicated, attribution needs no script and no pool. The call arrives on the car-accident-campaign line, so it is a car-accident-campaign call. Full stop.
That tag shows up as a badge in your call inbox, rolls up into a per-channel breakdown in insights, and gets written into your CRM. You can see at a glance that Google Ads produced 31 answered calls last month and Local Services Ads produced 19, and then look at what those calls were actually about.
A recording and a summary on every single one
This is the piece Google's report can never give you. Every call has a recording and an AI-written summary. So a month that reads as 31 calls from Google Ads might resolve into 14 new-matter inquiries, 9 booked consultations, 5 current clients checking a case status, and 3 wrong numbers.
That is the difference between knowing a campaign generates phone volume and knowing it generates work. It is also what lets you kill a campaign that produces plenty of calls and no signed cases, which no amount of keyword-level attribution would have told you.
To be precise about what this is and is not: this is channel-level and campaign-level attribution. It is not session-level or keyword-level. If you need to know which search term drove call number 17, you need DNI.