Ad Tracking for Contractors: Which Platform Actually Closes the Loop on Booked Jobs
Key Takeaways
- Only 22% of home service businesses track conversions beyond pageviews - the other 78% are guessing on every campaign
- Accounts that import offline conversions see CPL drop 15-30% once Google has 30+ booked jobs to learn from
- 85-95% of calls come from your Google Business Profile, not your website - generic ad trackers miss this entirely
- One brand using Facebook CAPI properly hit a 2.1x ROAS lift and 2.8x lower cost per purchase versus pixel-only setups
Only 22% of home service businesses track conversions beyond pageviews, per LocaliQ’s 2025 benchmarks. The other 78% are spending $3,000 to $30,000 a month on ads and judging performance on clicks. Clicks don’t book jobs.
The ad tracking reviews on page one of Google rank Hyros, Voluum, AnyTrack, and Cometly. Those tools were built for affiliate marketers and e-commerce brands tracking checkout events. Not for a plumber whose conversion is a phone call that turns into a $9,000 repipe three days later.
Here’s what works when conversions are offline, phone-heavy, and split across Google Search, LSA, Facebook, and your Google Business Profile.
What does “ad tracking” actually mean for a contractor?
For an affiliate marketer, ad tracking means a postback URL fires when someone buys a $39 supplement. Done in 90 seconds.
For you, the job ends 3 days later when a tech runs the call and your CSR closes the invoice. The gap between “ad click” and “booked revenue” is where 80% of contractor ad budgets leak.
A roofer on r/sweatystartup put it plainly: he spent $7,800/month on Google Ads, got 140 form submissions, and had no idea which keywords produced the 11 roof replacements that funded the business. The form submissions all looked identical in Google’s dashboard.
That’s the problem real ad tracking solves. Not “did someone click.” Did someone click, call, qualify, book, and pay.
Why generic ad tracking SaaS misses for home services
Hyros starts at $99/month and pitches “AI ad tracking for high-ticket advertisers.” Voluum starts at $199/month. AnyTrack runs $50/month and up.
All three are tag-based trackers. They drop a script, capture clicks and on-site events, and pass conversion data back to the ad platform.
The problem: 65% of home service leads come in by phone, per Invoca consumer survey data. A tag-based tracker watching the browser tab doesn’t see a phone ring or whether the booked job paid out at $400 or $14,000.
The same logic kills these tools on Local Services Ads. 85-95% of your inbound calls likely come from your Google Business Profile or LSA, not your website, according to BG Collective. A tracker watching your website sees zero of those calls.
What actually closes the loop: the four layers that matter
Real attribution for a contractor runs across four layers. No single tool covers all four, and any “all-in-one ad tracking platform” claiming it does is hiding something in the fine print.
Layer one: call tracking with dynamic number insertion. CallRail, CallTrackingMetrics, or WhatConverts. Swap the phone number on your site based on traffic source so a Google Ads visitor sees a different number than a Facebook visitor. CallRail starts at $45/month for 500 minutes.
Layer two: website conversion tracking. GA4 plus Google Ads conversion tracking for form submits and click-to-call. Free. Catches the 25-35% of leads that come through web forms instead of phone.
Layer three: server-side ad platform integration. Google’s Enhanced Conversions and Facebook’s Conversions API (CAPI). These send hashed first-party data directly from your server to the ad platforms, bypassing the cookie blocks Safari and iOS imposed in 2021.
Layer four: offline conversion import. This is where most contractors stop and where the ROI actually lives. Push booked-job revenue from your CRM (ServiceTitan, Jobber, Housecall Pro, Workiz) back into Google Ads and Facebook so the algorithms learn what a real customer looks like, not just what a form-fill looks like.
Skip layer four and you’re optimizing for form submissions. Including the ones from tire-kickers, wrong-zip-code shoppers, and competitors casing your prices.
How much does it cost to run a real ad tracking stack?
Per LocaliQ’s 2025 home service report, HVAC companies pay an average of $5.31 per click and $45.27 cost per lead on Google Ads. A mid-size HVAC shop spending $8,200/month produces roughly 180 leads.
If even 20% of those leads are junk and you’re optimizing toward them, you’re paying $1,640 a month to teach Google to send more junk.
Here’s what a real stack costs against that:
- CallRail Call Tracking: $45-100/month (covers 500-2,000 tracked minutes)
- GA4 + Google Ads conversion tracking: $0
- Google Tag Manager + Enhanced Conversions: $0 (setup time only)
- Facebook CAPI via Stape, CustomerLabs, or Zapier: $0-150/month depending on volume
- Offline conversion import from your CRM: $0-50/month (Zapier or native integration)
Total: roughly $50-300/month for a contractor spending $3,000-15,000/month on ads. 1-3% of ad spend on the infrastructure that prevents 20-40% from being wasted.
A plumbing contractor referenced in PHC&P Pros reported cost per lead dropping from $187 to $112 after offline conversion imports went live. Same budget, 40% more leads.
Which call tracking platform should a contractor use?
CallRail is the default answer because it ships with native ServiceTitan, HubSpot, Salesforce, and HouseCall Pro integrations. CallRail’s ServiceTitan integration pushes lead attribution (source, medium, campaign, keyword) directly onto the ServiceTitan contact record and matches inbound calls to existing customers automatically, per CallRail’s documentation.
CallTrackingMetrics costs slightly less and includes better text/SMS tracking. WhatConverts has the cleanest reporting interface for an owner who wants a daily revenue-by-source view without learning a new dashboard.
Invoca is the enterprise option. Signal AI analyzes call content and auto-routes based on caller intent. The price reflects this: it’s not built for a single-truck operation.
A residential HVAC owner on r/HVAC described running CallRail for 4 months and finding that 62% of his ad-attributed calls came from a single high-intent keyword group. The other 38% of his Google Ads budget was buying clicks that never called. He paused the dead groups, kept total spend flat, and booked revenue climbed the next month.
That’s what tracking actually does. You can’t pause what you can’t see.
How do you handle offline conversion tracking with ServiceTitan or Jobber?
This is the layer that separates contractors who know their numbers from contractors who guess.
The mechanic: when a job gets booked and the invoice closes in your CRM, you push a “Lead Converted” event back to Google Ads and Facebook with the Google Click ID (GCLID) or Facebook Click ID (FBCLID) that originally brought the lead in. The ad platforms then know which click produced revenue, not just which click produced a form fill.
CallRail’s ServiceTitan integration handles call-side attribution automatically. For web form leads, you typically need Zapier, Make, or a direct API connection.
Google has reported a median 10% increase in conversions when advertisers pair first-party offline data with click identifiers versus standard click-only imports. Accounts that hit 30+ offline conversions per month see CPL drop 15-30% once the algorithm has enough data to learn from, per ALM Corp’s 2026 offline imports guide.
A luxury kitchen contractor cited in BG Collective set up offline conversions mapped only to jobs over $40K in his service zip codes. Lead volume dipped slightly. Close rate jumped and average project value went up. The algorithm started ignoring the looky-loos.
For a smaller shop, you may not have 30+ jobs/month from paid ads. Start with what you have. Two months of clean offline data beats six months of GA4 optimizing toward form-fillers who never picked up the phone.
Offline revenue tracking from a CRM like Workiz is the single highest-ROI tracking project most contractors haven’t done yet.
Does Facebook CAPI actually move the needle for contractors?
Yes, when it’s set up against booked-job events instead of form submits.
One brand combining CAPI and custom conversions saw a 2.1x ROAS lift, 2.8x lower cost per purchase, and 2.4x lower cost per view content, per CustomerLabs case data. Another reported ROAS climbing from 13x to over 20x after match rate optimization through CAPI.
Contractor translation: your Facebook campaigns stop optimizing toward “people who view a landing page” and start optimizing toward “people who book a $4,800 AC install.” That changes who Facebook shows your ads to.
Technical lift: install the Meta pixel and configure CAPI through a server-side container (Stape is easiest, around $20/month) or use a managed connector like CustomerLabs. Pair it with offline conversion uploads from your CRM the same way you do for Google.
Skipping CAPI in 2026 is the same mistake as skipping pixel tracking was in 2018. Apple’s iOS privacy changes broke client-side pixel data so badly that Meta recommends CAPI as the primary signal source.
Facebook conversion tracking for contractors covers the setup in detail.
What about LSA tracking? Doesn’t Google handle that?
Google handles LSA call tracking inside the LSA dashboard. The problem is that data is stranded.
Your LSA report shows you “20 leads this week, $880 spent, $44 per lead.” It doesn’t tell you that 6 of those leads were out-of-area homeowners you can’t serve, 4 were jobs you bid and lost, and 2 were the $11,000 panel upgrades that funded your week.
Google removed manual LSA dispute options in mid-2024 and replaced them with automated credits, per Coalmarch’s 2025 LSA update. Contractors reported declining lead quality under the new system, with out-of-city and out-of-trade leads landing in their accounts with limited recourse.
The workaround: tag every LSA call manually in your CRM with outcome and revenue. After 60 days, you have a real CPL by service line Google’s dashboard never showed you. The full LSA versus Google Ads breakdown covers when each channel makes sense.
Common ad tracking mistakes that cost contractors real money
Counting “every” conversion instead of “one.” If a homeowner submits your form three times because the success page didn’t load, you have one lead, not three. Set Google Ads counting to “one” for lead actions.
Wrong conversion window. Emergency services use a 7-14 day window. Replacement and install work uses 30-60. Defaults lump them together and skew the data.
Tracking form submits but not phone calls. 65% of home service leads come by phone. A setup that misses 65% of the conversions is not a tracking setup.
Treating all leads as equal value. A water heater replacement quote is worth 8-12x a faucet repair question. Assign conversion values in Google Ads so the algorithm bids accordingly.
Setting it up and never auditing. A contractor in r/PPC shipped conversion tracking in 2023, then discovered in 2025 that his thank-you page URL had changed during a redesign and he’d been recording zero conversions for 8 months. Audit every 90 days.
The $10,000 mistake of paid ads without tracking is one no contractor needs to make twice.
How do you know your ad tracking is actually working?
Three checks, in order:
One: submit your own form and call your own tracking number. The conversion should fire in Google Ads within 6 hours and Facebook within 1-2 hours. If it doesn’t, the install is broken.
Two: pull a 30-day report and reconcile against your CRM. If Google Ads says 47 conversions, your CRM should show roughly 47 leads from Google Ads in the same window, plus or minus 10%. A 30%+ gap means your import isn’t pushing all events.
Three: look at the cost-per-conversion trend over 60 days. A working setup with smart bidding should bring CPL down 10-25% over 6-8 weeks. Flat or rising means the algorithm isn’t learning, which usually means data quality is poor.
UTM parameters and multi-touch attribution sit underneath all of this. The tracking platform is the plumbing. The decisions you make from the data are what generate ROI.
Frequently Asked Questions
Do I need Hyros or one of the other generic ad trackers if I’m running CallRail?
Probably not. Hyros was built for affiliate and e-commerce advertisers tracking on-site checkout. CallRail plus GA4 plus Google’s and Facebook’s native server-side APIs cover the same ground at a fraction of the cost, with native ServiceTitan integrations Hyros doesn’t have.
Can I track Google Ads, Facebook, and LSA in one dashboard?
Partially. WhatConverts, CallTrackingMetrics, and ServiceTitan Marketing Pro show calls and leads across sources in one view. Full revenue attribution still requires pushing CRM data back to each ad platform individually.
How long until tracking improves my CPL?
Plan on 6-8 weeks before Google’s Smart Bidding has enough data to optimize. Don’t change bidding strategies in the first 4 weeks of new tracking.
What’s the minimum tracking setup if I only have a $1,500/month ad budget?
CallRail Lite, GA4 with form and call_click conversions imported into Google Ads, and Facebook CAPI through Zapier. Around $50/month total. Skip the multi-touch attribution platforms until you’re at $5K+/month on paid.
Is GA4 enough on its own?
No. GA4 sees website conversions only. It doesn’t reliably see phone calls, can’t push offline revenue back to ad platforms automatically, and under-credits paid search for considered purchases. Treat GA4 as one input, not the source of truth.
Stop optimizing toward clicks that don’t book jobs
Generic ad tracking SaaS wasn’t built for contractors. Call tracking, server-side conversion APIs, and offline import setups are what close the loop on a phone call, a CSR conversation, and a $9,000 booked job.
Paid ads analytics tools for contractors goes deeper on the dashboard side. The anonymous visitor to booked job tracking stack covers the identification layer on top.
The contractors who know their cost per booked job, not their cost per click, are the ones still buying ads in year five while their competitors quit.
Written by
Pipeline Research Team