HVAC · CASE STUDY
The math on HVAC lead acquisition.
HVAC is one of the most expensive local categories to advertise in. Most contractors who come to us aren’t short on demand. They’re paying too much for each lead, losing a share of those leads before anyone books a visit, and judging every channel by the same number.
$149 average cost per lead on non-branded search
Benchmark based on 816 contractors and $14.9M in tracked spend.
Source: SearchLight 2026 HVAC Benchmark

01 · The economics
Non-branded search is where the money goes.
Branded searches are cheap because the customer already knows you. Non-branded searches like “AC repair near me” are where new customers come from, and where the cost per lead climbs to around $149.
That’s the channel most contractors lean on hardest in peak season, and it’s the one that punishes loose targeting the most.
Before we touch the ad account, we look at what a booked job is worth: average ticket, close rate, and how many customers turn into maintenance agreements. That tells us what a lead can actually cost.
02 · The leaks
Where HVAC budgets disappear.
Seasonal swings. Spend gets cranked up in July and January, then cut in spring and fall, so the account never learns and costs spike when demand does.
Unanswered calls. Peak season is also when the office is busiest. Every missed call on a $149 lead is money handed to the next contractor on the list.
One page for everything. Repair, replacement, maintenance and indoor air quality are different intents. Sending them all to the homepage hurts conversion and Quality Score.
No maintenance follow-up. A repair customer who never hears about a maintenance plan is a customer you’ll pay to acquire again.
03 · Methodology
What we actually do.
Split campaigns by service and season, with tight negative keywords and separate budgets for branded and non-branded search.
Build service pages and real location pages for the areas you want to win, aligned with your Google Business Profile.
Fix the conversion path: tap-to-call, short forms, call tracking and missed-call text-back so expensive leads don’t go cold.
Build local SEO so organic search carries more of the load in shoulder season and you rely less on paid clicks.
Turn completed jobs into reviews and maintenance agreements.
04 · Outcomes
What we measure.
Cost per booked job, not just cost per lead.
Answer rate and missed-call recovery.
Share of leads from organic and Maps versus paid.
Maintenance agreement sign-ups from new customers.
The goal is a channel mix where the math holds year-round, not just in peak season.