Every article on this topic hands you the same menu. The current top ranking page lists fifteen HVAC lead generation tactics, and puts "upselling and repeat business" at number fifteen, in one paragraph, at the bottom.
That ordering is backwards, and it is the reason most owners read these lists and change nothing.
The short answer
You generate HVAC leads without buying them by harvesting five assets you already own, in order of how fast each pays: the dated installed base, the tune-up visit, the maintenance agreement, negative-cost referral channels, and a deliberate counter-position against the discount service call ads in your market. None of these is a marketing channel in the usual sense. All five are inventory that already exists inside your business and mostly goes uncounted.
The reason to start here rather than with search and social is sequencing. A Google Business Profile is a real asset and you should build one, but it produces its first booked job in months. Your installed base produces one this week, because you already know the address, the equipment and the year it went in.
What you are actually replacing
Price the thing you want to quit before you quit it. Our own breakdown of HVAC lead costs works through the January 2026 SearchLight benchmark across 816 contractors: a blended non-branded cost per lead of $149, AC repair at $231, and water heater at $343.
Those are costs per lead, not per customer. The conversion step is where the number gets ugly. A $149 lead that books at 30 percent costs $497 per acquired customer. A cheaper $72 lead that books at 10 percent, because it is shared with three other contractors who are calling the same homeowner, costs $720.
By the numbers
At a 10 percent close rate on shared leads, you pay for ten leads to get one customer. On a $231 AC repair lead, that is $2,310 of lead fees standing between you and a single service ticket.
Hold that number in your head for the rest of this article. Every asset below gets measured against it.
Asset 1: your installed base is a dated list, not a customer list
This is the fastest asset and the most neglected, because most shops store job history as accounting records rather than as a marketing list.
ENERGY STAR's replacement guidance gives you the filter. Consider replacement when "your heat pump or air conditioner is more than 10 years old" and when "your furnace or boiler is more than 15 years old." That is a published, homeowner-facing threshold from a government program, which matters because it means you are not inventing a reason to call.
So run the query. Export every install you have invoiced, sort by date, and count the rows past those thresholds. That count is your replacement inventory, and it has three properties no bought lead has:
- You know the equipment. Model, tonnage, fuel type, what failed last time.
- You know the address. No qualification call, no wrong number, no tire kicker in a city you do not serve.
- Nobody else has the list. A shared marketplace lead is sold to four contractors. This one is sold to nobody.
| Lead type | What you know before contact | Competitors on the same lead | Cost to obtain |
|---|---|---|---|
| Shared marketplace lead | Name, phone, stated problem | 3 to 5 | $72 to $149 |
| Exclusive purchased lead | Name, phone, stated problem | 1 | $149 to $343 |
| Your own aged install | Address, equipment, install date, service history | 0 | Already paid for |
The practical version is a monthly pull rather than one heroic blast. Take the installs crossing the threshold this month, and contact those homeowners about a pre-season check rather than a replacement. The replacement conversation happens on site, where it belongs, after someone has looked at the equipment.
One caution worth stating plainly. This asset only exists if your job history is actually queryable. If install dates live in a filing cabinet, in a former employee's memory, or across three systems that do not talk, the list is theoretically yours and practically not. That is a records problem before it is a marketing problem, and it is the same problem behind not knowing where your leads come from.
Asset 2: the tune-up is a lead channel the customer pays for
Every other channel in this article costs you money to run. The tune-up bills the homeowner for the privilege of putting your technician in front of their equipment.
In a long r/HVAC thread on discount service fees, an operator running flat rate work described his tune-up economics directly: "On a thirty day rolling average each tune up is actually worth about $955. Most are fixed with the tune up but the ones that aren't bring the averages up." He priced the tune-up itself at roughly $250 to $275 with a filter included, and scheduled four a day.
Treat that as one operator's self-reported figure, not an industry benchmark. What travels is the mechanism, and the mechanism is arithmetic. Most tune-ups end at the tune-up. A minority surface a failed capacitor, a cracked heat exchanger, or a system past the ENERGY STAR threshold. Those carry the average. The distribution is skewed, which is exactly why owners who look only at the median visit conclude that tune-ups are not worth running.
Now compare channels honestly. A $231 AC repair lead is money out, before contact, with a 3-in-4 chance the homeowner picks someone else. A $250 tune-up is money in, with the technician already at the equipment. Even if the tune-up produced nothing beyond its ticket, it would beat the lead. It does not produce nothing.
Tip
The scheduling detail matters more than the pricing. Book tune-ups in the shoulder seasons, when your techs have capacity and your competitors are quiet. A tune-up run in August is a service call you could have sold at full rate. A tune-up run in April is capacity you were not otherwise selling.
Asset 3: the maintenance agreement is the segment nobody is bidding for
Here is the structural fact that makes this trade different from the rest of home services right now.
Capstone Partners reported in July 2026 that private equity add-ons "have accounted for the lion's share (41.3%) of dealmaking" in HVAC services, growing to 38 transactions year to date. Those platforms are built to buy install volume and replacement revenue. They are not built to chase $200 seasonal tune-ups.
An operator advising a new owner in r/HVAC made the point explicitly: "residential maintenance contracts are where the recurring revenue lives. spring and fall tune-ups at $150-250 each, 50-100 customers is $15-25k recurring annual revenue. PE shops want install volume not maintenance. you can build a business they don't even compete for."
Do not read that $15,000 to $25,000 as the point. The revenue is nice and it is not the asset. The asset is that 50 to 100 agreements equals 100 to 200 pre-booked visits per year, each one an instance of Asset 2, each one attached to a dated system from Asset 1. The agreement is the scheduling mechanism that makes the other two assets run automatically instead of requiring you to remember.
That compounding is the whole argument. One maintenance customer is not one customer. It is two visits a year, for years, against equipment that is aging toward a replacement you will be standing next to when it fails.
The objection is real and you will hear it. A homeowner in the same subreddit summarised it as: "I'm not paying for your overpriced maintenance the unit has worked great until now!" The answer is not a discount. It is the same answer as Asset 5 below: explain what the visit includes and what the other guys' version does not.
We build the owned side for HVAC contractors: the installed-base list that actually queries, the review engine, the call capture, and reporting that ties every booked job back to the asset that produced it instead of a blended cost per lead. If you want to know what your current mix costs per acquired customer before you change anything, that is where we start.
Asset 4: the channels where acquisition cost is negative
Every lead source in the standard listicle costs something. Two do not, and both are missing from the top ranking pages.
Home warranty dispatch. A technician who worked these calls described the play in r/HVAC: "They have to use you. You get paid to ring their doorbell. If I liked the customer I put stickers on everything, left a business card and did a follow up call. When they didn't get the service they 'paid' for from the next service company, they requested us. Some would cancel their policy and call us." His summary of the economics: "it didn't cost me any advertising cost upfront and they paid me to show up."
The rates are poor and that is the honest tradeoff. You are not doing this for the ticket. You are doing it to be inside a house you did not market to, with a homeowner who is about to compare you against whoever the warranty sends next. The conversion asset is the sticker and the follow-up, not the job.
Structured overflow referrals. Another operator described a shop that paid a non-competing provider a fee to be listed as the overflow call option: "It was basically a retainer, but it gave them steady leads while their own name was still building." This is worth distinguishing from a per-lead broker fee. A retainer with one named partner who knows your work is a relationship you can improve. A marketplace fee is rent on a queue you will never influence.
Both channels share a property worth naming. The lead is created after you are already doing the work, which means your acquisition cost is bounded by your service quality rather than by an auction.
Asset 5: counter-position against the $29 ad, do not match it
The discount service call has spread through HVAC faster than any other trade, and it is the single biggest reason independent owners believe they need to buy leads to stay visible.
The r/HVAC thread on this ran to 91 comments and the pattern in it is consistent. Independents report charging $59, $80, $87, $89, $150, $195, $199 and $250. The discount ads come overwhelmingly from the consolidated shops. One commenter described the mechanics: the big company in his area "advertises the $29 service call but what they dont say is they ad on a $200 diagnostic charge to every invoice."
Two responses in that thread are worth more than most marketing advice you will pay for.
An Orlando contractor: "I am viscerally angry when I see those advertisements, but my temper is somewhat softened when I speak with customers who have worked with those companies. Frankly, those $29 have done more to sell the value of my $195 than a marketing campaign that I've paid for could have."
And, more bluntly, on what happens next: "A $29 service call to them today, is a call to you tomorrow."
That is a lead source. Somebody else is spending advertising money to create a disappointed homeowner in your service area, and that homeowner becomes a search for a second opinion. Your job is to be findable and credible at that moment, which is a local search and review problem rather than a lead-buying problem.
The tactical piece is a phone script. One operator's version: tell the caller your fee up front, say what it covers, and add that the large shops charging $29 "will be sending you a sales person to sell you a new unit. I will be showing up to fix your unit if it as at all possible." Some callers are simply price shoppers and will go anyway. Most, in his experience, do not know the difference until somebody explains it.
What this does not replace
Two honest caveats, because an article that claims five assets solve everything is selling something.
Speed still decides the outcome. Every asset above produces a contact, and contacts decay fast. If your phone process is slow, you are pouring owned leads into the same leaking bucket that has been wasting your bought ones. That is a separate fix and it is covered in how fast you should respond to a lead.
Local search is still the base layer. The counter-position play in Asset 5 only works if the disappointed homeowner can find you. Several contractors in these threads made the same point about starting from zero, one recommending you "get your Google Business Profile verified and start getting reviews" as the single highest-value first move, another recommending review requests the same day the job finishes with a QR code on the back of every card. For a fuller ranking of paid and unpaid channels once these assets are running, see the best lead sources for HVAC companies.
Note that neither of these is a reason to keep buying leads. They are reasons the owned assets underperform if the basics are broken.
The four numbers to run this on
Do not attempt all five assets at once, and do not quit your broker this month. Track these instead.
- Aged install count. How many rows in your job history are past the ENERGY STAR thresholds. If you cannot produce this number today, that is your first project.
- Cost per acquired customer, by source. Not cost per lead. Take total spend on a channel, divide by jobs actually booked from it. This is the number that makes bought leads look different than they do on the invoice.
- Tune-up yield. Total revenue traceable to tune-up visits over 30 days, divided by tune-ups run. Your version of the $955 figure. It will be lower at first because you are not looking for the work yet.
- Owned-origin coverage. What percentage of this month's booked jobs came from an asset you own. Cut broker spend in steps as this rises, not in one move.
The 90-day sequence
Days 1 to 14. Pull the aged install list. Fix whatever prevents it from being a query. Start same-day review requests on every completed job.
Days 15 to 45. Contact the aged list about pre-season checks, oldest first, in batches you can actually service. Book tune-ups into shoulder-season capacity. Start tracking tune-up yield.
Days 46 to 90. Convert the tune-up customers who valued the visit into maintenance agreements. Approach one non-competing shop about a structured overflow arrangement. Hold your service fee and write the phone script for it.
Then look at owned-origin coverage. If a third of your booked work is arriving from assets you own, cut the broker spend by a third and run it again.
The point of all this is not that buying leads is immoral. It is that a lead fee buys you one job and leaves nothing behind, while every asset in this article gets larger the longer you run it. One is rent. The other sits on the same balance sheet as the trucks.
Sources
- ENERGY STAR, When is it time to replace? for the 10 year and 15 year replacement thresholds.
- Capstone Partners, HVAC Services M&A Update, July 2026 for private equity add-ons at 41.3 percent of dealmaking.
- r/HVAC, "$29 Service Fees" for independent service fee ranges, the $955 tune-up rolling average, and the counter-positioning quotes.
- r/HVAC, "Starting a company" for maintenance contract sizing, home warranty dispatch, and overflow referral retainers.
- Housecall Pro, 15 Ways to Generate HVAC Leads as the representative channel-list treatment this article is arguing against.
- Our own HVAC lead cost breakdown for the SearchLight January 2026 benchmark figures.
