How to reconcile Google Ads against your call tracking records
This is the check we run first on every account, written out so you can run it without us. It takes about thirty minutes and needs two numbers: what Google Ads says it produced, and what your call tracking records actually shows. The gap between them is the only honest measure of whether your tracking works — and if it comes back small, you do not need us.
Free30 minutesNo obligation
Specific to Google Ads × Call Records
Google Ads vs qualified calls: two call paths, two join keys
Split Google Ads calls before reconciling: calls from website visits join on the gclid your call tracking stored for the session, and calls placed straight from a call asset join on caller ID and call start time. Compare a closed month. Google counting more calls than you qualified usually means its call length threshold is short.
Google calls come in two ways, and each has its own join key. A caller who clicks through and dials a dynamic number on your site leaves a session your call tracking tool can tie to the gclid, gbraid or wbraid, and that identifier is what you upload through offline conversion import. A caller who taps the number in a call asset on the results page never reaches your site, so no click identifier exists. Check whether your account accepts call conversion imports keyed on caller phone number plus call start time, which is how that second path is usually matched.
Google counts calls from ads against a minimum call length you set on the conversion action. If that threshold is shorter than the one your team uses to call a lead qualified, Google will count wrong numbers and existing customers that your records exclude. Imported qualified calls are dated to the click, not the call, so pull the comparison by conversion time and keep the call-asset conversions in a separate action from the imported ones.
A modest gap with Google higher is normal while both actions are counted. If Google is far lower, check whether auto-tagging was turned off or whether the dynamic number script is missing on some templates. The usual cause, though, is a call-asset conversion and a qualified-call import both counting the same caller.
Google Ads × Call Records · what breaks
Why Google Ads and your call tracking records disagree
- 01
Raw call volume counted as conversions
Wrong numbers, existing customers, suppliers and hang-ups all ring the same line. In some trades the call-to-job rate is under half.
- 02
Number pool too small
If tracking numbers recycle faster than your sales cycle, two prospects share one number and the attribution is simply wrong.
- 03
Dynamic number insertion failing on cached pages
A cached page serving a stale number sends a whole segment's calls into the wrong pool, silently.
- 04
Call answered but outcome never recorded
Without joining the call to the job or deal, you are measuring how often the phone rang rather than how often it earned.
Google Ads × Call Records · the fix
What you get from this — Google Ads × Call Records
A number instead of a suspicion
The likely cause, narrowed
A basis for deciding
Google Ads × Call Records · architecture
What each side is actually counting — Google Ads × Call Records
- 1
What Google Ads counts
A click identifier inside the 90-day window, a conversion action name that matches one configured in the account, a conversion timestamp for when the outcome happened, and a value. Read the match rate after uploading — a file can upload perfectly and match nothing.
- 2
How Google Ads attributes it
Three parameters, not one. gclid is the long-standing identifier; gbraid and wbraid arrive on iOS traffic where privacy constraints prevent the usual one. Capture code that names only gclid loses a growing share, silently, and the loss is invisible until you audit how many records carry an identifier.
- 3
The window it uses
Google's offline import window is 90 days from the click. Anything older can't be matched, and rows outside it fail as unmatched without much explanation. Measure your median click-to-outcome time against that before designing anything.
- 4
What your call tracking records counts
Calls that were qualified and produced work, not calls received, found in CallRail, CallTrackingMetrics, Invoca or your phone system, joined to whatever records the outcome.
- 5
The filter that makes them comparable
Calls longer than your qualifying threshold, classified as genuine enquiries.
Google Ads × Call Records · events
Reading the gap — Google Ads × Call Records
| What you see | What it usually means |
|---|---|
| 15%+ platform higher | Usually the wrong event entirely — raw call volume is being counted rather than qualified calls, so wrong numbers and existing customers are in the figure. |
| 20%+ platform lower | Usually structural — number insertion is failing for some traffic, or calls are arriving on a number that is not tracked at all. |
Google Ads × Call Records · diagnose
Diagnostic order — Google Ads × Call Records
- 01
Confirm both numbers cover the same period and channel
- 02
Raw call volume counted as conversions
Wrong numbers, existing customers, suppliers and hang-ups all ring the same line. In some trades the call-to-job rate is under half.
- 03
Number pool too small
If tracking numbers recycle faster than your sales cycle, two prospects share one number and the attribution is simply wrong.
- 04
Dynamic number insertion failing on cached pages
A cached page serving a stale number sends a whole segment's calls into the wrong pool, silently.
- 05
Read the match rate on the upload, not the success message
A conversion action that stops receiving hits is flagged as inactive 30 days later — by which point a month of budget has already run against a missing signal. Check the last-received date on every action monthly; it takes two minutes and it's the cheapest monitoring available.
Google Ads × Call Records · prove
How to know you did it right — Google Ads × Call Records
Source of truth
your call tracking records — qualified calls for a fully closed month
Google Ads × Call Records · free audit
What we check in the free audit
- Confirm both numbers cover the same period and channel
- Raw call volume counted as conversions
- Number pool too small
- Dynamic number insertion failing on cached pages
- Read the match rate on the upload, not the success message
Checked against
your call tracking records — qualified calls for a fully closed month
Free30 minutesNo obligation
Google Ads × Call Records · when not to buy
When the answer is that you do not need us — Google Ads × Call Records
- If almost all of your qualified calls come from a channel with no click behind it, no tracking work will reach them — and knowing that is worth more than a build.
- If you're running Performance Max exclusively and haven't separated your conversion actions, the import will work and the reporting won't tell you much. Worth sorting the account structure first.
Google Ads × Call Records · what we deliver
The method, step by step — Google Ads × Call Records
Pull what Google Ads reports
The match rate on the upload, not the success message.
Pull what your call tracking records shows
Export tracked calls for a closed month with duration and outcome, and join each to the job, appointment or deal it produced.
Filter both to the same thing
Calls longer than your qualifying threshold, classified as genuine enquiries.
Compare per record, not on totals
FAQ
Google Ads × Call Records questions, answered
Keep calls from ads as a secondary action for reporting and upload qualified calls as the primary one you bid on. Counting both as primary double-counts every caller who converts.
Those callers dial from the results page and never load your site, so dynamic number insertion never sees them. Match them on caller ID and call time instead, if your account supports that import.
Because you should know the size of the problem before anyone quotes you for it. If the gap is small, you have saved yourself a purchase. If it is large, you now know what you are buying rather than taking our word for it.
No. Both numbers come from systems you already own and neither leaves them. There is no tool to sign up for and nothing to upload.
Then compare totals for a closed period and treat the result as directional rather than exact. The match rate on the upload, not the success message is still the right place to read the platform's side.
Under five percent is working. Five to fifteen usually means reversals are missing. Above twenty is normally the wrong event being counted, not a broken tag — which is why debugging tags first wastes so much time.
Then fix the filter before drawing any conclusion. Calls longer than your qualifying threshold, classified as genuine enquiries. A mismatch in scope produces a gap that looks like a tracking fault and is not one.
Book the free thirty-minute call and bring both numbers. We will tell you which of the causes above it is, and whether it is something you can fix yourself — which it sometimes is.
More on Google Ads × Call Records
- Meta × Call RecordsHow to reconcile Meta Ads against your call tracking records
- TikTok × Call RecordsHow to reconcile TikTok Ads against your call tracking records
- Microsoft × Call RecordsHow to reconcile Microsoft Ads against your call tracking records
RELATED GUIDES
Systems of record beside call records, and the funnels it settles
- Google Ads × Enrolment SystemHow to reconcile Google Ads against your application or enrolment system
- Google Ads × Invoicing SystemHow to reconcile Google Ads against your invoicing system
- Google Ads · Directory listing → enquiryHow to track directory listing to enquiry for Google Ads
- Google Ads · Phone call → saleHow to track phone call to sale for Google Ads
- Google Ads · Appliance repairGoogle Ads conversion tracking for appliance repair companies
- Google Ads · PoolsGoogle Ads conversion tracking for pool installation and service companies
- RingCentral → Google AdsConnecting RingCentral to Google Ads
- CallTrackingMetrics → Google AdsConnecting CallTrackingMetrics to Google Ads
Free · 30 min
Found a gap between Google Ads and your call tracking records?
Free30 minutesNo obligation
