What Is Call Tracking and How Does It Work?
Call tracking assigns unique phone numbers to each marketing channel. When a homeowner calls the number on your Google Ad, that call is attributed to Google Ads. When they call the number on your mailer, it's attributed to direct mail. All calls forward to your main business line — your team answers exactly as they do now — but you gain data on which marketing channel drove each call.
Think of it like color-coded phone lines. Google Ads gets a blue line. Facebook gets a green line. Your mailer gets a red line. Every call comes through to the same CSR, but you can see which color line it came in on. Over a month, you can see: Google Ads generated 47 calls, Facebook generated 31 calls, mailers generated 12 calls.
The technology is straightforward: call tracking providers give you local or toll-free numbers that forward to your real business number. The forwarding is instant — callers don't notice any difference. But in the background, the system logs the tracking number (channel), caller number, call duration, and often records the call for quality analysis.
- Each marketing channel gets a unique tracking phone number
- All calls forward to your main business line (callers notice nothing different)
- System logs which channel drove each call automatically
- Call recording available for CSR quality analysis and training
- Works for both online (Google Ads, Facebook) and offline (mailers, yard signs, truck wraps) channels
What Is Dynamic Number Insertion (DNI)?
Dynamic Number Insertion (DNI) automatically swaps the phone number displayed on your website based on how the visitor arrived. If they clicked a Google Ad, they see one number. If they came from organic search, they see a different number. If they came from Facebook, another number. This lets you track phone calls from your website back to the specific marketing channel that brought the visitor there.
Without DNI, your website shows one phone number. A visitor from Google Ads and a visitor from Facebook both see the same number. When they call, you can't tell which channel drove them to your site. DNI solves this by dynamically changing the displayed number based on the traffic source — tracked through a small JavaScript snippet on your website.
DNI is especially powerful because it captures the visitors who browse your website before calling. They might click your Google Ad, read your reviews page, check your service area, and then call. Without DNI, that call would be unattributed. With DNI, it's correctly attributed to the Google Ads keyword that started the visit.
- Automatically swaps your website phone number based on traffic source
- Google Ads visitors see one number, Facebook visitors see another
- Tracks website visitors who browse then call (not just direct clicks on ads)
- Works through a small JavaScript snippet on your website
- Most call tracking providers (CallRail, CallGear) include DNI in their plans
How Does Call Tracking Work With ServiceTitan, Jobber, and Housecall Pro?
ServiceTitan has built-in call tracking with tracking campaigns and dedicated numbers — no third-party tool needed. Jobber and Housecall Pro don't have native call tracking, so you'd use CallRail, CallGear, or a similar provider. In all cases, call data can be connected to your CRM to see which marketing channels produce booked jobs, not just calls.
ServiceTitan's built-in tracking is its biggest marketing advantage. You create tracking campaigns, assign phone numbers, and ServiceTitan automatically logs which campaign drove each call. Marketing scorecards then show calls, booked jobs, and revenue per campaign. The limitation is that it only tracks calls to tracking numbers — main line calls still need manual CSR tagging.
For Jobber and Housecall Pro users, CallRail is the most popular option. It integrates with both platforms and provides tracking numbers, DNI, call recording, and basic analytics. The key is connecting CallRail data to your CRM data so you can see not just 'Google Ads generated 47 calls' but 'those 47 calls became 23 booked jobs producing $87K revenue.'
- ServiceTitan: built-in tracking campaigns with dedicated numbers (included in subscription)
- Jobber: no native call tracking — use CallRail ($45-$145/mo) or similar
- Housecall Pro: no native call tracking — use CallRail or similar
- CallRail integrates with both Jobber and HCP for basic call-to-lead tracking
- Key: connect call data to CRM job data to measure revenue, not just calls
What's the Difference Between Tracking Calls and Tracking Revenue?
Call tracking tells you which channels generate phone calls. Revenue tracking tells you which channels generate booked jobs and collected revenue. A channel might generate 50 calls but only 10 booked jobs (tire-kickers, price shoppers, wrong numbers). Another channel might generate 20 calls but 15 booked jobs. Call volume alone doesn't tell you which channel is more profitable.
This is the gap that most contractors miss. They set up call tracking, see that Google Ads generates the most calls, and increase their Google Ads budget. But if half those calls are tire-kickers who never book, the actual cost per booked job from Google Ads might be twice what it looks like from call volume alone.
Revenue tracking requires connecting call data to CRM job data. The call tracking system knows which channel drove the call. Your CRM knows whether that call became a booked job and what revenue it generated. Connecting the two gives you cost per booked job — the only metric that tells you whether a marketing channel is truly profitable.
- Call tracking: 'Google Ads generated 47 calls this month' (useful but incomplete)
- Revenue tracking: 'Those 47 calls became 23 booked jobs producing $87K revenue' (actionable)
- Call volume can be misleading: high-call channels may have low booking rates
- Cost per booked job = ad spend / booked jobs (not ad spend / calls or leads)
- Revenue tracking requires connecting call tracking data to CRM job and revenue data
How Do You Track Offline Channels Like Mailers, Yard Signs, and Truck Wraps?
Assign unique tracking phone numbers to each offline channel. Print the Google Ads tracking number on your Google Ads. Print a different number on your mailers. A third number on your yard signs. A fourth on your truck wraps. When homeowners call those numbers, the calls are automatically attributed to the correct offline channel — just like digital tracking.
The simplicity of offline call tracking is its biggest advantage. You don't need pixels, cookies, or complex technology. Just a unique phone number printed on each piece of marketing material. The call tracking system logs which number rang, and you know exactly which offline channel drove that call.
Where it gets more nuanced is tracking offline channels that drive web visits instead of direct calls. A homeowner sees your yard sign, doesn't call the number, but goes home and Googles your company name. That web visit looks like 'organic search' in your analytics. Tracking this requires more sophisticated attribution — matching the timing and geography of yard sign placements with web traffic spikes. This is where tools like Rivet add value beyond basic call tracking.
- Unique number per offline channel: mailers, yard signs, truck wraps, door hangers
- Calls automatically attributed when homeowner dials the printed tracking number
- No pixels or cookies needed — just a phone number on printed material
- Challenge: offline channels that drive web visits instead of direct calls
- Advanced: match yard sign placements with local web traffic spikes for indirect attribution
What Does Call Tracking Cost?
Call tracking costs range from $0 (ServiceTitan built-in) to $45-$300/month for third-party tools like CallRail. Most contractors need 5-15 tracking numbers at $3-5/month each plus per-minute usage. CallRail's Essentials plan at $45/month includes 5 numbers and 250 minutes — enough for most small to mid-size operations.
If you're on ServiceTitan, basic call tracking is included in your subscription. You create tracking campaigns and assign numbers at no additional cost. Marketing Pro adds deeper analytics for $200-$600/month, but the basic tracking is free.
For Jobber and Housecall Pro users, CallRail is the standard choice. The Essentials plan ($45/month) includes 5 local tracking numbers, 250 minutes of call tracking, call recording, and basic reporting. The Pro plan ($95/month) adds keyword-level tracking, form tracking, and integrations. Additional numbers cost $3-$5/month each, and minutes beyond your plan are billed at $0.05/minute.
- ServiceTitan: basic call tracking included in subscription ($0 additional)
- ServiceTitan Marketing Pro: $200-$600/month for advanced analytics
- CallRail Essentials: $45/month (5 numbers, 250 minutes, call recording)
- CallRail Pro: $95/month (keyword tracking, form tracking, integrations)
- Additional numbers: $3-$5/month each
- For most contractors: $45-$145/month covers all your call tracking needs
How Does Rivet Use Call Tracking as Part of Full Attribution?
Rivet uses call tracking as one layer in a complete attribution system. Call tracking data (which channel drove the call) is connected to CRM data (which calls became booked jobs and revenue) and ad platform data (what you paid for the clicks that generated those calls). The result: true cost per booked job by channel, keyword, and campaign — the complete picture no single tool can provide alone.
Call tracking alone tells you which channels generate calls. Rivet connects that call data to everything else: the ad click that preceded the call, the website pages they visited, the CRM job record, and the final collected revenue. Every link in the chain is connected, so you can trace a single booked job all the way back to the specific keyword or Facebook audience that started the journey.
This is especially powerful for multi-touch attribution. A homeowner sees your Facebook ad, visits your website (tracked by DNI), doesn't call, then sees your yard sign the next week and calls the number printed on it. Basic call tracking credits the yard sign. Rivet's multi-touch tracking also credits Facebook for the awareness that made the yard sign effective.
- Call tracking provides one piece: which channel drove the phone call
- Rivet connects it to ad spend, website analytics, and CRM revenue data
- Result: cost per booked job by channel, keyword, and campaign
- Multi-touch credit: awareness channels get credit even when they don't get the call
- Single dashboard showing all channels — digital and offline — with full revenue attribution