NEW Partner With Us Program — Zero Upfront Costs Learn More →
Let's Talk →
Let's Talk →
Marketing

7 Strategies to Stop Getting Bad Leads for HVAC and Start Booking Real Jobs

Bad leads for HVAC don't just waste ad spend — they quietly drain revenue by filling your schedule with callers who were never going to book. This article breaks down seven fixable causes behind low-quality leads and shows HVAC businesses how to realign their marketing so the right customers call, and the right jobs get booked.

Faisal Iqbal August 3, 2026 16 min read

Your phone is ringing. That part’s working. But the calls aren’t turning into jobs, and somewhere between “we’re spending on ads” and “we’re booking work,” the math is falling apart. That’s exactly what bad leads do to an HVAC business: they make your marketing look busy while quietly draining your revenue.

Here’s the frustrating part. Most HVAC companies dealing with this assume the channel is broken. The ads don’t work. The lead service is a scam. SEO is a waste. Sometimes that’s true. More often, the channel is fine and something specific in the setup is pulling in the wrong people. A tire-kicker from two counties over. A homeowner who wants a free estimate they’ll never follow through on. A commercial property manager calling a residential-only shop. These aren’t random. They have causes, and the causes are fixable.

At the published Google Ads benchmark for home services, you’re paying $18 to $35 per lead. During peak season, when a summer breakdown means a homeowner needs a tech today, every one of those slots matters. Burning three of them on callers who were never going to book isn’t a minor inefficiency. It’s real money, and it’s real capacity your dispatcher spent on nothing.

This guide covers seven specific sources of bad HVAC leads and what to do about each one. These aren’t general marketing principles dressed up in HVAC language. They’re the actual settings, decisions, and gaps that cause call quality to fall apart. Work through them in order. The first two tend to cause the most damage at the highest volume, so that’s where to start.

1. Fix Your Keyword Match Types and Build a Real Negative Keyword List

The Challenge It Solves

If your Google Ads campaigns are running broad or phrase match keywords without a serious negative list, you’re paying for searches that have nothing to do with hiring an HVAC company. “HVAC” as a broad match keyword will pull in queries about HVAC school programs, HVAC certification exams, HVAC parts for DIY repairs, and HVAC jobs in your city. None of those people are calling to book a service. You’re paying for their clicks anyway.

The Strategy Explained

Pull your search terms report in Google Ads. This is the actual list of queries that triggered your ads, not the keywords you bid on. Spend thirty minutes reading through it. You’ll almost certainly find a pattern: a cluster of DIY-intent searches, a set of out-of-area city names, competitor brand terms, and job-seeker queries. Each of those patterns becomes a negative keyword.

The terms to add immediately include: apprenticeship, salary, jobs, hiring, DIY, how to, install yourself, certification, license exam, school, training, parts, and any city or zip code outside your service area. Add these at the account level so they apply across every campaign. Then check the report again in two weeks. New irrelevant patterns will surface as your campaigns run, and the list needs to grow continuously.

Match type discipline matters too. Phrase match gives you more control than broad match without cutting off volume entirely. Exact match on your highest-value terms, like “AC repair [city]” or “furnace replacement [city],” protects your budget on queries where buyer intent is clearest.

Implementation Steps

1. Open Google Ads, navigate to your Search campaigns, and pull the search terms report for the last 90 days. Filter for impressions over five to surface patterns quickly.

2. Identify every query category that doesn’t represent a homeowner looking to hire: DIY intent, job searches, student/training searches, competitor brand names you don’t want to pay for, and any geography outside your service area.

3. Build a shared negative keyword list in the Tools section and apply it at the account level. Add to it weekly for the first month, then monthly after that.

Pro Tips

Don’t wait for a query to spend money before you add it as a negative. Think through the obvious patterns before your campaigns launch: anyone searching for HVAC as a career, anyone looking for parts, anyone outside your zip codes. Pre-loading those negatives saves you the learning tax. Revisit the list every time you add a new campaign or expand into a new service type.

2. What Shared Leads Are Actually Costing You Per Booked Job

The Challenge It Solves

Lead aggregators like Angi, HomeAdvisor, Thumbtack, and Yelp sell the same contact to multiple HVAC companies at the same time. You pay a per-lead fee, call the homeowner, and find out they’ve already heard from three or four other companies. The per-lead cost looks manageable on paper. The cost per booked job is a different number entirely, and most HVAC operators don’t track it.

The Strategy Explained

The math on shared leads depends on your close rate, and your close rate on shared leads is almost always lower than on leads you generated yourself. When a homeowner has already spoken to competitors before you call, you’re not the first call. You’re the fourth. Price becomes the default decision factor because the homeowner has nothing else to compare.

Run the actual calculation. Take your total spend on a given aggregator over the last 90 days. Divide it by the number of jobs you actually booked from that source, not the number of leads you received. That’s your real cost per booked job. Then compare it to what your own Google Ads campaigns or local SEO produce on the same metric. Many HVAC companies find the aggregator number is significantly higher once they do this honestly.

This doesn’t mean aggregators are always wrong for every business. If you’re new, have no organic presence, and need volume while you build, they can fill a gap. But running them indefinitely alongside owned channels without tracking cost per booked job means you’re subsidizing a model that works against your close rate.

Implementation Steps

1. Pull 90 days of data from each lead source: total spend, total leads received, and total jobs booked. Calculate cost per booked job for each channel separately.

2. Compare that number to your average job value by type. A $250 service call has a very different acceptable acquisition cost than a $10,000 system replacement.

3. Set a maximum acceptable cost per booked job by service type and cut or pause any channel that consistently exceeds it.

Pro Tips

Speed to call matters more on shared leads than on any other channel. If you’re using aggregators, a response time under five minutes is the difference between being first and being fourth. If your shop can’t staff that consistently, shared leads will always underperform. That’s not a lead quality problem; it’s a process problem worth solving before you spend more.

3. Tighten Your Geographic Targeting at the Zip Code Level

The Challenge It Solves

Radius targeting in Google Ads feels precise. You set a 20-mile radius from your office and assume you’re reaching your service area. In practice, a circle drawn on a map doesn’t follow roads, county lines, or the actual geography of where your techs can run calls profitably. You end up showing ads in neighborhoods that are technically within the radius but forty-five minutes away in traffic, or across a bridge that adds an hour to a service call.

The Strategy Explained

The fix is to replace radius targeting with zip code targeting. Pull your last 12 months of booked jobs from your CRM or dispatch software. Map them by zip code. You’ll see a clear pattern: a core set of zip codes where you book consistently, a middle ring where you book occasionally, and outer zip codes where you’ve shown ads but rarely or never converted a lead into a job.

Those outer zip codes are where your budget is leaking. The leads aren’t bad because the people are bad. They’re bad because you can’t serve them profitably, or at all. Removing those zip codes from your targeting doesn’t reduce your lead quality; it raises it, because every click is now from someone you can actually book.

This is also where residential versus commercial targeting becomes critical. If your business is residential HVAC and your radius bleeds into a commercial district or an industrial park, you’re generating commercial inquiries for a shop that doesn’t handle them. That’s a structural mismatch, and it shows up as bad leads. Separate campaigns for residential and commercial with distinct geographic targets solve it cleanly. For more on how targeting structure affects lead quality across service verticals, the HVAC industry page covers the setup in detail.

Implementation Steps

1. Export your booked jobs by zip code for the last 12 months. Identify your top-performing zip codes by volume and revenue, your occasional converters, and your dead zones.

2. Rebuild your geographic targeting as a zip code list rather than a radius. Include your top and occasional converters; exclude the dead zones entirely.

3. If you serve both residential and commercial, create separate campaigns with separate geographic lists, since the two markets often don’t overlap geographically.

Pro Tips

Review your zip code performance every quarter, not just once. Seasonal patterns shift which areas are active, and your service area may expand or contract as you hire or lose technicians. A zip code that was unprofitable last winter might be your best performer this summer if you added a tech who lives nearby.

4. Rewrite Your Ad Copy and Landing Page to Repel Price Shoppers

The Challenge It Solves

Discount messaging and “free estimate” offers attract volume. That’s exactly the problem. When your headline reads “Free HVAC Estimates, Call Now,” you’ve self-selected for the homeowner who is collecting quotes and will choose whoever quotes lowest. That caller isn’t a bad person. They’re just not your buyer if you compete on quality and reliability rather than price. Your ad copy is making the wrong promise to the wrong person.

The Strategy Explained

The goal of ad copy isn’t to maximize clicks. It’s to attract the right clicks. An HVAC company that shows up within two hours, sends NATE-certified technicians, and backs work with a labor guarantee has a real value proposition that isn’t price. Lead with that.

Headlines that mention response time, certification, or guarantees filter toward homeowners who value those things. “Same-Day AC Repair, NATE-Certified Techs” speaks to a different buyer than “Cheap AC Repair, Free Quote.” The click volume on the first headline will often be lower. The close rate will typically be higher, because the people clicking have already self-selected around something other than price.

Your landing page has to carry the same message. If your ad promises fast response and certified technicians, your landing page headline can’t be about discounts. The two have to match, or the visitor’s trust breaks the moment they land. Keep the page focused: one clear service, one clear area, one clear call to action. Pages that try to advertise every service you offer dilute the message and reduce the quality of the inquiry. For a closer look at how landing page structure affects conversion quality, the PPC management page walks through the setup.

Implementation Steps

1. Audit your current ad headlines and landing page headline for price-forward language. Identify every instance of “free,” “cheap,” “discount,” or “lowest price” and note whether that’s the primary message or secondary.

2. Rewrite your primary headlines around response time, technician credentials, warranties, or service guarantees. Test two or three variants against each other.

3. Update your landing page headline to match the ad message. If the ad leads with same-day service, the landing page should open with same-day service, not a discount offer.

Pro Tips

Emergency intent searches behave differently from planned replacement searches. Someone whose AC went out at 9pm in July isn’t shopping price; they’re shopping availability. Separate ad groups for emergency keywords with emergency-specific copy (“Same-Day Emergency AC Repair”) often produce cleaner leads than general HVAC ads because the intent is already qualified by the search itself.

5. Build an After-Hours System That Captures and Pre-Qualifies Calls

The Challenge It Solves

Between 40 and 70 percent of HVAC leads arrive by phone. A significant portion of those calls happen outside business hours, particularly for emergency calls when a system fails on a weekend or overnight. If no one answers, the caller moves to the next result. You paid for that click, the person was ready to book, and you got nothing. That’s not a bad lead. It’s an abandoned good one.

The Strategy Explained

An after-hours system doesn’t have to mean staffing a live dispatcher around the clock, though that’s the best option if volume supports it. At minimum, it means having a process that captures enough information to follow up intelligently and quickly.

An after-hours call flow should do three things: confirm you received the call and will respond, capture the caller’s service type and location, and give the caller a realistic expectation for when they’ll hear back. A voicemail that says “leave a message” does none of those things. An answering service with a short intake script, or an automated IVR that routes emergency calls to an on-call tech, does all three.

The pre-qualification piece matters here too. An after-hours intake script that asks “What’s the issue?” and “What’s your zip code?” filters out wrong-area calls and wrong-service calls before they ever reach your dispatcher in the morning. You wake up to a queue of calls that are already partially sorted by urgency and serviceability. That changes how your dispatcher’s morning starts, and it changes how many of those calls convert.

Seasonal peaks make this more important, not less. In July, when every HVAC company in your market is running at capacity, the company that answers at 10pm books the job. The company that doesn’t answer loses it to whoever picks up next.

Implementation Steps

1. Audit your current after-hours handling. Call your own number at 7pm and see what happens. Document exactly what the caller experiences.

2. Decide on a response model: live answering service, on-call tech for emergencies, or structured voicemail with a callback commitment and intake questions. Any of these beats an unanswered phone.

3. Build a short intake script covering service type, zip code, and urgency level. Train whoever handles after-hours calls to capture all three before ending the interaction.

Pro Tips

Track after-hours leads separately in your CRM. If you’re seeing a high volume of after-hours calls that don’t convert, the problem may be response time on your morning callbacks, not the leads themselves. A lead that came in at 11pm and didn’t get called back until 10am the next day has already called someone else. Speed to follow-up is the variable, not lead quality.

6. Audit Your Google Business Profile Categories and Services List

The Challenge It Solves

Your Google Business Profile determines which Map Pack searches show your company. The Map Pack captures roughly 42 percent of local clicks, so this isn’t a minor detail. But GBP category selection is one of the most commonly misconfigured elements in HVAC marketing, and the misconfigurations pull in exactly the wrong searchers before they ever click your ad or visit your website.

The Strategy Explained

GBP allows one primary category and multiple secondary categories. The primary category carries the most weight in determining which searches trigger your profile. For a residential HVAC company, “HVAC Contractor” is the correct primary category. Adding too many secondary categories, particularly ones that don’t match your actual services, tells Google’s algorithm to show your profile for a broader set of queries, many of which won’t match what you do.

The residential versus commercial distinction matters here more than anywhere else in your setup. If your primary business is residential HVAC and your GBP has “Commercial HVAC” as a secondary category, you’re actively inviting commercial property managers and facility coordinators to find you. When they call and you tell them you don’t handle commercial work, that’s a bad lead. You created it with your own category selection.

Your services list inside GBP has a similar effect. If you list services you don’t offer or services that apply to a different customer type, those listings generate irrelevant inquiries. Keep the services list accurate, specific, and matched to the customer type you actually serve. Review it quarterly because Google sometimes adds or modifies suggested services automatically, and those auto-additions can introduce mismatches without you noticing.

Implementation Steps

1. Log into your GBP dashboard and review your primary category. Confirm it matches your core business type: residential HVAC contractor, commercial HVAC contractor, or both if you genuinely serve both markets.

2. Audit your secondary categories. Remove any that describe services you don’t offer or customer types you don’t serve. Less is more here; a tighter category set produces more relevant searchers.

3. Review your services list. Remove any service you don’t currently offer and add any you do that aren’t listed. Check for Google-suggested additions that may have been added automatically.

Pro Tips

GBP also influences which searches trigger your Local Services Ads profile if you’re running LSAs for HVAC. LSAs require Google Guarantee verification and allow you to dispute leads that are clearly wrong-area, wrong-service-type, or wrong-number. If you’re running LSAs alongside organic GBP, keeping both tightly configured reduces the dispute volume and improves your LSA ranking over time.

7. Add a Qualification Step Before Leads Hit the Dispatch Queue

The Challenge It Solves

Even after you’ve tightened your keywords, your targeting, your ad copy, and your GBP, some percentage of off-target callers will still get through. That’s normal. The question is whether your intake process catches them before they consume dispatcher time, or whether they get routed into your scheduling queue and waste everyone’s morning.

The Strategy Explained

Three questions at intake filter out the majority of unqualified callers before they go further. First: what’s the zip code or address? This catches out-of-area callers immediately. Second: what’s the service needed? This screens for service types you don’t offer, commercial versus residential mismatches, and DIY-advice seekers who aren’t actually looking to hire. Third: are you the homeowner or authorized to make this decision? This filters out callers who are gathering information for someone else and won’t be able to book.

These aren’t interrogation questions. They’re standard intake. Any caller with a real job to schedule will answer them without hesitation. The callers who push back or can’t answer are telling you something useful.

The second half of this strategy is tracking. Once you have a qualification step in place, you can tag leads by source and by outcome. Which channel produces the most out-of-area calls? Which produces the most wrong-service inquiries? That data points directly back to where the earlier fixes in this list need more work. A high volume of out-of-area calls from Google Ads means your geographic targeting still has gaps. A high volume of wrong-service calls from your GBP means your category or services list needs another audit.

This is how you close the loop. The intake qualification step doesn’t just filter bad leads; it tells you where they’re coming from so you can reduce them at the source. For more on building a lead tracking system that connects channel spend to booked jobs, the problems page covers the most common breakdowns in local service lead flow.

Implementation Steps

1. Write a three-question intake script covering zip code, service type, and decision-maker status. Train every person who answers the phone to ask all three before transferring or scheduling.

2. Add a lead source field to your CRM or dispatch software. Tag every incoming lead with its source: Google Ads, organic, GBP, referral, aggregator, or other.

3. Review lead quality by source weekly for the first 30 days. Identify which sources produce the highest rate of disqualified calls and trace those back to the targeting or messaging settings that need adjustment.

Pro Tips

If you use a call tracking platform, set up separate tracking numbers for each lead source. This makes the source tagging automatic rather than dependent on the caller or dispatcher remembering to ask. The data becomes far more reliable, and you can spot quality shifts by channel the week they happen rather than a month later when you’re reviewing the books.

Putting It All Together

Bad HVAC leads don’t usually come from one single source. They stack up from a combination of loose targeting, weak intake, misaligned ad messaging, and over-reliance on shared lead services. None of those problems fix themselves, but each one has a clear solution.

Start with your search terms report and your service area settings. Those two fixes tend to produce the fastest improvement in call quality and the clearest return on time spent. Then move to your GBP categories and your ad copy. Finally, build the intake qualification step so that even the occasional off-target caller gets screened before burning dispatcher time.

The order matters because the earlier items in this list operate at higher volume. A bad negative keyword list affects every click your campaigns generate. A weak intake script only affects the calls that make it through everything else. Fix the high-volume problems first.

If you’ve worked through these fixes and your lead quality still isn’t where it needs to be, the issue is likely structural in how your campaigns are built. Clicks Geek has managed over $100 million in ad spend for local service businesses across 298 industries, including HVAC companies in all 50 states. As a Google Premier Partner since 2015, we know what the setup looks like when it’s working and when it isn’t.

If you want to see what this would look like for your business, we’ll walk you through how it works and give you a straight answer on what’s broken in your lead flow.

Share
Keep reading

More from Marketing