What a Houston HVAC Owner Found When He Finally Tagged Every Call With Its Lead Source
A Houston-area HVAC owner spent $11K a month on marketing and couldn't answer which channel drove the most revenue. Six weeks of tagging every call rewrote his entire marketing budget.
Key takeaways
- Invoca 2025 data shows 37 percent of digital marketing calls are qualified leads and 46 percent of those leads convert on the call
- About 28.7 percent of leads are actively misattributed to catch-all campaigns like 'Main Website Number' when call-tracking is not set up correctly
- CallRail beta data shows shops that properly tag calls convert 30 percent of previously missed calls into qualified leads
- The gap between a 46 percent and 85 percent booking rate is mostly CSR qualification and response time, which call tagging surfaces immediately
Contents
- 01The 66 percent of jobs with no lead source attached
- 02The tracking number setup that was still not catching everything
- 03The LSA vs Google Ads surprise
- 04The "Angi is trash" narrative the data killed
- 05The booking rate gap between two CSRs
- 06The missed-call blind spot
- 07What this means for your shop
- 08Sources
- 09Frequently Asked Questions
A Houston-area HVAC owner running 6 trucks was spending $11,200 a month across Google Ads, Local Service Ads, Facebook, Angi, Yelp, and Google Business Profile posts. When his wife asked at a kitchen table on a Friday night which channel drove the most booked revenue last quarter, he genuinely didn't know.
He guessed LSA. His service manager guessed Google Ads. His wife guessed the repeat-customer database. They opened his ServiceTitan dashboard. The lead source field was filled in on exactly 34 percent of jobs from the prior quarter, and of those, 61 percent were coded "Website" with no further detail.
He had no idea where $33,600 of quarterly marketing spend was landing. Three weeks later, after he forced every inbound call to get tagged with a specific lead source before it was dispatched, he found out one channel was printing money and another channel was costing him $390 per booked job with nothing to show for it.
The 66 percent of jobs with no lead source attached
The first thing he saw was how bad the baseline data was. Two thirds of his booked jobs had no lead source at all. His office manager had been hitting "Save" without filling in the field because the CRM did not require it.
Pink Callers' 2026 contractor lead tracking guide put the pattern everyone hits: "Tagging and notes are key components: labels should identify lead types as 'AC install,' 'furnace repair,' or 'tune-up,' with notes on urgency or financing requests, which helps follow up smarter and analyze trends later." [Pink Callers] None of that happens until tagging is required before dispatch.
Data Driven Trades' 2025 analysis of contractor lead attribution found that of actively misattributed leads, "56.5 percent landed in catch-all campaigns such as 'Main Website Number' and others, suggesting a lack of call-tracking campaigns set up using LLM UTMs." [Data Driven Trades] That is exactly the "Website" bucket in the Houston owner's CRM hiding six different channels at once.
He made tagging mandatory. CSRs could not save a job without picking from a dropdown: LSA, Google Ads, Facebook, Angi, Yelp, GBP, Referral, Past Customer, or Direct Website. The first week was a revolt. By week three it was muscle memory.
Text Sully: "percent of booked jobs last month with a valid lead source tagged, broken down by CSR"
The tracking number setup that was still not catching everything
Even with tagging discipline, he had a technical gap. He was running one CallRail number on his website and another on LSA, but Google Ads was routing to a third number that had been set up three agencies ago and was owned by a previous marketing consultant. Angi and Yelp sent leads straight to his main business line.
"To track lead sources, HVAC contractors should assign a dedicated phone number for every paid campaign (Google Local Services Ads, Angi, Facebook Ads, etc.)." That is Inquirly's 2025 rule and it was the rule he had been violating for two years. [Inquirly]
Within a week he moved every channel to its own CallRail number. Business card and invoice follow-ups got a separate number each. Truck wraps got their own number. Facebook lead ads pushed into a dedicated number. When a call came in, the tracking number itself was the lead source, which eliminated CSR guesswork entirely.
CallRail's 2025 home services docs frame the payoff: "CallRail beta customers report converting 30 percent of previously missed calls into qualified leads. The Conversion Signals feature automatically optimizes Google Ads bidding based on call quality, improving campaign cost per qualified lead by 23 percent." [CallRail] Those gains are only reachable once the tracking numbers are split by channel, not bundled on one main line.
Text Sully: "show me all inbound calls last week with their CallRail tracking number and whether that number mapped to a specific ad campaign"
The LSA vs Google Ads surprise
Six weeks into the new tagging, the owner pulled the report. LSA had driven 71 booked jobs at $89 cost per booked job. Google Ads had driven 44 booked jobs at $203 cost per booked job. Facebook had driven 6 booked jobs at $468 cost per booked job. Angi had driven 19 jobs at $156 cost per booked job.
His guess (LSA) was right. The gap was the shocker. LSA was producing 2.3x the booked jobs of Google Ads at 44 percent of the cost. He had been spending roughly the same dollars on each channel.
This matched Invoca's 2025 cross-channel benchmark nearly exactly. Invoca's home services report found "Display Ads achieve the highest lead rate at 54 percent of answered calls, while Social Ads generate leads from 43 percent, and Google Ads Paid Search from 39 percent. Despite lower percentage rates, Google Ads drives the highest overall volume of calls." [Invoca] Volume is not value. The owner had been buying volume on Google Ads while LSA quietly produced higher-converting calls for less money.
He moved $1,800 of monthly Google Ads budget to LSA. Booked jobs went up 12 percent the following month. Cost per booked job across the blended marketing spend dropped from $243 to $181.
Text Sully: "cost per booked job by lead source last quarter, ranked from lowest to highest"
The "Angi is trash" narrative the data killed
Half the forum consensus in r/HVAC and on ContractorTalk is that Angi is a waste of money. The Houston owner believed this too and had been planning to cancel the $1,400 a month he spent there. Tagging changed his mind.
Angi had driven 19 booked jobs at $156 cost per booked job. The average ticket on those jobs was $2,300 because Angi leads were skewing toward full-system replacements, not tune-ups. Revenue per Angi lead was meaningfully higher than cheap-channel averages.
Webrunner's HVAC marketing case data shows this pattern repeating: the channels owners hate on in forums often perform well once revenue per booked job is the comparison, not cost per lead. [Webrunner Media] The $156 cost per booked job at a $2,300 average ticket meant Angi was delivering roughly 14x return on ad spend.
He doubled his Angi budget instead of canceling it. Jack Carr, on the Owned and Operated podcast, made the same argument for HVAC shops: lead tracking and GBP together with disciplined follow-up drive sales that most contractors never attribute correctly. Rapid Response Heating and Cooling scaled by using tagged call data, not by chasing the next marketing channel. [Owned and Operated]
Text Sully: "for each lead source last quarter, show average ticket, cost per booked job, and revenue return on ad spend"
The booking rate gap between two CSRs
Once lead source was reliably tagged, another gap appeared. His A-CSR booked 71 percent of LSA calls. His B-CSR booked 52 percent of the same LSA calls. Same channel, same lead quality, same time of day, 19-point gap.
Meridian Gable's HVAC booking rate analysis puts the industry average at "46 percent and top performers hit 85 percent." [Meridian Gable] The gap between A and B on his team was almost the entire industry spread. His A-CSR was near top-performer territory. His B-CSR was pulling the shop back toward the average.
That is a training and call-review problem, not a marketing problem. He started listening to 5 recorded calls per CSR per week and giving feedback. His B-CSR's booking rate moved to 64 percent inside two months. Every percentage point of booked rate on LSA calls was worth roughly $800 per month in additional revenue at his ticket and volume.
This is exactly the pattern Scorpion's response-time research documents. Outreach inside 5 minutes still matters, but so does qualification once the call connects. [Scorpion]
The missed-call blind spot
The final thing the tagging exercise surfaced: missed calls per channel. LSA missed-call rate was 8 percent (the fastest-responding channel on the phone room). Google Ads was at 14 percent. Angi was at 22 percent because Angi's own call transfer lag led callers to hang up before the CSR picked up.
Every missed LSA call cost the owner roughly $89 of upstream ad spend and one booked-job worth of ticket. Every missed Angi call cost $156 and a higher ticket. He layered a missed-call text-back workflow on top of the CallRail numbers to catch anything that bounced.
That workflow recovered 41 percent of missed calls into a scheduled callback or form fill. Over 90 days it added about $18,000 of booked revenue from leads that would have otherwise gone to a competitor. CallRail's own benchmark of 30 percent conversion on previously missed calls matches the neighborhood closely. [CallRail]
The orchestration layer for this kind of follow-up is the same pattern described in an AI missed-call followup agent built to run across every channel, not one tool per lead source.
Text Sully: "missed calls by lead source last week, and which of those missed calls got a follow-up text within 10 minutes"
What this means for your shop
Make lead source tagging mandatory in your CRM. Not optional. Not "if the CSR has time." Required before save. If your CRM supports required fields, turn it on today.
Put a unique CallRail, WhatConverts, or equivalent tracking number on every channel, including business cards, truck wraps, invoice follow-ups, yard signs, and every paid campaign. Do not share a number across channels. Single-number bundling is what produces the "Website" bucket that hides 60 percent of your real attribution.
Pull cost per booked job by lead source every week. Rank channels. Kill or cap the worst. Double down on the best. And listen to 5 calls per CSR per week to find the hidden booking-rate gap that is probably costing you more than any single ad channel.
Most owners skip tagging because it feels like overhead. The Houston owner in this story got a second LSA truck out of the same budget inside 120 days once he knew which channel was actually working. He never changed his agency. He just made his data honest, which is also why unified lead-to-job views are the kind of questions Jobber's dashboard cannot answer without an external reporting layer stitching the sources.
Sources
- Invoca 2025 Home Services Call Conversion Benchmarks Report
- CallRail Home Services Call Tracking
- Pink Callers: Contractor Lead Tracking Complete Guide
- Inquirly: Best Ways to Track and Manage HVAC Leads in 2025
- Data Driven Trades: Contractor Lead Attribution Analysis
- Meridian Gable: HVAC Booking Conversion Rate
- Scorpion: Why Speed Wins in Home Services Response Time
- Owned and Operated: Marketing Strategies for Your Home Service Company
- Webrunner Media: HVAC Marketing Case Study
Frequently Asked Questions
6 questions home service owners actually ask about this.
01What is the single biggest call tracking change for HVAC contractors?
Assign a unique phone number to every paid channel and require lead source tagging in the CRM before a job saves. Those two changes expose cost per booked job by source, which is the number that actually runs marketing decisions.
02Why is the "Website" lead source so common and misleading?
Most CRMs default unknown callers and form fills to a "Website" bucket when call-tracking numbers are not split by channel. Data Driven Trades found 56 percent of misattributed leads landed in catch-all campaigns. The bucket hides the real channel mix.
03How many CallRail numbers does a 6-truck HVAC shop really need?
At least one per paid channel (LSA, Google Ads, Facebook, Angi, Yelp, GBP). Plus one per offline asset: invoice, truck wrap, yard sign, business card. A typical 6-truck shop runs 10 to 15 tracking numbers. CallRail's pricing starts around $45 to $145 per month for this volume.
04What is a good booking rate on inbound HVAC calls?
46 percent is the industry average, 85 percent is the top performer benchmark per Meridian Gable's 2026 data. Anywhere below 55 percent is a CSR training and qualification-script gap, not a lead quality gap.
05Should a contractor cancel Angi if cost per lead looks high?
Not before comparing revenue return on ad spend. Angi leads often have higher average tickets because they skew toward replacements. Many contractors who cancel Angi on CPL alone would have kept it if they had compared revenue per booked job.
06How fast does lead source tagging pay off?
Most shops see the first 10 to 20 percent reallocation move inside 30 days of mandatory tagging plus split tracking numbers. A full budget rebuild based on cost per booked job by channel typically takes 60 to 90 days to compound.
See Sully in action
Sully is the pre-built AI for home service shops. Connect your CRM, email, and phone system in minutes and the agents run on your real data.