It’s a Tuesday in late February and you’re in the yard looking at two trucks that haven’t moved since yesterday afternoon. Six months ago you couldn’t hire fast enough. The phone rang off the hook, your techs worked past dark, and you turned away work. Now the phone does something worse than ring too much. It barely rings at all. Payroll is Friday, the equipment loan doesn’t care what season it is, and you’re doing the quiet math every HVAC owner does in the slow months: how long can I carry this crew before I make a call I don’t want to make.
Here’s what nobody tells you when you start a shop. The problem was never summer. Summer takes care of itself. The problem is that twelve months of demand arrive in about six, and most shops spend the busy season so buried they never build the thing that carries them through the quiet one. This playbook fixes that, and not with a new ad budget or more trucks. The revenue is already sitting in your business, in a list of people who paid you once and would pay you again if you gave them a reason. Most shops mail postcards to strangers while sitting on that list. Let’s go use it.

On this page
- What “off-season” really means for an HVAC shop
- What the slow season actually costs you
- The one asset that smooths the whole year
- The four-season revenue playbook
- The steal-this reactivation pack
- Run it for three different shops
- Staying legal: TCPA and 10DLC
- Objections, answered straight
- Frequently asked questions
What “off-season” really means for an HVAC shop
The HVAC off-season is the stretch of shoulder months, usually late fall and late winter into early spring, when weather-driven emergency demand drops and the phone stops ringing on its own, so revenue has to be created instead of just answered. It isn’t one fixed block. In a cooling-heavy market it’s the dead spell after the summer rush; in a heating-heavy market it’s the mild weeks of spring and fall. Either way it’s the part of the year where nobody’s system is broken enough to call you in a panic.
That’s the trap. For most of the year an HVAC shop runs on inbound emergencies: a compressor dies, a furnace won’t light, and the customer finds you because they have to. That model works right up until the weather cooperates and then it stops cold, because there’s no emergency to answer. Shops that only know how to catch demand have nothing to do when demand stops falling out of the sky. Filling the off-season means having a second engine, one that runs on your existing customers instead of the temperature, so the quiet months produce work on purpose.
What the slow season actually costs you
Run the numbers on your own shop. Say summer months bill $250,000 and your slowest month barely clears $85,000. That gap decides whether you keep your best tech through March or watch him leave for the outfit that stayed busy. Fixed costs don’t flex with the weather. The truck payment, the shop lease, the insurance, and the crew you fought to hire all bill twelve months a year while your revenue bills about six.
The demand swing isn’t random, which is the good news. HVAC has the sharpest seasonal search pattern of any home-service trade, with peak-to-valley swings that regularly run 250% to 600% (WebFX / Stacker). Cooling searches spike about 266% in July, heating searches about 137% in January, and in the shoulder weeks between they crater. You can see the quiet months coming on a calendar, so there’s no excuse for them arriving as a surprise every year.
There are about 118,433 HVAC contractor businesses in the United States, a highly fragmented field where the biggest player holds under 1% of the market (IBISWorld, 2025). Most are shops your size, and most white-knuckle the same slow months you do. That’s the opening. In February you aren’t competing against a national ad budget. You’re competing against a bunch of tired operators who are all doing nothing, and nothing is a very beatable strategy.
The one asset that smooths the whole year
Everything here runs on one thing: your customer list. Every service ticket is a person who let your tech into their home, paid your invoice, and would happily use you again if the job went fine. That’s the most valuable and most ignored asset in a typical shop, usually trapped in an old QuickBooks file or three techs’ phones.
Here’s why it beats any ad. Selling to an existing customer closes at 60 to 70%, while a brand-new prospect closes at 5 to 20% (Marketing Metrics). Same message, wildly different odds, purely because one group already trusts you. In the slow season, when every new lead costs more because everyone is bidding on thin demand, the math gets lopsided. Spend $300 chasing a stranger who might not call, or a few cents texting someone who already paid you $8,000 for a system that’s now due for service.
So step zero, before any season, is getting that list into one place with a phone number, an email, the equipment you installed, and the last date you touched the system. A real CRM does this automatically as jobs close. The point of the SMS automation system is that the list builds itself off every ticket, so you never have to think about it. Once the list is clean, the seasons below are just different messages to different slices of it.
The four-season revenue playbook
Think of the year as one connected system with six moving parts, not four separate scrambles. What you capture in summer is what you reactivate in winter. Here’s the full arc, with what to do and the part nobody writes down: how each stage breaks and what to do about it.
- ★Stage 1 · Always on
Maintenance plans
The recurring base that bills the same in February as in July. Sell it on every call, all year.
- 1Stage 2 · Summer
Capture the list
Get every panic call into the CRM with a phone, email, and the equipment you touched.
- 2Stage 3 · Fall
Convert to heating
Turn summer AC customers into furnace tune-ups and plan members before the first freeze.
- 3Stage 4 · Winter
Reactivate the list
The slow-season win-back campaign: mine past customers with a real reason to book now.
- 4Stage 5 · Spring
Run the tune-up push
The pre-cooling campaign, done so it converts instead of getting ignored.
- 5Stage 6 · Ongoing
Measure it
Track reactivation revenue as its own line so you know the engine is running.
Stage 1: Maintenance plans, the base that never sleeps
This is the foundation the year sits on. A maintenance agreement bills in February exactly like it bills in July, which is the point. Plans typically run $150 to $500 a year, and shops that treat them seriously put 40 to 50% of service customers on one and renew north of 90% (Construction Cost Accounting). That’s revenue that shows up whether or not the weather breaks, plus two scheduled visits per member per year to catch a dying part before it becomes an emergency.
How it breaks: the plan gets sold once at the counter by a tech who’d rather be turning wrenches, and nobody ever renews anybody. Fix it by automating the ask and the renewal both. Our maintenance-plan automation breakdown and the piece on selling plans without sounding pushy cover the mechanics.
Stage 2: Summer, capture everything
Summer isn’t when you make off-season money. It’s when you build the ammunition for it. Every heat-wave panic call is a customer who vanishes the second the job’s done unless you capture them: name, mobile, email, the exact equipment you serviced, and the date. When you’re slammed this feels like a chore. It’s the most important thing you do all year, because the list you build in July is the list you reactivate in February.
How it breaks: the office is drowning, half the tickets get logged with no email and a landline, and the customer evaporates. Fix it at the point of the call. When the after-hours system or the front desk books the job, the mobile number and text consent get captured automatically, tagged by equipment and service date. No clean capture in summer, no reactivation in winter.
Stage 3: Fall, convert cooling customers to heating
The shoulder between cooling and heating is your first real off-season test, and the easiest win on the board. You have a list of people whose AC you just fixed. Their furnace is about to matter and they haven’t thought about it once. A simple fall sequence turns a summer AC ticket into a fall heating tune-up, and ideally a plan, before the first cold snap floods everyone’s phones at once.
The copy:
Hi Dana, it’s Ace Comfort. We got your AC squared away back in July. Quick heads up before the cold hits: your furnace hasn’t been checked since before last winter, and the first freeze is when the tired ones quit. We’ve got tune-up slots open now, before the rush. Want me to grab one? Reply STOP to opt out.
How it breaks: you blast the same “book a tune-up” text to your whole list, so plan members get pitched something they already pay for and it reads like you don’t know your own customers. Fix it with tags. The furnace push fires only to non-member AC customers; members get a “your fall visit is due, here are two times” scheduling text instead.
Stage 4: Winter, reactivate the dormant list
This is the heart of the playbook, the campaign that fills the deadest stretch of the year. A dormant customer is anyone you haven’t touched in twelve to twenty-four months. They aren’t gone. They just have no reason to think about you, because their system runs and nothing hurts. Your job is to give them a reason to book now, in the quiet, instead of waiting for a breakdown at the worst possible time.
The reason has to be real, not a fake “sale.” Good winter reasons: a system a year past its last service heading into peak load, a filter and safety inspection before deep winter, an aging-system check with a straight-talk replacement conversation, or an honest off-season install rate because your crew genuinely has capacity. Segment by equipment age: a fifteen-year-old system gets the replacement talk, a six-year-old one gets the tune-up and plan pitch.
How it breaks: you send one generic “we miss you” text to everybody, get crickets, and decide reactivation doesn’t work. It works, but only when the message matches why that customer would book. Tie the offer to the system you installed and the date you last touched it, and the same campaign that got ignored starts booking your February calendar. The lead-nurture playbook covers the sequencing.
Stage 5: Spring, the tune-up campaign that lands
Spring is the pre-cooling ramp, and it’s where most shops leave the most money, because they run the same tired “spring tune-up special” every shop runs and wonder why it flops. The winning version goes out earlier than the competition, leads with beating the summer rush rather than a discount, and stacks text on email so it gets seen. Time it to land right before the first warm week, when people start thinking about their AC but haven’t had it fail yet.
How it breaks: you send it too late, mid heat wave, when your techs are slammed and every shop is screaming the same offer. The whole edge is being early. We broke down exactly why spring tune-up campaigns underperform and how to fix the timing, offer, and channel mix.
Stage 6, ongoing: measure the engine
If you can’t see it, you’ll quietly stop doing it the first busy week. Track reactivation revenue as its own line: how many dormant customers you texted, how many booked, what those jobs were worth. Once you can point at “the winter campaign booked $40,000 off customers who’d gone quiet,” it stops being a chore and becomes the thing you protect. What gets measured gets funded, even by a skeptical owner, especially when the owner is you.
The steal-this reactivation pack
Everything above in one place, ready to drop into your CRM this week. Swap the names, equipment, and dates for yours. Each message goes to a tagged slice of the list, not the whole thing, and every one carries a clean opt-out.

Notice what this is not: one “we miss you” blast to your whole database. Each touch answers why that specific customer would book right now, in the order those reasons surface, aging systems first, members separately, the rest on a soft nurture. That’s why it books a slow-season calendar while a generic blast gets ignored and convinces the owner reactivation is a myth.
Run it for three different shops
The system is the same at any size. What changes is who runs it and where it breaks. Here’s how the exact same playbook plays out across a solo operator, a five-truck shop, and a fifteen-truck outfit.
| What changes | Solo / 1-2 trucks | 5-truck shop | 15-truck shop |
|---|---|---|---|
| Who runs it | You, in the evenings | Office manager + automation | Marketing coordinator + CSR team |
| Biggest risk | You never start | List is a mess across techs | Nobody owns the number |
| Automate first | Winter reactivation + renewals | Capture + all four seasons | Everything + routing + reporting |
| Realistic win | Fill 2-3 slow weeks | Smooth the whole shoulder season | A predictable off-season revenue line |
Solo operator. You are the whole company, so the off-season plan competes with paying work and loses. Don’t run all six stages by hand. Automate the two with the highest payback, winter reactivation and plan renewals, and let them fire without you. A half-built version that books three otherwise-dead weeks in February pays for itself many times over, because the alternative is those weeks producing nothing.
Five-truck shop. Your problem is that the list lives in five places: the office computer, an old accounting file, three techs’ phones. Nothing reactivates because there’s no single clean list. Get every ticket flowing into one CRM, tag by equipment and service date, and let automation carry all four seasons. This is the size where a real off-season engine ends the annual “do we lay someone off” conversation.
Fifteen-truck shop. You generate hundreds of tickets a month and the reactivation opportunity is huge, but only if someone owns it. You need a coordinator whose job includes the seasonal campaigns, routing so booked reactivations hit the right tech, and reporting that shows recovered revenue by month. Automation is non-negotiable here, but now the off-season is a number on a dashboard you manage instead of a season you survive.
Staying legal: TCPA and 10DLC
Texting your own past customers is about as safe as SMS marketing gets, but the rules still bind you and getting them wrong is expensive. Two things to keep straight before you send a single reactivation text.
First, TCPA and consent. The Telephone Consumer Protection Act governs business texting, and the safe path is simple: get express consent, keep a timestamped record, honor opt-outs instantly. When a customer hands your tech their number and agrees to service updates and offers, that’s your consent, so log it at the point of the call. Every message needs a working opt-out, and a STOP has to actually stop the sequence. Our full TCPA and 10DLC guide for HVAC walks the checklist.
Second, A2P 10DLC registration. To send business texts from a regular ten-digit number, carriers require you to register your brand and campaign. On GoHighLevel’s published schedule, one-time registration runs roughly $22.50 for a sole-proprietor or low-volume brand up to about $64 for a high-volume standard brand, with a recurring campaign fee commonly $2 to $10 a month, plus a small per-message carrier surcharge of a fraction of a cent per text (GoHighLevel A2P fee schedule). Pennies against a slow season you actually fill, but skip registration and carriers quietly filter your texts, so your campaign never arrives and you never know why.
Objections, answered straight
“My customers will think I’m spamming them.” Only if you spam. A generic “we miss you” blast four times a month is spam. A single relevant text tied to the actual system you installed, sent to a customer who gave you their number, with a one-tap opt-out, reads as a shop that’s on the ball. The other tired operators in your market are sending nothing, so a helpful, well-timed message stands out for the right reason.
“I already pay for ServiceTitan or Housecall Pro, doesn’t it do this?” Your platform stores the customer and can fire basic reminders, but few shops ever built the tagged, season-specific sequences here, so the capability sits unused because nobody set it up. If you’re weighing what you pay, our HVAC software pricing teardown and ServiceTitan alternatives breakdowns lay out the real numbers a shop your size pays.
“I don’t have time to build this in the busy season, and in the slow season I can’t afford to.” That’s the exact trap, and why done-for-you exists. The sequences, tags, and timing are the same for every HVAC shop, so they can be pre-built and dropped into your account rather than assembled by you at 9pm. You plug in your shop name, equipment types, and offer.
“My list is a mess, half of it is old landlines with no email.” Then start with the slice that isn’t, and fix capture going forward. Even a partial list with good mobile numbers beats what most shops reactivate today, which is nobody. Those customers are enough to fill a few slow weeks this winter, and every ticket you log properly from here grows the list you’ll mine next off-season.
Frequently asked questions
What is the off-season for an HVAC business?
It's the shoulder stretch, usually late fall and late winter into early spring, when weather-driven emergency demand drops and the phone stops ringing on its own. HVAC has the sharpest seasonal swing of any home-service trade, with peak-to-valley demand differences that regularly run 250% to 600%, so the quiet months are predictable and can be planned for.
How do HVAC companies stay busy in the slow season?
By creating demand instead of waiting for it. The highest-return move is reactivating your existing customer list, because selling to an existing customer closes at 60 to 70% versus 5 to 20% for a stranger. Add recurring maintenance plans that bill year-round, a fall cooling-to-heating conversion push, and an early spring tune-up campaign, all on automation.
What is a customer reactivation campaign?
It's a scheduled sequence of texts and emails sent to past customers you haven't served in roughly 12 to 24 months, giving each a real, relevant reason to book now, such as a system due for service, an aging-equipment check, or an honest off-season install rate. It's segmented by equipment age and service date, not one generic blast, which is why it books work a 'we miss you' message never will.
How much do HVAC maintenance plans help with seasonal cash flow?
A lot, because they bill the same in February as in July. Recurring plans typically run $150 to $500 a year, and shops that run them well put 40 to 50% of service customers on a plan and renew over 90%. That recurring base turns a feast-or-famine seasonal business into one with a steady revenue floor.
Is it legal to text past customers marketing offers?
Yes, with express consent and the right setup. Under the TCPA you need consent (which a customer gives when they hand over their number for service updates and offers), a logged record of it, and a working opt-out in every message. You also need to register the number for A2P 10DLC so carriers deliver your texts.
How early should I start my spring HVAC campaign?
Earlier than you think and earlier than your competitors, ideally a few weeks before the first warm stretch, when homeowners start thinking about their AC but before anything fails. The whole advantage of a spring tune-up push is being first; run it during the first heat wave and you're just one more shop shouting the same offer while your techs are already slammed.
It’s late February again, and you’re back in the yard looking at those two trucks. Except this year they’re both out. One’s running a furnace safety check for a customer whose system you installed four winters ago, booked off a text she got last week. The other’s writing a replacement quote for a fifteen-year-old unit you flagged in the reactivation campaign, the kind of job that used to only show up as a January emergency. Friday’s payroll isn’t a knot in your stomach anymore, because the slow season is producing work on purpose. That’s not a bigger ad budget or more trucks. It’s the customers you already earned, finally put to work in the months you used to just survive.
