TL;DR: Stop Tracking HVAC Cost Per Lead. Track HVAC Cost Per Booked Job Instead.
HVAC cost per booked job = marketing spend ÷ booked appointments.
A lower CPL does not always mean better marketing. Booking rate can completely change the economics.
Track the full path: Lead → Qualified → Booked → Ran → Sold → Revenue → Gross Profit.
If qualified leads are not booking, the problem may be call handling or follow-up, not HVAC Digital Marketing.
Break cost per booked job out by channel and service so you can see which campaigns are actually creating valuable appointments.
A $100 HVAC lead can be cheaper than a $50 lead.
That sounds backwards, but it happens all the time.
If the $50 lead only books 25% of the time, you are really paying $200 for each booked appointment. If the $100 lead books 60% of the time, your HVAC cost per booked job is about $167.
That is why I think too many HVAC companies are looking at the wrong number.
Cost per lead is useful, but it only tells you what happened at the top of the funnel. It does not tell you whether the lead was qualified, whether someone answered the phone, whether the customer booked, whether the appointment ran, or whether the job was sold.
I care much more about what happens after the lead comes in.
When I look at HVAC marketing, I want to see:
Spend → Qualified Lead → Booked → Ran → Sold → Revenue → Gross Profit
That tells you where the money is actually being made or lost.
And the first number I would add to almost every HVAC marketing report is cost per booked job.
It gives you a much better view of whether your marketing is actually putting work on the schedule. Just as importantly, it helps you figure out whether the real problem is your ads, your lead quality, your front office, your scheduling, or your sales process.
In this article, I’ll show you how to calculate HVAC cost per booked job, what a good number looks like, why booking rate matters so much, and how to lower it without automatically spending more money on leads.
What Is HVAC Cost Per Booked Job?
The basic formula is:
Marketing Spend ÷ Booked Appointments = HVAC Cost Per Booked Job
If you spend $10,000 on Google Ads and those ads generate 40 booked appointments:
$10,000 ÷ 40 = $250 per booked job
You can also calculate it this way:
Cost Per Lead ÷ Booking Rate = Cost Per Booked Job
If your CPL is $100 and 40% of your leads book:
$100 ÷ 40% = $250 per booked job
Simple right? But that one extra step can completely change how you judge your marketing. I still track CPL. I just do not let it make the final decision.
That is the same reason I recommend tracking a broader set of HVAC marketing KPIs owners should actually track instead of looking at one number in isolation.
The $50 Lead Can Be More Expensive Than the $100 Lead
Here is a simple example.
Campaign A
100 leads
$50 CPL
$5,000 spent
25% booking rate
25 booked appointments
Cost per booked job: $200
Campaign B
100 leads
$100 CPL
$10,000 spent
60% booking rate
60 booked appointments
Cost per booked job: $167
If I only looked at CPL, Campaign A looks incredible. Half the price. But Campaign B is actually putting appointments on the schedule for less money.
That is why I get nervous when an agency report leads with something like:
“Great month. CPL dropped 23%.”
Okay. Did those people book?
HVAC Customer Acquisition Cost makes the same basic point. A HVAC example shows how a roughly $70 lead can turn into a roughly $210 booked opportunity once conversion is factored in.
That is a much more useful number.
First, Get Clear on What You Mean by “Lead”
This matters more than it sounds.
I separate these:
Lead: Someone contacts the company.
Qualified lead: Someone you can actually service who is interested in a service you provide.
Booked appointment: They agree to a time and get put on the schedule.
Ran appointment: The technician actually gets in front of them.
Sold job: They buy something.
Those are five different things.
If 50 people call but 15 are vendors, job seekers, people outside your territory, and requests for services you do not offer, you do not really have 50 sales opportunities.
On the other hand, you cannot conveniently label every person who did not book as a “bad lead.”
That is where I like separating raw booking rate from qualified booking rate, which I explain more in my guide to HVAC call booking rate.
If the leads are bad, fix the marketing.
If the leads are good and nobody books them, fix what happens after the phone rings.
Those are different problems.
Your Booking Rate Can Change the Economics More Than Your CPL
Say you spend $15,000 and generate 100 leads. Your CPL is $150. Now watch what happens as booking rate changes.
You just cut your HVAC cost per booked job in half.
You did not:
Negotiate cheaper clicks
Increase the HVAC Google Ads budget
Generate more leads
Launch another campaign
You just got better at converting the opportunities you already paid for.
This is one reason I think some HVAC companies go looking for a marketing solution when they actually have an intake problem.
Before I tell a contractor to spend another $5,000 on leads, I want to know what happened to the last $5,000 worth.
That idea comes up a lot in how I think about getting more HVAC leads without increasing ad spend.
How I Would Diagnose a High HVAC Cost Per Booked Job
Do not immediately change the ads. Start by finding where people disappear.
Lots of Leads Are Not Qualified
Now I am looking at marketing.
Pull actual leads and categorize them:
Wrong service
Wrong city
Spam
Job seeker
Existing customer
Vendor
Legitimate new opportunity
If a campaign generated 100 leads and only 55 were legitimate opportunities, that is a marketing problem.
Check:
Search terms
Keyword match types
Negative keywords
Geographic targeting
Ad copy
Landing page messaging
Conversion tracking
This becomes especially important when you use automated campaigns. Google can only optimize toward the conversion signals you give it. If every random phone call gets treated as a successful conversion, Google has no idea which calls actually matter.
That is one of my bigger concerns when comparing Performance Max vs Search campaigns for home service businesses.
The Leads Are Good, But They Are Not Booking
Now I would leave Google Ads alone for a minute.
Pull 10 to 20 calls that did not book and listen to them.
I would specifically look for:
How many calls went unanswered?
How quickly were missed calls returned?
Did the CSR actually ask for the appointment?
Did they offer a specific appointment time?
How did they explain the diagnostic fee?
Did they sound confident?
Did the homeowner leave without a clear next step?
One of the easiest mistakes to miss is a CSR who is helpful but does not sell the appointment.
Homeowner:
“How much is your service call?”
CSR:
“$89.”
Homeowner:
“Okay, thanks.”
CSR:
“No problem.”
And the call ends. Nothing went wrong technically. But nothing got booked either.
Appointments Book, But They Do Not Run
Now look at operations.
How far out are you scheduling?
Are customers getting text confirmations?
Are you giving four-hour arrival windows and then showing up late?
How many appointments cancel?
How many reschedule?
A booking is useful, but I also want to know your run rate.
Appointments Run, But Nobody Buys
Now I am looking at your technicians and sales process.
Compare technicians by:
Close rate + average ticket
If Tech A closes 58% and Tech B closes 29%, I want to know why before I buy another 100 leads.
Look at:
How each tech presents options
Financing usage
Whether they give one option or several
Estimate follow-up
How clearly they explain the problem
Whether they identify legitimate additional work
Average ticket by technician
The goal is not to pressure homeowners.
The goal is to understand why one person consistently converts good opportunities better than another.
What Is a Good HVAC Cost Per Booked Job?
There is no number I would call “good” for every HVAC company.
That would be like asking:
“What is a good price to pay for inventory?”
Inventory of what?
The value of the booked opportunity matters.
A $300 booked appointment for a $79 tune-up and a $300 booked appointment for a $12,000 replacement should not be judged the same way.
Recent industry data gives us some useful context. Based on published CPL and booking-rate data, approximate booked-job costs have ranged from around:
$61 for branded Search
$116 for HVAC LSA
$224 for Performance Max
$396 for non-branded Search
The important part is not memorizing those numbers. It is seeing how different the economics become once booking rate is included.
I would also expect those numbers to move substantially based on market, season, service and competition.
Denver in July is not the same as Denver in October.
Furnace repair is not the same as furnace installation.
And branded Search is not doing the same job as non-branded Search.
That is why I would not compare Google LSA vs Google Search Ads for HVAC businesses only by lead price.
Break Cost Per Booked Job Out by Service
This is where the reporting gets much more useful.
Do not just calculate:
Google Ads cost per booked job = $287
Break it out.
I would want to know:
AC repair cost per booked job
Furnace repair cost per booked job
AC replacement cost per booked job
Furnace replacement cost per booked job
Heat pump cost per booked job
Maintenance cost per booked job
Then add:
Run rate
Close rate
Average ticket
Gross profit
Now you can make actual budget decisions.
Maybe AC repair costs $175 per booking but produces lower gross profit.
Maybe replacement costs $425 per booking but produces far more gross profit.
That is the same reason I recommend calculating HVAC customer acquisition cost against the economics of the service instead of some generic industry average.
I Would Track It by Channel Too
Do the same thing for:
Google Search
Local Services Ads
Performance Max
SEO
Google Business Profile
Referral sources
Do not assume one is better because its CPL is lower.
In one home-service dataset I use internally, the numbers looked roughly like this:
Branded Search: $34 CPL, $104 per paying customer
Non-branded Search: $149 CPL, $804 per paying customer
Performance Max: $72 CPL, $447 per paying customer
LSA: $53 CPL, $233 per paying customer
That tells a very different story than:
“LSA is $53 and Search is $149, so turn off Search.”
The next question is what type of customer each channel produced.
I have seen this firsthand with an HVAC company in Denver. We grew inbound volume from roughly 6 to 10 leads a month to around 30 to 35 using Search, SEO and a stronger website.
That was good.
But getting more leads was only part of the job. Once volume goes up, weaknesses in call handling, booking, sales and tracking become much more expensive.
That is why I think HVAC marketing ROI ultimately has to connect marketing to revenue and gross profit, not just the lead count.
How to Lower HVAC Cost Per Booked Job Without Chasing Cheaper Leads
If your cost per booked job is too high, I would work through this list in order.
1. Fix obvious lead-quality problems
Pull actual search terms and actual calls.
Do not guess.
2. Improve answer rate
If a good lead calls and nobody answers, you paid to generate a call for the contractor who answers next.
3. Get faster on missed calls and forms
A homeowner with no heat is not patiently waiting until tomorrow morning.
4. Listen to calls that did not book
I would rather hear 20 lost calls than stare at another dashboard.
You will usually find patterns quickly.
5. Look at the landing page
Does the page clearly say:
What you do
Where you work
Why someone should trust you
What they should do next
That is why contractor website design that turns visitors into calls matters even when your ads themselves are good.
6. Build a better marketing mix
Paid Search can capture demand now. SEO for HVAC can build another source of demand over time.
Your Google Business Profile, website, reviews, Search campaigns, LSA and SEO should support each other.
That is how I think about what digital marketing an HVAC company actually needs.
Cost Per Booked Job Is Better Than CPL. It Still Is Not the Finish Line.
This is important.
I do not want to replace one oversimplified metric with another.
A booked job can cancel.
A ran job can fail to sell.
A sold job can have terrible margin.
Eventually, I want this:
Spend → Qualified → Booked → Ran → Sold → Revenue → Gross Profit
If I were running the company, my monthly scorecard would include:
That is enough data to tell me where I would start digging.
Do This With Your Last 30 Days of Leads
You do not need new software to start.
Pull the last 30 days and make a spreadsheet.
For every source, record:
Spend → Leads → Qualified → Booked → Ran → Sold → Revenue
Then calculate:
CPL
Booking rate
Cost per booked job
Run rate
Close rate
CAC
Now find the biggest drop.
That is probably where I would spend my time first.
Not wherever the marketing dashboard happens to be red.
Conclusion: HVAC Cost Per Booked Job Is a Better Way to Judge Marketing
Cost per lead still has a place.
I use it to understand traffic costs, lead quality, and campaign performance. But I would never let CPL tell me whether an HVAC marketing campaign is actually working.
HVAC cost per booked job gets you closer to the business.
It tells you what you are really paying to put an opportunity on the schedule. From there, you can look at run rate, close rate, average ticket, customer acquisition cost, revenue, and gross profit.
That is where the useful decisions come from.
If your cost per booked job is high, do not automatically cut the campaign. First figure out why.
Are the leads bad?
Are calls being missed?
Are qualified leads not booking?
Are appointments canceling?
Are technicians running calls but not closing?
Find the biggest drop, then fix that part of the process.
That is a much better use of your time than chasing a cheaper CPL.
If you want help figuring out where your HVAC marketing is actually losing money, Schulze Creative can help you track the full path from lead to booked job to customer, then improve the part that is holding growth back. Book a free marketing consultation today.
FAQ: HVAC Cost Per Booked Job
What is HVAC cost per booked job?
HVAC cost per booked job is your marketing spend divided by the number of booked appointments generated from that spend.
How do you calculate HVAC cost per booked?
Use:
Marketing Spend ÷ Booked Appointments
If you spend $12,000 and generate 48 appointments, your cost per booked job is $250.
Is HVAC cost per booked job better than cost per lead?
For evaluating how efficiently marketing turns into scheduled work, I think it is much more useful.
I still track CPL because it helps diagnose advertising performance.
The mistake is stopping there.
What is a good HVAC cost per booked job?
It depends on the service.
Your allowable cost should be much higher for a profitable replacement opportunity than for a low-ticket maintenance visit.
I would work backward from close rate, average ticket and gross profit instead of choosing an arbitrary industry benchmark.
Should HVAC companies track booked jobs or sold jobs?
Both.
Booked jobs tell you how well marketing and intake are working.
Sold jobs tell you whether those appointments actually become customers.
Does Schulze Creative track HVAC cost per booked job?
When the tracking setup allows it, yes.
I want to know more than how many leads an HVAC campaign generated. I want to connect the marketing to qualified opportunities, bookings, sold customers, revenue and gross profit whenever possible.
How does Schulze Creative improve HVAC cost per booked job?
It depends on the bottleneck.
If lead quality is poor, I look at targeting, keywords, campaigns and landing pages.
If the leads are legitimate but are not booking, I look at call handling, speed to lead and what happens after the inquiry.
The point is to diagnose the problem before spending money trying to fix it.