The Challenge
The owner was spending real money across several channels at once, but every lead showed up the same way: a phone call with no clue where it came from. Google, print, and the vehicle wraps all looked identical in the pipeline. Every budget decision was a guess, and the guesses were expensive.
With no way to trace a call back to its source, a few problems were quietly draining the budget:
- No call tracking meant no attribution on any channel
- Good and bad channels looked exactly the same
- The client kept funding things that did not actually drive calls
- There was no cost-per-call number to compare sources against
- Ad and print spend was allocated on gut feel, not data
The Solution
We set up call tracking across every channel so each call carried its source with it. Dynamic number insertion handled the website, unique numbers covered the offline channels, and everything tied back to GA4 and Google Ads so the owner could finally see cost per call by source. Here is what went into it.
- A unique tracking number for each offline channel
- Dynamic number insertion on the website
- Call recording so lead quality could be judged, not just counted
- Every number tied back to GA4 and Google Ads
- Print, wraps, and signs tracked separately
- Cost per call calculated for every source
- A simple reporting dashboard the owner could read at a glance
- Calls tagged by source so budget shifts were easy to justify
Dynamic number insertion that ties each web call to its source
For website visitors, a single static phone number tells you nothing about who called or why. Dynamic number insertion swaps the number shown based on how the visitor arrived, so every web call is traced back to the campaign, keyword, or referral that sent it.
- Source on every call: the number a visitor sees changes with their source, so a call from a paid keyword is never confused with one from organic search.
- Keyword-level detail: for Google Ads traffic, calls can be tied all the way down to the search that triggered them, which is where the real budget decisions live.
- No visitor friction: the swap is invisible to the caller, who just dials the number on the page and reaches the same business as always.
- Clean data into GA4: each tracked call flows into GA4 and Google Ads as a real conversion, so bidding and reporting run on actual phone leads.
Unique numbers for print, wraps, and signs
Offline channels are where most companies fly blind. We gave each one its own dedicated trackable number so print, vehicle wraps, and signage each reported their own calls, side by side with the digital channels.
- One number per channel: the flyer, the wraps, and the yard signs each got a distinct number, so a call could only have come from one place.
- Offline meets digital: with unique numbers, offline channels finally sat in the same report as Google Ads and could be compared apples to apples.
- Cost per call by source: spend divided by tracked calls gave a clear cost per call for every channel, cheap or expensive.
- Cut what does not work: channels that produced almost no calls were easy to spot and easy to defund, which is how the wasted offline spend got cut.
How We Did It
01. Number setup per channel
A unique CallRail tracking number provisioned for each offline channel and a dynamic pool for the website.
02. Dynamic insertion
Dynamic number insertion added to the site so each visitor’s number matched their source.
03. Recording and tagging
Call recording and source tagging turned on so every call could be judged for quality and traced to a channel.
04. Connect the stack
CallRail wired into GA4 and Google Ads so calls counted as real conversions.
05. Reporting dashboard
A simple cost-per-call-by-source dashboard built so the owner could act on it weekly.
The Results
Within a couple of weeks, every call carried its source. The data showed that two channels were driving most of the calls while others produced almost nothing, so the owner shifted budget accordingly. That move lowered the blended cost per call by a third and cut the offline spend that was quietly going nowhere.
| Call attribution | 0% to 100% |
| Blended cost per call | -33% |
| Wasted offline spend | Cut on dead channels |
| Build time | 1 to 2 Weeks |
Services & tools used: CallRail, dynamic number insertion, GA4, and Google Ads.
call tracking“Now I know exactly what makes the phone ring. No more guessing.“
Owner, Garage Door Repair company
Frequently Asked Questions
Spending on ads but flying blind?
We will show you exactly which channels drive your calls and which are wasting budget. Stop guessing and start funding what actually works.
Get your free auditNo obligation. A 15-minute call and a clear action plan.
Services in this project: AI Phone Receptionist · Google Ads Management

