HVAC Cost Per Lead: What's a Good CPL in 2026?

HVAC cost per lead in 2026 — what a good CPL looks like for DFW shops, why generic agencies charge $90-$130, and the qualification filters that bring it into the $48 well-run range.

HVAC cost per lead is the number vendors quote you first, and the number they want you to anchor on. It's also the wrong number to evaluate a campaign by. The CPL on a tune-up form-fill that never books isn't comparable to the CPL on a $5,200 AC repair call-out booked Friday afternoon. A blended number sitting in the middle tells you nothing about either.

For DFW HVAC shops running trades-operator-built campaigns, the well-run CPL band sits in the high-$40s — the $48-$54 range — while generic agencies quote $90-$130 for the same market. The gap isn't ad-spend or platform fees. It's qualification filters, service-area targeting, and the cost-per-booked-job reporting most agencies never set up. This piece walks through what changes the number and how to read a CPL quote before you sign.

Short version: a $48 well-run CPL and a $110 generic CPL both produce leads. Only one of them produces booked jobs. The math below is how to tell which one you're being sold.

1. The honest CPL bands for DFW HVAC shops in 2026

Worth stating what the actual range looks like before anyone tries to sell you a number.

Generic-agency CPL (non-trades-operator): $90-$130 in DFW. The number comes from broad-match campaigns that pull in DIY researchers, after-hours clicks that come from outside the actual service area, and form-fills from price-shoppers who vanish after the quote. The volume looks healthy. Close rates crater.

Well-run, trades-operator CPL (DFW, 2026): $48-$54, with the floor at $42 on hyper-disciplined accounts and the ceiling around $68 once tune-up → replacement LTV gets fully credited. This number assumes negative-keyword maintenance, ZIP-set service-area targeting replacing the default radius, and close-rate reporting that punishes low-booking campaigns.

Single-platform (Meta or Google only) campaigns: $60-$85, sitting between the two. Single-channel saturation is the usual cause — the platform has hit its volume ceiling in your ZIP set, so CPL creeps up as you push for more. The fix is channel mix, not more budget on the same channel.

If an agency quotes you inside the generic-agency band — $90+ for a DFW HVAC account — and they aren't quoting you a separate cost-per-booked-job number, you're being sold the metric, not the result. The broker-style "shared lead" vendors sit at the high end of this range because their qualification is "did the form submit," not "will this book."

2. What actually moves a CPL from $90 to $48

The difference between a $90 generic-agency CPL and a $48 well-run one is almost never media spend. The same Google Ad account, the same audience, the same budget can produce a $48 CPL or a $110 CPL depending on four operating choices:

Match-type discipline. Broad match on an HVAC campaign pulls in "how to recharge my AC" searches, "HVAC technician salary" searches, and DIY researchers who will never book. Phrase + exact + a maintained negative list — filtered weekly for "free," "DIY," "salary," "cost to," "how to," and geographic noise — is the difference between the $48 and the $110 number. Most agencies don't maintain the negative list because it's tedious; that's the entire edge.

Service-area targeting, not radius. A 20-mile radius around your shop overlaps with competitor territory, crosses county lines you don't service, and bids on leads you can't drive to in a 110° emergency. A ZIP-set pulled from CRM close ratios, with a radius-plus-zip overlay for emergency tier and city-and-zip for replacement tier, drops the unqualified-lead share by 40-50% on its own.

3-way campaign split (cooling-emergency vs. replacement vs. tune-up). HVAC has three distinct revenue tiers — cooling-emergency repair, system replacement, tune-up maintenance — and they don't share the same CPL bid ceiling. Lumping them in one campaign creates a blended CPL that doesn't describe any of them and a landing page that confuses every visitor. The split is what gets the tune-up → replacement pipeline actively producing replacements at 3× the cold-replacement rate.

Offline-conversion reporting. Every booked HVAC job uploaded back into Google as a conversion with monetary value turns the bidding algorithms from "find more clicks at $X" to "find more revenue at $Y." Without offline conversion, the algorithm optimizes for cheap clicks. Cheap clicks are $90 CPL leads that don't book.

None of these four are difficult to implement. They're just tedious to maintain. The agencies that charge $90-$130 and produce $48-$54 outcomes aren't running harder ads — they're running the boring operational discipline that compresses CPL by 50% without spending a dollar more on media.

3. Reading a CPL quote: the four questions to ask

Any agency quoting you an HVAC cost-per-lead number should be able to answer four questions without flinching. If they can't, the CPL they're quoting you is the wrong metric.

Question 1: "What's the close rate on the leads you'll send us?" A $48 CPL at a 40% close rate produces ~$1,800 in booked revenue per lead on an average $5,200 AC repair ticket ($5,200 × 0.40 ≈ $2,080, minus some ticket-size variance). A $90 CPL at a 15% close rate — which is what most generic-agency leads produce at honest intake — produces $780 in booked revenue per lead. The cheaper number costs you more per booking. The expensive number costs you less. CPL alone can't tell you which you're getting.

Question 2: "What's the cost per booked job, not the cost per lead?" Cost per booking = CPL ÷ close rate. If they don't have a number, they aren't tracking close rate, which means they aren't doing intake follow-up, which means their qualification work ends at the form-fill. That's the broker-vendor pattern hidden behind an agency brand.

Question 3: "What does the negative-keyword list look like?" If they can't produce a list on request, they're bidding on broad. You can verify this on your own — ask for the past 30 days of search-terms reports. If you see "HVAC technician salary near me" or "how to recharge AC" in the report, you're paying emergency-tier CPLs for traffic that was never going to book.

Question 4: "How are tune-up bookings credited against replacement revenue?" HVAC is the only trade where tune-up leads convert to replacement revenue at 3× the rate of cold replacement leads. Three tune-ups in a quarter produce one replacement on average. If an agency isn't tracking this pipeline, their tune-up campaign looks expensive on raw CPL and unprofitable on first-touch attribution — but it's actually the most profitable campaign in the account. Ask them. If the answer is hand-waving, move on.

Run the calculator below to see what your HVAC CPL would produce in revenue at your close rate:

Use the ROI calculator to model your CPL × close rate × ticket mix at your monthly budget — the right way to read a CPL quote is to plug the agency's number in and see what the math actually produces in booked revenue, not what the vendor's monthly report makes it look like.

4. Why HVAC CPL sits higher than plumbing — and why that's fine

HVAC sustains a higher CPL band than plumbing for honest reasons, and the difference isn't agency cut or waste.

Plumbing emergencies happen year-round. HVAC emergencies cluster — the February freeze in DFW makes every call a no-heat call, and the first 100°F week in July makes every call a no-cool call. Campaigns have to be live before the spike, run through it with bid modifiers slammed up 35-50% on the 4pm-9pm cooling-emergency window, and stay through the tail. The campaign is paid for less efficiently in the off-season than it can possibly be during the season. HVAC is seasonal by nature, and seasonality costs money.

The other reason is ticketing. Plumbing emergency tickets average $400-$800. HVAC repair tickets average $5,200; HVAC replacement tickets average $8,400. A higher CPL is justified by higher revenue per booking — the absolute cost per booked job is similar across trades even though CPL looks meaningfully different.

The trap shops fall into: paying generic-agency $90-$130 CPL prices for an HVAC vertical that should be running at $48-$54 well-run. The mismatch compounds over a year. Multiply a 12-month campaign running at $110 vs. $50 and the gap is north of $50,000 in ad spend producing the same thickness of qualified pipeline. Same booked revenue, double the spend.

Our Google Ads for HVAC piece walks through the operational setup that compresses that gap — agree with most of it before talking to any agency, and you'll know whether their quote is the discipline or the markup.

5. What "trades operators not marketers" means for your CPL

The point of running with a trades-operator-built campaign instead of a generic agency isn't to chase the lowest possible CPL number. It's to produce booked jobs at a cost per booking the agency can show you in writing.

A vendor quoting $48 CPL but delivering 80% form-fills from price-shoppers three counties away is producing the number without producing the result. The cost per booking on that campaign is actually higher than a $90 CPL quote with a 40% close rate — the math just doesn't show up in the monthly CPL report.

What a trades-operator agency does differently: it tracks close rate by campaign and keyword. It scores inquiries at intake — A-grade active outage, B-grade replacement quote, C-grade price-shopper — and reports booked revenue, not raw lead count. It maintains the negative list. It splits campaigns three ways for HVAC. It tracks the tune-up → replacement pipeline. It reports offline conversions back to Google so the algorithm actually optimizes for revenue.

That's the whole difference. The CPL number ends up in the same $48-$54 range whether you're running it yourself or paying us to run it — but the cost-per-booked-job is the number that justifies a $500/month retainer and the 30-day money-back guarantee. We can put both numbers on a page. Generic-agency CPL quotes can only put one.

What to do with this

If you've been quoted an HVAC CPL in the $90-$130 band, the four questions above will tell you whether that number describes booked revenue or form-fill volume. If you can't get answers, the campaign is the vendor's CPL ladder, not your booked-job pipeline.

If you'd rather have someone running it for you — $500/month retainer, only 4 retainer slots remaining at this posting — start with a free lead audit and we'll show you exactly what your current HVAC campaigns are costing per booked job, by season and by job type.

See your numbers

Run your ad spend and trade through our calculator to project leads, cost-per-lead, and estimated revenue before you commit to anything.

ROI Calculator Talk to us