When your cost per lead jumps, the instinct is to slash the budget or start shopping for a new agency. Before you do either, you need to know which of seven specific things actually broke. HVAC owners rarely have a spend problem. They have a measurement problem, a conversion problem, or a lead-quality problem wearing a “leads too expensive” costume. Fix the wrong thing and you’ll cut spend, watch call volume drop, and still wonder why the phone isn’t ringing.
The seven strategies below cover the full chain: what your CPL should actually be, why it’s high, and what to do about it at each stage from the ad account to the phone call to the close.
1. Benchmark your real CPL before reacting
Home services Google Ads CPL typically runs $18 to $35. That’s a real range, not a marketing brochure number, and it exists because home service verticals convert at reasonably predictable rates once traffic quality is solid. The problem is most HVAC owners look at one blended number across the whole account and panic when it drifts above what feels comfortable, without checking whether that number is actually outside the normal band.
Suppose your blended CPL sits at $25. That’s squarely inside the $18-35 range. If bookings are still soft, the lead cost isn’t the issue. Something downstream, your conversion rate or your close rate, is where the money is actually leaking. Reacting to CPL alone in that scenario means cutting a campaign that’s performing exactly as it should.
To get an accurate read, pull the last 90 days of CPL by campaign and split it by service line: repair, install, maintenance. Each of these has a different buyer intent and a different natural CPL. Install leads, for example, often cost more because the keywords are more competitive and the sales cycle is longer. Comparing a blended average against a single benchmark hides which segment is actually the problem.
The common mistake here is judging one number against total revenue instead of breaking it out. A contractor might see a $40 blended CPL and assume the whole account is broken, when in reality the repair campaign is at $22 and performing fine while the install campaign, priced and targeted incorrectly, is dragging the average up. Measure CPL by campaign and service line, and also track cost per qualified lead against cost per raw lead so you’re not comparing apples to spam.
2. Raise Quality Score to lower CPC directly
Google Ads rewards relevance with lower prices at the same auction position. Quality Score is Google’s shorthand for how well your keyword, ad copy, and landing page match what the searcher typed. When those three are tightly aligned, you pay less for the same click. When they’re loosely connected, which is common in accounts running one broad “HVAC services” campaign, you pay a premium for the mismatch.
This is mechanical, not theoretical. If someone searches “AC not cooling emergency repair” and lands on a generic services page that also talks about new installs, financing, and maintenance plans, Google’s relevance signals drop and your CPC climbs to compensate.
To fix it:
- Audit your ad groups for keyword overlap and consolidate anything that’s competing against itself.
- Split one generic campaign into distinct ad groups for repair, install, and maintenance.
- Rewrite responsive search ads to include the exact service and location terms searchers use, not generic phrases like “HVAC experts.”
- Build a landing page for each intent that matches the ad copy word for word where possible.
The common mistake is running one campaign and one landing page for both emergency repair searchers and install-quote shoppers. Those are two completely different buying moments, and Google can tell. Track Quality Score, CPC trend, and click-through rate over the following few weeks. If CPC drops while CTR holds or improves, the relevance fix is working.
3. Layer in Local Services Ads for pay-per-lead pricing
Google Local Services Ads flip the cost model. Instead of paying per click and hoping it converts, you pay per lead, and only for leads Google considers valid. That shifts risk away from you and toward the platform, and it comes with a Google Guaranteed badge that gives homeowners a trust signal a standard search ad can’t provide when they’re comparing three or four HVAC quotes side by side.
Getting into LSAs requires completing Google’s background check and license verification process, which takes time but is worth doing in parallel with your existing search campaigns rather than instead of them.
Once you’re live:
- Respond to leads within minutes. LSA placement rewards responsiveness, and slow response times quietly push your ads down the rotation.
- Set a weekly lead cap that matches what your crew can actually handle, not what you wish they could handle.
- Review every lead against the dispute window criteria before assuming it’s a sunk cost.
The common mistake is letting invalid or duplicate leads sit unchallenged. Google allows disputes for leads that are clearly spam, out of your service area, or not the service you offer, but only if you flag them within the window. Owners who skip this step end up paying for leads that never should have counted. Track cost per lead directly in the LSA dashboard alongside your dispute approval rate. A low approval rate usually means you’re not disputing aggressively enough, not that Google’s system is broken.
4. Tighten geography and time-of-day targeting
A lot of wasted HVAC ad spend has nothing to do with keywords or ad copy. It’s geography and timing. Running a flat 24/7 bid schedule with a wide default radius means you’re paying for clicks in zip codes your crews don’t cover and during hours when you can’t realistically dispatch anyone.
Weather is the clearest example. A heat spike or cold snap drives a genuine surge in emergency call volume, and a static bid schedule doesn’t flex to capture or capitalize on that. Meanwhile, a 2 a.m. bid adjustment set the same as a 2 p.m. one is paying premium rates for calls you can’t answer until morning anyway.
Set your radius targeting to match your actual service area, not an arbitrary 20-mile circle. Apply bid adjustments by hour so spend concentrates where your dispatch capacity actually exists. Exclude zip codes entirely where you have no crew coverage, even if they occasionally convert. A lead you can’t service isn’t a lead, it’s a customer service problem waiting to happen.
The common mistake is treating targeting as a set-and-forget setting from the campaign launch. Track CPL by zip code and by hour of day, and calculate the percentage of spend going toward areas or times that rarely produce booked jobs. That wasted spend percentage is often where the real savings live, not in the keyword list.
5. Improve conversion rate instead of cutting bids
Cost per lead is simply cost per click divided by conversion rate. Most owners try to lower CPL by cutting bids, which usually just drops you to a worse ad position and lower-quality traffic. The more durable fix is raising the conversion rate, because it lowers CPL without touching the auction at all.
Between 40 and 70 percent of home service leads come in by phone, not through a form. If your landing page buries the phone number below a contact form, or worse, sends all paid traffic to your generic homepage, you’re losing conversions before the ad spend even has a chance to pay off.
A landing page built to convert should have the phone number as a click-to-call button above the fold, license and insurance information visible without scrolling, and copy that matches the exact service searched for, repair, install, or maintenance, rather than a generic “we do it all” pitch.
The common mistake is sending paid search traffic to the homepage. A homeowner who searched “furnace repair near me” and lands on a page about your full range of services has to hunt for relevance, and most won’t bother. Build service-specific pages instead. Track landing page conversion rate and the split between phone calls and form submissions, since a page that only tracks form fills is blind to most of its actual traffic.
6. Track calls and score leads to expose true cost per booked job
CPL is a vanity number if you’re not separating real jobs from spam, wrong-number calls, and price shoppers who were never going to book. A campaign showing a $22 CPL might actually cost $60 per booked job once you strip out the noise, and you won’t know that without call tracking in place.
Set up call tracking numbers per campaign so every call can be traced back to its source. Record and tag each call as booked, spam, or wrong service. Feed that tagging back into your bid and budget decisions on a regular cadence, not once and forget it.
The common mistake is tracking only form fills. Since the majority of home service leads arrive by phone, an account that only measures form conversions is measuring a minority of its actual traffic and drawing conclusions from an incomplete picture. This is also the fastest way to misdiagnose a conversion problem as a CPL problem, since you can’t see where the leads are actually failing.
Track cost per booked job as your primary metric going forward, not cost per lead. Pair it with lead-to-appointment rate so you can see exactly where leads fall out of the pipeline, whether that’s the initial call, the estimate, or the follow-up.
7. Build Local SEO and GBP to lower blended cost over time
Local SEO CPL runs $7 to $15 once a campaign matures past the 12-month mark, well below paid search. That’s not a knock on paid search, it’s a different tool with a different timeline. The Map Pack captures roughly 42 percent of local clicks, which means your Google Business Profile is influencing visibility and lead volume before a single dollar changes hands.
Optimizing GBP categories, adding real service photos, building out service-area pages on your site, and generating a steady flow of reviews all feed into Map Pack ranking. None of this replaces paid search. It compounds alongside it, gradually pulling your blended CPL down as organic and Map Pack leads start covering a larger share of total volume.
Expect a 30 to 90 day ramp before you see meaningful movement, and understand that the real payoff builds over months, not weeks. That’s the trade: slower to start, cheaper to sustain.
The common mistake is expecting first-month results and pulling the plug when nothing dramatic happens by week four. Local SEO isn’t a paid-search replacement and it isn’t a quick fix, it’s a long-term cost reducer. Track organic and Map Pack lead volume as a trend line over time, and watch your blended CPL across all channels move as that volume grows. Our local SEO services are built around that ramp, not around promising overnight rankings.
8. Stop judging aggregator leads on CPL alone
Aggregator and shared-lead services often post the lowest CPL of any channel an HVAC company runs, and that’s exactly why they’re so easy to misjudge. A lead sold simultaneously to three or four competing HVAC companies can look cheap on paper while producing a far higher real cost per booked job, because you’re racing multiple competitors to the same homeowner’s phone.
The fix is comparing close rate by source, not sticker price by source. Track how many aggregator leads actually convert to booked jobs versus how many leads from your own PPC, LSA, or SEO channels convert. In most HVAC accounts, owned channels close at a meaningfully higher rate simply because the homeowner isn’t fielding four other calls in the same ten minutes.
Where you can, renegotiate for exclusivity with aggregator partners, even at a higher per-lead price. An exclusive lead at a higher CPL often beats a shared lead at a lower one once you run the close-rate math. Where exclusivity isn’t available or affordable, shift budget deliberately toward owned channels based on what the data actually shows, not on which channel has the lowest number on the invoice.
The common mistake is comparing aggregator CPL directly against owned-channel CPL without adjusting for close rate. It’s an apples-to-oranges comparison that consistently makes shared leads look better than they are. Track cost per booked job by source and close rate by source, side by side, before making any budget decision between the two.
Where to Start When Your CPL Feels Out of Control
Start with the audit and the phone. Strategy 1 and strategy 6, benchmarking your real CPL and tracking calls to expose cost per booked job, tell you what’s actually broken before you touch a bid or a budget. Everything else is a guess until those two are in place. From there, move to Quality Score and landing page work, since those directly lower cost per lead without adding new spend. Only after that foundation is solid does it make sense to layer in new channels like Local Services Ads or Local SEO, because a new channel built on top of bad measurement just gives you a bigger, more expensive version of the same confusion.
Tired of spending money on marketing that doesn’t produce real revenue? We build lead systems that turn traffic into qualified leads and measurable sales growth. If you want to see what this would look like for your business, we’ll walk you through how it works and break down what’s realistic in your market.