Find the most you can profitably pay for an HVAC lead, straight from your own average ticket, gross margin, and close rate. Then see how your break-even number stacks up against 2026 cost-per-lead benchmarks for LSA, Google Ads, and shared-lead marketplaces.
Enter your own numbers. Nothing here is stored or sent, and the math runs live in your browser.
Every lead source, from Local Services Ads to Angi to your own website, will happily quote you a price per lead. The only question that matters is whether that price is below what a lead is worth to your shop. That number is not an industry average. It comes from three things you already know: your average ticket, your gross margin, and how often a lead turns into a booked job. This calculator turns those into a single ceiling, the most you can pay per lead and still make money, and then lines it up against what real HVAC channels typically cost in 2026.
Marketers love cost-per-click and cost-per-impression because they are easy to report. Neither pays your techs. The unit an HVAC owner should price on is gross profit per lead. Start with the gross profit on a won job (average ticket times gross margin). A $9,000 changeout at 45% gross margin produces about $4,050 of gross profit. But a single lead does not win every time. If you close 25% of leads, the expected gross profit from one lead is $4,050 times 0.25, or roughly $1,012. That expected gross profit per lead is your absolute break-even cost per lead. Pay more than that on average and you are losing money before a single truck rolls.
Because you still have to deliver the job, cover overhead, and actually earn a profit, you should not spend the whole break-even number on the lead. A common, conservative guardrail is to divide the gross profit per lead by about three, reserving roughly two-thirds for delivery, overhead, and net profit. That gives you a target max CPL, the ceiling you actually bid to. The tool above shows both the break-even and the target so you can see the safety margin between them.
Plug in two different shops and the gap is eye-opening. A maintenance-heavy company with a $350 average ticket and a 50% close rate has a tiny expected gross profit per lead, so a $90 shared lead is a money-loser for them. A replacement-focused shop with a $12,000 average ticket and the same close rate can profitably pay several times more for the exact same lead. Close rate is just as powerful as ticket size. A company that closes 35% of its leads can outbid a competitor stuck at 12% on every channel, which is why sharpening your phone-handling and follow-up often does more for your cost-per-lead math than any ad tweak. None of this shows up in a generic benchmark, which is the whole reason this calculator uses your numbers.
This is where HVAC owners most often overpay. A Local Services Ad lead or a lead from your own ranked website is exclusive, it comes to you and only you, so your close rate stays high. A shared lead from a marketplace like Angi, Modernize, or Networx is sold to several contractors at once, so the homeowner is fielding four calls and your close rate on that source can collapse to single digits. The price tag can look similar, but the economics are not. A shared lead that closes at 6% has to be far cheaper than an exclusive lead that closes at 28% to break even on the same job.
The honest way to compare them is to enter the real close rate for each source into the tool, not your blended average. Run your exclusive close rate to price LSA and your own website leads, then run your much lower shared-lead close rate to price marketplace leads. You will usually find the shared price you were quoted blows past your break-even once the lower close rate is baked in. Exclusive sources, and especially owned channels you do not re-pay for every lead, almost always win on cost-per-booked-job even when the sticker price per lead is higher.
Lead costs are not flat across the year or the map. In a hot-summer market like Florida, cooling-season demand spikes auction prices for HVAC clicks and leads from roughly late spring through summer, then softens in the shoulder months. A target max CPL that is comfortable in October can be tight in July when every competitor is bidding up. If you operate in Florida or another coastal market, also weight the higher replacement frequency from heavy run-hours and salt-air corrosion into your average ticket, it lifts what you can afford. None of these regional or seasonal figures are fixed, so treat the benchmark ranges as a starting point and verify your local market with your own ad-account and vendor reporting before you lock a budget.
The Pro version connects to your call tracking and ad accounts to show live cost per lead and cost per booked job by source, flags the channels quietly losing you money, and recalculates your max CPL as your ticket and close rate change. Get early access to the HVAC dashboard.
Get early access, book a free call →If your cost per lead keeps climbing, you are renting demand from ad platforms. We build HVAC websites and rankings that bring in exclusive leads organically, so your blended cost per lead falls over time instead of rising. Free, no-pitch audit and mockup.
Get a free mockup & audit →Or book a free consult: (407) 694-2055Three inputs carry the whole calculation: your average ticket, the gross margin on that ticket, and your lead to sale close rate. Ticket times margin gives the gross profit on a job you win. Multiply that by your close rate and you get the expected gross profit from one lead, because most leads never become jobs. That figure is your absolute break-even cost per lead. The tool divides it by the reserve you pick, 3, 2.5 or 2, leaving room to deliver the work, cover overhead and earn a profit, and reports that as your target ceiling. Type in a price a vendor quoted and it marks that price healthy, thin, or loss-making against the two thresholds. The math runs in your browser and nothing you enter is stored or sent.
The comparison table is the one place outside numbers appear. Those per-lead ranges for Local Services Ads, non-branded search, Performance Max, branded search and shared marketplace leads are published industry figures, credited on the page to Google Local Services Ads documentation, WordStream home improvement benchmarks, and Angi and Modernize lead pricing, last reviewed in June 2026. They are wide on purpose, not our data, and not a quote. The fit column only compares them against the ceiling your own inputs produced.
It cannot see your ad accounts, your call tracking or your CRM, so it does not know what you actually paid per lead last month. That number is spend on a channel divided by the leads it produced, and it comes from your own reporting. It also has no idea what your close rate is by source, the input that swings the answer hardest: feed it a blended rate and shared leads look better than they are. Measuring is a different job from modeling, and that is what first-party lead tracking is for. We run first-party lead dashboards on more than 20 of the sites we manage.
They are published industry ranges credited on the page to Google Local Services Ads documentation, WordStream home and home improvement benchmarks, and Angi and Modernize lead pricing, last reviewed in June 2026. They are not our data and not a quote, and they are wide because lead prices move with metro, season and competition.
No. It has no connection to your ad accounts, your phone system or your CRM, so it measures nothing. It only models a ceiling from the ticket, margin and close rate you type in. Your actual cost per lead is total spend on a channel divided by the leads that channel produced, and both figures come out of your own reporting.