Marketing Attribution for Contractors: A 30-Day Plan
A contractor's 30-day plan to see which marketing produces booked jobs: call tracking, UTMs, CRM source fields, offline conversions, and revenue reports.
Set up Google Ads call tracking before you scale spend. What call reporting gives you free, when to add a third-party tool, and the setup checklist that works.
If you spend real money on Google Ads and cannot say which calls came from which campaign, you are flying blind on the channel's strongest lead type. Phone calls close at higher rates than form fills for most service businesses, and Google gives you call tracking for free in the form of call reporting. The mistake is scaling spend before switching it on, or bolting on a paid tracking tool before understanding what the free layer already does.
This guide covers what Google's call reporting records, what it will not tell you, when a third-party tool earns its subscription, and the setup checklist that keeps your phone numbers approved and your call data flowing into the CRM.
Turn call reporting on at the account level, and Google assigns a forwarding number to your call assets, location assets, and call ads. The number looks local or toll-free, routes the call to your real line, and lets Google record:
You can then count calls of a specified duration as conversions and let automated bidding optimize toward them. Two billing details are worth internalizing. You are charged for the click on the call button, at the same CPC as a headline click, and you are not charged when someone manually dials the forwarding number. Those manual dials still appear in reporting at the campaign and ad group level, though not against keywords and ads.
There is also a reporting nuance that confuses almost everyone the first time: phone calls are reported on the date the call happened, while call conversions are reported on the date of the ad click that led to it. A call on August 7 from a click on August 5 shows up in both dates, in different columns. That is not a bug.
Google's call reporting is deliberately scoped to Google Ads. Three limits matter for planning:
None of that argues against using it. It argues against assuming that your Google Ads call report is your call attribution.
| Capability | Google call reporting | Third-party tool | DIY with Twilio |
|---|---|---|---|
| Cost | Free with normal CPC | CallRail from $45 per month for 5 numbers and 250 minutes | Number $1.15 per month, inbound calls $0.0085 per minute |
| Sources attributed | Google Ads only | Ads, organic, GBP, offline in one view | Whatever you build |
| Dynamic number insertion | Google forwarding numbers only | Yes, per visitor and per source | Buildable |
| CRM routing | Via your own integration | Native integrations | Buildable |
| Ongoing maintenance | None | Low | On you |
Public pricing changes, so verify current numbers before quoting them. Two practical rules hold regardless. If you only need to attribute calls from Google Ads, the free layer is enough. If marketing decisions depend on comparing calls across channels, buy or build the cross-channel layer, because a report that shows only one channel makes that channel look worse or better than it is.
The DIY route is worth naming because the math is stark: at Twilio's listed rates, a tracking number costs $1.15 per month and inbound minutes cost $0.0085, so a thousand minutes of tracked calls costs under $9 in carrier fees. What you pay for with a commercial tool is the reporting, routing, and integration layer, not the telephony.
The most common support thread in call tracking is a disapproved ad with the message unverified phone number. The cause is almost always dynamic number insertion. Your website swaps the displayed number per visitor, so Google's automated system, which verifies phone numbers by scanning your site's source code, cannot match the number in your assets to the number on your site.
Changing the number's formatting will not fix it, even into the correct international standard. The documented fix is to prove domain ownership instead, in one of two ways: link Google Search Console to Google Ads, or add the Google tag directly to the website's raw HTML source rather than through a tag manager. After verification, resubmit the call assets by editing and saving them. Also remember that the number in your ads must be written in full international format to pass the initial check.
The point of tracking calls is measuring what happens after them. ServiceTitan's 2022 dataset of more than 3,000 trades businesses found an average call booking rate of 42 percent, with after-6pm rates falling to 21 percent for large shops and 9 percent for small ones. You cannot improve a booking rate you cannot see, and the booking rate lives in the CRM, not in Google Ads.
That is why tracking and attribution belong together. Call reporting tells you which ads produced calls. The CRM tells you which calls became jobs. The join between them is what marketing attribution solves, and once it exists you can calculate cost per booked call per campaign and stop optimizing toward the wrong number. Our attribution reporting workflow shows the reporting side, and the contractor attribution guide walks through a 30-day setup. If calls are leaking before they are even answered, run the missed call revenue calculator on your own numbers before you buy more traffic.
Does Google Ads call reporting cost extra?
No. Turning on call reporting is free, and calls are billed as standard ad clicks at your usual CPC when someone taps the call button. Google does not charge for people who manually dial a forwarding number, and Google forwarding numbers carry no separate fee. A third-party tracking tool is what adds a subscription cost.
What is a Google forwarding number?
It is a unique phone number Google assigns to your ads when call reporting is on. It routes calls to your real business number while recording call duration, start time, and connected status. The number is property of Google, can be changed or reassigned, and cannot be reused outside call reporting.
Why is my number disapproved as unverified when I use call tracking?
Dynamic number insertion changes the number in your website source code depending on the visitor, so Google's automated verification cannot confirm it. The fix is to verify the domain instead, either by linking Google Search Console to Google Ads or by adding the Google tag directly to your raw HTML rather than through a tag manager, then resubmitting the assets.
Should I use Google call reporting or a third-party tool?
Use Google call reporting for calls from your ads, because it is free and native to the auction. Add a third-party tool when you need to attribute calls from organic search, your Google Business Profile, or offline sources in the same report, or when you want advanced routing and recording. Many businesses run both.
Turn on call reporting this week, verify the domain if you use dynamic number insertion, and route the call records into the same system that holds your booked jobs. If you want the full loop built, from ad click to call record to booked job, start at the funnel on our home page or book a call. Our pricing page shows how these builds are scoped.
A contractor's 30-day plan to see which marketing produces booked jobs: call tracking, UTMs, CRM source fields, offline conversions, and revenue reports.
No widget needed - learn the step-by-step arithmetic that turns unanswered calls into a monthly dollar figure, with a worked example and a table you can copy.
Map your lead journey from capture to reactivation, answer 12 questions, score each stage and find the leaks costing you deals, in one sitting.
More articles: browse the full Praktivo blog.