- HVAC search demand doesn't decline gradually — it drops off a cliff over about two weeks in spring.
- A campaign left at winter settings keeps bidding winter prices into a market that's gone quiet.
- Your cost per lead can double while your cost per click looks unchanged.
- Shoulder season isn't dead time. It's when maintenance plans, IAQ and early replacement quotes are cheapest to acquire.
- Monthly campaign reviews are too slow to catch any of this.
Here's a pattern that repeats in almost every HVAC account we look at. Through January and February the numbers are strong — leads are steady, cost per lead is reasonable, the phone rings. By late April the same campaign is producing half the leads at nearly double the cost, and nobody changed anything.
The instinct is that something broke. Usually nothing did. The campaign is behaving exactly as configured; it's the market underneath it that moved.
Demand cliffs, it doesn't taper
If you plot HVAC search volume across a year in a cold-winter market, you don't get a gentle curve. You get two plateaus and two cliffs.
Furnace-related searches hold high from roughly November through March, then fall sharply over about a two-week window once overnight temperatures stop dropping below freezing. AC searches do the same thing in reverse, spiking on the first genuinely hot week and collapsing by early September.
In Calgary this is more pronounced than most markets. A −25°C snap in February can triple furnace emergency searches in 48 hours. A warm week in March can flatten them just as fast, then a late cold snap brings them partway back. The demand isn't seasonal so much as weather-driven, and weather doesn't respect the calendar.
Your bids are set to win a certain share of a certain auction. When demand collapses, the number of searches drops but your competitors' bids often don't — the contractors still advertising are the ones with budget to burn. So you're paying near-winter prices to appear in front of a fraction of the winter audience.
Why the damage hides from you
The thing that makes this hard to catch is that the metric most contractors watch — cost per click — barely moves. You're still paying $15 a click. What changes is everything downstream:
| Metric | February | Late April |
|---|---|---|
| Cost per click | $15 | $16 |
| Clicks per day | 14 | 6 |
| Click → call rate | 12% | 6% |
| Leads per day | 1.7 | 0.4 |
| Cost per lead | $125 | $267 |
Conversion rate is the tell. The people still searching in late April aren't in the same state of mind as someone whose furnace died in February. They're researching, comparing, planning for next year. Same keywords, entirely different intent — and your ad copy and landing page are still written for the emergency.
Why monthly reviews can't catch it
Most agency retainers include a monthly optimisation cycle. That cadence is structurally incapable of managing a market that moves in four-day windows.
Consider a cold snap that runs Thursday to Sunday. Searches spike Thursday morning. If your budget is capped at the daily amount that made sense in shoulder season, you're out of budget by noon each day and invisible for the rest of the spike. By the time anyone reviews the account in three weeks, the opportunity is a line in a spreadsheet.
The reverse costs you too. Two weeks of warm weather in March, and a campaign still pacing at winter budget spends full daily allocation on searches that were never going to convert.
If you want the underlying cost figures this is all built on, they're in our HVAC Google Ads cost benchmarks.
What shoulder season is actually for
The reflex is to pause everything in spring and autumn. That's leaving money on the table, because the quiet months are when several things get cheap:
- Maintenance plans. Recurring revenue, low competition on those keywords, and it fills tech schedules in exactly the weeks that are otherwise empty.
- Indoor air quality. Humidifiers, filtration, duct cleaning. Nobody's bidding aggressively on these, and they're a natural upsell to your existing customer list.
- Early replacement quotes. A homeowner whose furnace struggled all winter is more receptive to a replacement conversation in April than they will be in November — and the click costs a fraction of what it does in season.
- The other season's setup. Bidding on AC tune-ups in late April is cheap. Bidding on them in July is not.
What to actually do
- Split campaigns by job type, not by "HVAC." Emergency repair, replacement, maintenance and IAQ each need their own budget and their own bids, because they peak at different times.
- Pace budget against the forecast, not the calendar. Cold snap coming Thursday? Budget goes up Wednesday night, not at the next monthly review.
- Rewrite ad copy for the season. "Same-day emergency service" is the right message in January and the wrong one in May, when "book your AC tune-up before the rush" converts better.
- Extend hours during spikes. Emergency searches cluster outside business hours — which is exactly when most contractors' ads are paused and their phones roll to voicemail.
- Shift budget rather than cutting it. Move spend from repair to maintenance and IAQ instead of pulling out of the auction entirely. You keep your quality score and your account history, and your techs stay busy.
Look at your account. Did your daily budget change at any point in the last ninety days? If it's been the same number since onboarding, your campaign isn't being managed for a seasonal trade — it's being left running.
Want this checked on your own account?
We'll open your Google Ads and Local Services accounts, find what's wasting money, and send you a plain-English writeup within 48 hours. No charge, no sales call, and it's yours to keep whether you hire us or not.
Get a Free Audit →