Why the Off-Season Breaks a Generic Marketing Plan
Most HVAC owners run one marketing plan year-round: a Google Ads budget, some SEO, maybe a mailer. It works in June and January because search volume for "AC repair," "furnace not working," and "emergency HVAC" spikes with the weather. Then April hits. The AC still runs fine from last fall's tune-up. The furnace is shut off for the year. Search volume for repair terms drops, but the ad budget usually doesn't, because nobody adjusted the plan for the calendar.
That's the core problem with off-season HVAC marketing: it isn't a smaller version of peak-season marketing, it's a different funnel. In peak season you're capturing demand that already exists (someone's AC died, they're searching right now). In the shoulder months, demand has to be created or pulled forward from your own base, because organic search intent for repair and replacement has cratered.
A generalist agency tends to keep running the same repair-and-replace ad set through the lull and wonder why cost per lead triples. A specialist shifts the entire objective: fewer "AC repair near me" dollars in April, more dollars toward maintenance plan renewals, indoor air quality upsells, and replacement leads sourced from service history rather than search intent.
- Peak season (June-August, December-February): demand capture. Map Pack, Google Ads on repair/emergency terms, same-day availability messaging.
- Shoulder season (April-May, September-October): demand creation. Maintenance plan renewals, tune-up specials, replacement campaigns to your own list, review generation.
- The budget shift, not the total budget, is what keeps cost per lead sane across all four seasons.
The rest of this guide breaks down what actually works in each shoulder window, and how to keep your Google Ads and content spend from bleeding cash when the phones go quiet.
What to Run in Spring (Late March Through May)
Spring is the best window of the entire year to sell maintenance plans and pre-season tune-ups, and the worst window to run repair-intent paid search. Homeowners aren't in crisis mode. That's an advantage if your message matches it: this is prevention season, not emergency season.
A spring tune-up campaign should lead with the AC system check before the summer load hits it, not with "repair." The messaging that converts is closer to insurance than to a fire drill: catch the failing capacitor now, in a $180 visit, instead of in July when it's a $2,000 no-cool emergency call and a three-day wait. That message works in email to your existing customer list, in a Google Local Services Ads placement (still worth running at reduced spend), and on a dedicated spring tune-up landing page, but it does not work as a broad Google Ads keyword campaign, because almost nobody is searching "AC tune-up" with commercial intent in April the way they search "AC not cooling" in July.
This is also the strongest window to push maintenance plan enrollment. A homeowner who just had a tune-up and liked the technician is far more likely to say yes to a plan renewal or a first-time signup than a homeowner mid-emergency who just wants the unit running again. Plan revenue is what keeps a shop's cash flow level across the year, since it's paid whether or not the weather cooperates.
| Spring channel | What it's for | Typical result window |
|---|---|---|
| Email/text to existing customers | Tune-up + plan renewal offers | Immediate, low cost |
| Local Services Ads (reduced budget) | Catches early-season AC issues | Ongoing, lower volume than summer |
| Broad Google Ads repair keywords | Weak fit; low search volume | Scale back, don't cut to zero |
| Reviews push post-tune-up | Builds Map Pack strength before peak | Compounds into summer |
Spring is prep work for summer's Map Pack fight, not a season to sit out.
What to Run in Fall (September Through Early November)
Fall works the same lever as spring, aimed at the furnace instead of the AC, with one difference: fall is also the single best window of the year to sell full system replacements, because a homeowner who just paid for a summer repair is primed to consider replacing an aging unit before the next crisis, and financing offers land better when the pressure is off.
The fall tune-up push mirrors spring's: lead with prevention (a heat exchanger crack found in October beats a carbon monoxide call in January), target your existing base first, and keep paid search spend modest since furnace-repair search volume hasn't spiked yet. The bigger opportunity is replacement.
If a system needed a $600+ repair over the summer, or it's past 12-15 years old, fall is when to reach back out with a no-pressure replacement quote, financing terms, and a rebate or tax-credit angle if one applies in your state. This isn't a cold campaign, it's a targeted list pull from your service history: units by age, units with a repair flag in the last 12 months, plans expiring soon. That list is worth more than any amount of paid search traffic in the shoulder season, because it's built from homeowners who already know your name and already have a reason to act.
Timing matters inside the fall window too. Reach out in September and early October, before the first cold snap forces a decision under pressure. A homeowner who gets a calm, no-obligation replacement quote in September is comparing options. The same homeowner calling in a panic in December because the furnace won't light is comparing whoever answers the phone first. The unhurried conversation closes at a better margin and with less price resistance.
- Pull service history for units 12+ years old or with a repair ticket in the trailing 12 months.
- Lead the outreach with the tune-up, not the sales pitch. Let the technician surface replacement need in the visit.
- Follow up with financing terms and a clear installed price range, not a vague "call for pricing."
- Keep the funnel to a phone call or in-home estimate. Replacement decisions aren't made from a landing page alone.
Done right, fall replacement outreach can outperform your entire peak-season paid search budget on a cost-per-sale basis, because it's working a warm list instead of buying cold clicks.
Should You Keep Running Google Ads Year-Round?
Yes, but not at a flat budget. The mistake most HVAC shops make with paid search is treating it as a fixed monthly line item instead of a dial that moves with search volume. Search volume for "AC repair" and "furnace repair" terms in most US markets swings hard by month, and your bids should track it.
The practical approach: keep Local Services Ads and branded search running year-round at a baseline, since those catch the customer who's ready to call regardless of season. Scale broad keyword campaigns up two to three weeks ahead of expected demand (before the first heat wave, before the first hard freeze) and scale them down in the true dead months. Running full peak-season bids in April doesn't buy more leads, it buys more expensive leads, because you're bidding against the same competitors for a smaller pool of searchers.
What should not get paused: your Google Business Profile activity, review requests, and any local SEO work. The Map Pack doesn't take a season off. A competitor who keeps collecting reviews and posting updates through the slow months will out-rank you when peak season hits and the real money is on the line, because Map Pack position for "AC repair near me" is built over months, not turned on the week it gets hot.
There's a second reason to keep a baseline campaign running instead of switching it off completely: an ad account that goes fully dark loses its quality score and impression history, so restarting it cold in June costs more per click than a campaign that's been running quietly at low spend the whole time. Pausing to zero feels like savings on paper and shows up as a higher cost per lead the moment you turn it back on.
- Keep year-round: Local Services Ads baseline, review generation, Google Business Profile posts, branded search.
- Scale down in shoulder months: broad repair/emergency keyword campaigns.
- Scale up 2-3 weeks before season: repair and emergency keyword bids, ahead of the first real heat or cold snap.
- Never pause: anything that builds the Map Pack, since that ranking compounds and doesn't reset with the weather.
The shops that get hurt worst by seasonality are the ones that treat marketing as either fully on or fully off. The ones that hold steady on local SEO and dial paid search up and down with the calendar keep a lower blended cost per lead across the full year.
Maintenance Plans: The Off-Season Revenue Engine
A maintenance plan program is the single biggest lever for smoothing out HVAC seasonality, and it's the one most shops underuse. Plan members book their own tune-up appointments in the shoulder months (filling technician calendars when call volume is otherwise thin), they generate the majority of clean, low-competition replacement leads (a technician already in the attic sees the aging system before it fails), and they pay something even in a slow month, whether it's an annual fee or a per-visit charge.
The marketing job here isn't complicated, it's just consistently skipped: every service call, tune-up, and repair should end with a plan offer, and every shoulder-season email or text campaign should lead with plan enrollment or renewal, not with "call us if something breaks." A plan member base of a few hundred households, each generating a spring and fall visit plus the occasional repair or replacement, produces steadier shoulder-season revenue than any amount of paid search spend chasing a small pool of April searchers.
Plan pricing and structure vary by market and by what a shop can service profitably, so this guide won't invent numbers that don't hold everywhere. What holds everywhere: the offer needs to be visible on the website (not buried), reinforced in every technician interaction, and remembered by the marketing calendar every spring and fall, not just at initial signup.
Where this connects to the rest of a shop's marketing: the plan page itself needs to rank and needs to convert, which is a website and content job, not a slogan. A dedicated maintenance plan page with clear tiers, what's covered, and a simple signup path does more work than a mention buried on the homepage. That's page-level content strategy, and it's covered in full on the content side of this silo rather than re-taught here.
- Put plan enrollment on the homepage and on a dedicated page, not just in a technician's back pocket.
- Text renewal reminders 30-60 days before a plan lapses; don't rely on mail alone.
- Track plan-to-replacement conversion. It's usually the best lead source a shop has and the least marketed.
- Bundle the spring AC check and fall furnace check into one annual plan price where it makes sense for the business, so the shoulder-season visit is already sold.
This is one of the few places where the off-season isn't a problem to survive, it's the season the plan program was built for.
How Long Before Off-Season Marketing Actually Fills the Calendar?
Be honest about the timeline, because off-season marketing has two very different speeds baked into it. Email and text campaigns to your own customer list (tune-up offers, plan renewals, replacement outreach) can fill technician calendars within a couple of weeks, since you're reaching people who already know the business. That's the fast lever.
Local SEO and content built to strengthen the Map Pack and organic rankings for terms like "HVAC company [city]" or "AC maintenance plan [city]" run on a slower clock: 4-9 months for competitive local terms, the same range that holds across any local-service SEO campaign. That work should be running continuously, not started fresh every spring, so that by the time peak season hits, the ranking gains are already banked instead of still climbing.
The shops that handle seasonality best aren't the ones that scramble every April to figure out what to run. They're the ones with local SEO and review generation running year-round in the background (a slow-building asset) layered under a shoulder-season campaign calendar that's planned every year before the season turns, not during it. If a shop's marketing plan doesn't already have a written spring push and a written fall push sitting in a calendar right now, that's the first thing to fix, regardless of what channel gets the budget.
One more honest note on sequencing: don't wait for the SEO gains to land before starting the list-based campaigns. They're not competing for the same budget or the same timeline. A shop can text its plan members about spring tune-ups next week while a separate, months-long local SEO campaign builds toward the following summer's Map Pack fight. Treating them as sequential instead of parallel is the most common reason a shop feels like nothing is working, when really the fast lever just hasn't been pulled yet.
- Own-list campaigns (email/text/plan renewals): results in 1-4 weeks.
- Paid search budget shifts: results within the same billing cycle.
- Local SEO / Map Pack gains: 4-9 months for competitive terms, ongoing after that.
- Plan program build-out: takes a full year to show its real off-season value, since it needs a spring and a fall cycle to prove out.