Ask what an HVAC lead costs and you will get a number. The number will be wrong, because there is no single number, and treating it as one is how contractors end up scaling the least profitable part of their marketing.
Here is the actual spread, from SearchLight's January 2026 benchmark across 816 contractors, 8,077 campaigns and $14.88 million in ad spend:
| Service line | Non-branded cost per lead |
|---|---|
| Performance Max (mixed intent) | $72 |
| Blended, all services | $104 |
| Heating repair | $144 |
| General HVAC | $198 |
| AC repair | $231 |
| Indoor air quality | $274 |
| Water heater | $343 |
Same trade. Same month. A 4.7x spread.
The short answer
Budget $100 to $250 per lead for paid search in most markets, and stop optimising that number. The figure that decides whether your marketing works is cost per booked job, which is cost per lead divided by your close rate for that channel. Those two numbers move independently, and the cheaper lead frequently produces the more expensive customer.
Cost by channel, with the close rate attached
Cost per lead without a close rate next to it is not information. Here is both:
| Channel | Cost per lead | Close rate | Cost per booked job |
|---|---|---|---|
| Referrals | ~$0 | 50%+ | ~$0 |
| Organic search | Under $40 | 25–40% | ~$115 |
| Google Local Services Ads | $40–$80 | 20–35% | ~$218 |
| Performance Max | $72 | Varies | Unclear by design |
| Facebook / Instagram | $20–$60 | 10–20% | ~$267 |
| Google search, non-branded | $149 | 15–30% | ~$662 |
| Lead aggregators | $50–$100 | 8–15% | ~$652 |
The last two rows are the important comparison. Aggregator leads look half the price of search leads and cost about the same per customer, because the enquiry was sold to several contractors at once and you convert far fewer of them. That is a structural property of the model rather than bad luck, and we unpacked it in exclusive versus shared HVAC leads.
Watch out
The arithmetic that catches people out: a $149 lead booking at 30% costs $497 per customer. A $72 lead booking at 10% costs $720. The cheaper lead was 45% more expensive to convert, and any dashboard reporting cost per lead would have shown it winning.
Why the service lines differ so much
The 4.7x spread is not arbitrary. Three forces set it:
Urgency compresses the pool. Water heater and AC repair searches happen when something has already failed. Intent is near-total, the searcher count is small, and every competitor bids on the same terms at the same moment. High cost, high close rate, high job value.
Breadth dilutes intent. "General HVAC" at $198 is expensive for the opposite reason: the queries are vague, so you pay for clicks from people comparing, researching or looking for a job at an HVAC company. Negative keywords matter more here than anywhere else.
Seasonality doubles everything. Costs spike exactly when demand does. Pre-season money goes considerably further, and the timing is less obvious than most contractors assume, which we covered in the best time of year to advertise HVAC. Paid social prices move on a different clock, and its audience controls changed materially in 2026, covered in HVAC Facebook ads targeting homeowners.
Running one campaign for "HVAC" averages all of this into a single meaningless number. Split by service line and the economics become visible: you will usually find one line quietly subsidising another.
What you should actually budget
Work backwards from jobs, not forwards from a percentage of revenue.
- Revenue target for the period.
- Divide by average job value to get jobs needed.
- Divide by your close rate to get leads needed.
- Multiply by your real cost per lead for the channel you will use.
That is your budget. If the result is unaffordable, the fix is a higher close rate or a cheaper channel, not a smaller number pretending to do the same work. We walked the full calculation with worked examples in how many HVAC leads you need per month.
One caution from contractors running Google Ads in competitive regions: clicks of $30 to $50 are common, which means a $1,000 monthly budget buys roughly twenty clicks. That is not a campaign, it is a sample too small to learn anything from. Either fund a channel properly or pick a cheaper one.
We price engagements against your area and target volume rather than quoting a band, because a cost per lead that ignores your close rate and your job values tells you nothing useful. Tell us both and you get real figures.
What you can actually change about the price
Cost per lead is not handed to you. Roughly half of it is market conditions and roughly half is decisions inside your account, and contractors consistently underestimate the second half.
Search term waste. In a "general HVAC" campaign, a meaningful share of spend goes to people researching, comparing, doing it themselves, or looking for a job at an HVAC company. Reading the actual search terms report and adding negative keywords is the single highest-return hour in a paid search account, and most accounts have never had it done. The $198 general HVAC figure is inflated by exactly this.
Landing page relevance. Sending ad traffic to your homepage costs you twice: worse ad rank, so you pay more per click, and worse conversion, so fewer of those clicks become leads. A dedicated page per service line usually moves cost per lead more than any bid change.
Ad schedule. If nobody answers between 6pm and 8am, you are paying for clicks during hours you cannot convert. Either cover those hours or stop buying them. Given that 41% of online bookings arrive outside business hours, covering them is usually the better answer.
Geography. Metro areas run 20% to 25% higher than smaller markets on the same terms. If your service area spans both, a single campaign averages the two and hides the fact that one is subsidising the other.
Match type discipline. Broad match on high-value terms like water heater or replacement is where budgets disappear fastest, because the platform will happily find you adjacent intent at emergency prices.
Ad relevance. Better ads cost less per click, not just more clicks. This is a direct discount, and it compounds with everything above.
None of these require more budget. Together they routinely move a real cost per lead by 20% to 40%, which on the split model is the difference between a channel that works and one that does not.
The market factors you cannot change
Worth knowing so you plan around them rather than fight them.
Competition density. A metro with three private-equity-backed consolidators bidding is a different auction from a town with four independents. This is the largest single driver of the metro premium, and it is why comparing your cost per lead to a contractor in another market tells you nothing.
Season. Costs spike when demand spikes, because every competitor bids in the same week. This is the most predictable and most ignored factor in the entire calculation.
Platform-wide inflation. Google Ads cost per click across all categories rose 12.88% year over year in 2025. Home services was already among the most expensive categories before that increase.
Service line. The 4.7x spread from $72 to $343 is structural, driven by urgency and searcher pool size, and no amount of optimisation collapses it.
The honest read is that lead prices in this trade go up over time, reliably. Which makes the channels that are not auction-priced, referrals, organic search and your existing customer base, more valuable every year rather than less. That is the case for building them even while the paid channels carry the near term, and it is why the ranking in the best lead sources for HVAC companies puts the owned channels at the top.
A worked example of true cost
To show how far the reported number can sit from the real one, take a contractor paying $231 per AC repair lead and running a typical account.
| Line | Effect | Running cost per booked job |
|---|---|---|
| Reported cost per lead | $231 | |
| 20% of leads never answer | ÷ 0.80 | $289 per contactable lead |
| Close rate 25% | ÷ 0.25 | $1,156 per booked job |
| Fix response time, close rate to 32% | ÷ 0.32 | $903 |
| Add negatives, CPL to $195 | $762 | |
| Dedicated landing page, close to 36% | $677 |
The reported figure never moved from $231 in the ad platform for the first two improvements, and cost per booked job fell by 41% across the four. That gap between what the dashboard reports and what a customer costs is where most HVAC marketing decisions go wrong.
The costs nobody puts in the spreadsheet
Three real expenses that never appear in a cost-per-lead calculation and change the answer:
Leads you never respond to fast enough. Only 11% of HVAC businesses reply within an hour, and contacting a lead within five minutes makes you 21 times more likely to qualify it than waiting thirty. A lead you paid $231 for and called back the next morning was not a cheap lead, it was a wasted one. That is the subject of why your HVAC leads are not converting.
Traffic your site cannot convert. If the only way to contact you is a phone number, you are paying for visits from everyone still comparing options and capturing none of them. Across home service businesses, 43% do not list service areas, 65% show no hours and 74% have no FAQ.
After-hours demand. 41% of jobs booked online arrive outside business hours. If nothing catches those, your effective cost per lead is roughly double what your ad platform reports, because you are paying for the whole day and harvesting part of it.
What to track instead
Four numbers, monthly, by channel:
- Cost per lead, so you can see what you are paying.
- Book rate, which is the number that actually varies between channels.
- Cost per booked job, which is the first two divided, and the only one that decides budget.
- Revenue per customer by service line, because an installation customer worth $8,000 to $15,000 and a tune-up customer worth $150 should never share a bidding strategy.
One practical obstacle worth naming: most contractors try to get these numbers from their accounting system, which cannot produce them, because it starts counting at the invoice and the leads that never converted were never recorded. That gap is the subject of is QuickBooks a CRM.
Most contractors track the first and none of the rest. That single gap explains more underperforming HVAC ad spend than any targeting or creative problem, and it is why comparing your cost per lead to another contractor's is close to meaningless. Start from the full lead-generation picture if you have not fixed response speed and the website gaps first, because both change these numbers more than any bid adjustment will.
