When leads slow down or cost per job creeps up, most HVAC owners jump straight to “the agency is the problem.” Sometimes that’s true. But after years of watching HVAC accounts get evaluated and switched, the pattern is usually messier: reporting that hides the real numbers, an ownership problem nobody caught until it was too late, or a timeline expectation that was never realistic to begin with.
Before you fire anyone, run through these checks. They’ll tell you within days whether you’re dealing with a strategy failure, an execution gap, or a problem on your own end that no agency could fix.
1. Pull a 90-Day Data Audit Before You Do Anything Else
Agency reports are built to summarize, and summaries smooth over problems. A blended cost-per-lead number across Google Ads, Facebook, and organic can look fine even when one channel is quietly bleeding money. The only way to see the real picture is to pull raw data straight from the source.
Suppose an HVAC owner logs into Google Ads directly and finds cost per lead sitting at $52. That’s well above the $18-35 benchmark typical for home services accounts. The agency’s monthly PDF had blended that channel with a stronger-performing Local SEO number, so the Google Ads problem never showed up in the summary.
- Log into Google Ads, GA4, and Google Business Profile insights directly, or request read-only access if you don’t have it.
- Export lead source data for the trailing 90 days.
- Tag every lead as booked, no-show, or dead so you’re working with real outcomes, not raw lead counts.
The common mistake is judging performance from the agency’s report instead of the platform itself. Reports tell a story. Platforms show the numbers that story was built from. Measure cost per booked job by channel, not blended cost per lead. That single change in how you calculate the number often changes the entire conclusion.
2. Confirm You Actually Own Your Ad Accounts and GBP Listing
This one gets skipped constantly because it feels administrative. It isn’t. If your business doesn’t hold owner-level access to Google Ads, GA4, and your Google Business Profile, you don’t actually control your own marketing, the agency does, no matter what the contract says.
Picture an HVAC company deciding to switch agencies, only to discover their Google Ads account lives inside the old agency’s manager account. The transition stalls for more than a week while access gets sorted out, and every day of that delay is a day without active campaigns running.
- Log into Google Ads and check the account access list under Admin settings.
- Confirm your business email, not a personal agency email, has owner-level permission.
- Repeat the check for Google Business Profile under Business Profile settings.
The mistake is waiting until you want to leave to check this. By then, a five-minute verification turns into a stressful negotiation, and you’re losing leads while it gets untangled. Do this check now, regardless of whether you’re happy with your current agency. What you’re measuring is simple: confirmed owner-level access on all three platforms, under your business’s own login, today.
3. Separate Seasonality From Genuine Underperformance
HVAC demand isn’t flat. Summer brings AC emergencies, winter brings furnace failures, and the shoulder seasons carry more planned replacement work. Judging a campaign’s performance against the wrong month is one of the most common ways owners talk themselves into firing an agency that was actually about to hit its stride.
Consider an owner who cancels their contract in April, right as summer AC demand starts ramping. They’re still reacting to winter furnace numbers and never see the campaign perform under the conditions it was actually built for.
- Map your last 12 months of lead volume against local weather patterns.
- Flag which months are typically emergency-driven and which are planned-replacement driven.
- Evaluate any campaign against the same month last year, not against last month.
Comparing a slow shoulder-season month directly to peak summer or winter volume, as if demand should stay flat all year, is the mistake that trips up most of these evaluations. Track month-over-month trend against the same month a year prior. That’s the comparison that actually tells you something.
4. Audit How Calls Get Handled, Not Just How They Get Generated
HVAC is a phone-driven business. Industry benchmarks put 40 to 70% of leads coming in by phone rather than web form, which means a lead generation problem and a call handling problem can look identical from the outside, but only one of them is the agency’s fault.
Imagine a company convinced their agency is delivering weak leads, until they pull call tracking recordings and find that 30% of inbound calls during business hours went straight to voicemail. The leads were there. Nobody picked up.
- Pull call tracking recordings for the past month.
- Log answer rate and booking rate for every call.
- Compare that against your team’s actual staffing during peak call windows.
The mistake here is blaming the marketing channel for a conversion problem that’s actually happening on your side of the phone. Measure call answer rate and phone-to-booked-job conversion rate before you touch the marketing budget. If those numbers are weak, no agency swap fixes it.
5. Check Your Map Pack Visibility and GBP Health
The Map Pack, the block of three local business listings that appears above organic results for local searches, captures roughly 42% of local clicks. If you’re invisible there, you’re losing a huge share of high-intent searchers no matter how well your paid ads are running.
An HVAC company running solid paid campaigns but missing from the Map Pack for “AC repair near me” is handing that traffic to competitors who show up organically, even if those competitors spend less on ads overall.
- Search your core service terms plus your city from a phone with location services on.
- Note your ranking position in the Map Pack for each term.
- Review your Google Business Profile for complete service categories, accurate service areas, and recent photos.
The mistake is assuming paid search can compensate for a neglected profile. It can’t, not fully. Measure Map Pack ranking position for your top five service-plus-city terms. If you’re not appearing on the first screen, that’s worth investigating alongside the SEO side of your account, not just the ad spend.
6. Run the Numbers Against Your Spend-to-Revenue Ratio
Sometimes the agency isn’t underperforming, the budget and the job value just don’t match. Home services marketing typically runs at 8-12% of revenue. If you’re spending well above that against low average ticket values, the math gets hard for anyone to make work.
Picture a company spending 18% of revenue on marketing while average repair tickets sit around $200. That spend-to-revenue ratio would strain even a well-run campaign, because the cost to generate and book a lead starts eating too much of the job’s margin.
- Calculate total monthly marketing spend as a percentage of revenue.
- Break out cost per booked job separately for repair calls versus install and replacement jobs.
- Compare each segment against what that job type can actually support.
The mistake is treating cost per lead as the only number that matters. A cheap lead that never books is worse than an expensive one that turns into a $9,000 install. Measure marketing spend as a percentage of revenue and aim for that 8-12% range, adjusted for your mix of repair versus replacement work.
7. Test a No-Lock-In Alternative Before You Sign a Long Contract Anywhere
If your audit points to a genuine strategy or execution failure, and not seasonality, ownership, or call handling on your end, the fix is a new agency. But the way most owners handle that transition just recreates the same trap: they sign a 12-month contract out of urgency, and they’re locked in again before they know if it’s working.
An owner who ran the 90-day audit first walks into agency interviews with real benchmark numbers in hand. That single move filters out agencies fast, generic answers about “we’ll optimize your campaigns” don’t hold up against someone asking specifically how you’ll handle the emergency-versus-planned demand split or the summer-to-winter ramp.
- Interview at least two prospective agencies.
- Ask directly how they plan for HVAC’s seasonal swings and emergency-versus-planned split.
- Prioritize month-to-month terms over annual contracts.
The mistake is signing long-term again because you’re anxious to fix things quickly. Measure time to first measurable improvement in cost per booked job after the switch, and hold it against the standard 30-90 day ramp period. If a new agency can’t show progress inside that window, a flexible contract lets you walk without another year-long entanglement.
Start With the Audit, Not the Breakup
Do the 90-day data audit and the account ownership check first. Both take less than a week, and together they tell you whether you’re looking at a strategy problem, an execution problem, or simply a timeline nobody explained clearly when the campaign launched. Everything else on this list, seasonality, call handling, Map Pack visibility, spend ratio, builds on what those two steps reveal. Skipping them and jumping straight to a new agency search just means repeating the same diagnosis error with a different vendor.
If your HVAC marketing feels stalled and you’ve run through these checks without a clear answer, that’s usually the point where an outside read on the account data helps more than another internal debate. 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.