The 3-Step HVAC Seasonal Reactivation Campaign: How to Turn Slow Months Into Booked Jobs
Written by
Kylee Robinson

Quick Executive Summary
Past customers convert at 15-30% — the highest of any lead source, at $0 cost per lead.
Run reactivation campaigns 2-3 weeks BEFORE your busy season, not during it.
One 3-touch campaign over two weeks books 15-25% of your past customer database.
HVAC clients typically generate $8,000-$25,000 per shoulder season from a single campaign.
Short answer: Your past customers are your highest-converting lead source. A 3-touch reactivation sequence — sent automatically 2 weeks before your slow shoulder seasons — can book 15–30% of your database into tune-ups and maintenance work. The same campaign that costs almost nothing to run typically generates $8,000–$25,000 in recovered work per shoulder season for a mid-size HVAC company.
I'm Kylee, co-founder of Service Foxx. Before we ever built this for an HVAC client, we built it for my husband Dwayne's roofing business. He was sitting on 1,400 past customers and doing zero outreach to them — because there was no system to do it with. We built one. It works in any service trade, but HVAC is where the math gets really interesting because of the seasonal cycle.
Here's the exact 3-step campaign we run inside every HVAC Service Foxx account, plus why the timing matters more than the message.
Why past customers are your best lead source
Quick math on why this matters more than most contractors realize:
- Cold leads (Google Ads, Facebook Ads): 1–3% conversion rate, $30–$150 cost per lead
- Word-of-mouth referrals: 10–25% conversion rate
- Past customers (reactivation): 15–30% conversion rate, $0 cost per lead
Past customers already know you. They've already paid you once. They trust your work. The only reason they're not booking again is that you're not on their mind — because nobody is pinging them at the moment they need you.
If you have 500 past HVAC customers and you run a proper reactivation campaign, you should expect 75–150 of them to book something. At a $350 average tune-up ticket, that's $26,000–$52,000 from a single campaign.
And most HVAC companies do exactly none of this.
Why the seasonal timing matters
HVAC has two natural rhythms: spring tune-ups (AC prep for summer) and fall tune-ups (heating prep for winter). The homeowners who need them already know they need them. They just forget until they're standing in a 95-degree kitchen with a dead AC unit.
The right time to reactivate isn't during your busy season — it's 2–3 weeks before your busy season starts. You want the tune-ups booking during your slow shoulder months (March and September, roughly), which:
- Fills your calendar during otherwise slow weeks
- Heads off the emergency service calls that would have happened in July and January
- Locks in your best techs so they're not scrambling once peak hits
So this campaign fires twice a year, at the same time every year, on autopilot.
The 3-step campaign
Here's the exact sequence we build and schedule inside every HVAC Service Foxx account. Each message is trade-specific and customer-specific — pulls their name, their last service, and the date from the CRM.
Step 1 — The soft check-in (value email, no ask)
Sent 3 weeks before shoulder season begins.
Subject line: "Heads up before summer hits"
Body:
"Hey [First Name] — Kylee here at [Your Company].
Wanted to shoot you a note before we get into the summer rush. Last time we worked on your place was [month/year] for [service type] — we're coming up on the part of the year where your AC starts working overtime, and if there's anything sitting under the surface (refrigerant levels, clogged drain line, dirty coils), it tends to show up the first week of real heat.
Not trying to sell you anything — just wanted to flag that this is the window where a 20-minute tune-up can save a $1,500 emergency call in July.
If you want to get on the calendar before it fills, here's where we have spots open: [booking link]
Either way, hope the year's been good to you.
— Kylee"
This one is pure relationship. No pressure. You're not asking them to book — you're reminding them you exist and you're looking out for them. Some people will book just from this. Most won't. That's fine.
Step 2 — The seasonal offer (specific, time-bound)
Sent 5 days later, only to people who didn't respond or book from Step 1.
SMS first, email second (30 min apart):
"Hey [First Name] — Kylee here. Running tune-ups at $89 through [end of month] to fill up our March/April calendar. Normally $139. Takes about 45 min. Book here: [link] — first come first served."
Email reinforcement:
"Following up on the text — we're offering full system tune-ups at $89 through the end of the month (normally $139) to fill out our spring calendar. Includes:
- Refrigerant pressure check
- Coil inspection and clean
- Drain line flush
- Thermostat calibration
- Electrical connection check
- Airflow test
Takes under an hour. Book here: [link]
Only [X] spots left this month. After that we're into May pricing.
— Kylee"
The price anchor matters. $89 feels like a deal. $139 feels like a fair normal price. Show both.
Step 3 — The last call (urgency, clear out)
Sent 7 days after Step 2, only to people who haven't booked yet.
SMS:
"Last heads up on spring tune-up at $89 — we close the slots Friday. Here if you want one: [link]"
Email:
"Just closing out the last few spring tune-up slots. If you want on the calendar at $89, Friday is the last day. After that we're booked into regular service calls and pricing goes back to $139.
Here's the link one more time: [link]
If the timing isn't right for you, no worries at all — I'll catch you in the fall.
— Kylee"
That's it. Three touches. Two weeks. Then the sequence shuts off and the customer goes back to the long-term nurture list.
What happens behind the scenes
The second a customer replies, the entire sequence pauses for them. If they book, it pauses and fires your new-job confirmation flow. If they unsubscribe, they're done — respect that instantly.
The customers who book get routed directly into your Service Foxx calendar, which (if you're running Jobber or similar) pushes the appointment into your job management tool. Your techs see the booked job in their normal workflow. Nothing changes about how they do their day.
The results we typically see
Rough numbers from HVAC clients running this campaign:
- Database size: 400–2,000 past customers
- Open rate on Step 1: 38–52%
- Click-through on Step 2: 12–18%
- Booking conversion on full sequence: 15–25%
For a client with 800 past customers, that's 120–200 booked tune-ups per campaign. At $89/each, that's $10,000–$18,000 in immediate revenue. The real value comes from what those tune-ups turn up — refrigerant issues, aging parts, failing capacitors — which convert to bigger repair and replacement work at $800–$8,000 tickets.
One fall campaign for an HVAC client in Ohio netted 14 full system replacements at an average $7,200. That's from one automated sequence that runs without a human touching it.
What you need in place before this works
Four things:
- A clean customer database. If your past customers are scattered across spreadsheets, invoices, and Jobber — we consolidate them during setup.
- A CRM with automation. Service Foxx runs on HighLevel's workflow engine, which handles the triggers, pauses, and reply detection.
- A2P-registered phone number. For the SMS steps to actually deliver. Most DIY setups skip this and their texts get blocked. We handle registration during onboarding.
- A booking link with real availability. We set up your calendar during setup so the links in the campaign actually work and don't send people to a broken page.
All four are included in Service Foxx setup.
What this costs
Base plan ($147/mo + $250 setup) includes the reactivation system, calendar, CRM, and all automation copy written specifically for your HVAC business.
The AI System plan ($247/mo + $500 setup) adds AI conversation handling across SMS, web chat, and Voice AI for the calls these campaigns generate — because once 60 people start booking in two weeks, you don't want to be the one fielding every inbound call.
How this connects to everything else
Reactivation is one of the 6 core systems we build. The others handle:
- Estimate follow-up
- Missed call text-back
- Google review collection
- 24/7 AI voice answering
- Appointment confirmation and reminders
- Operational backbone (pipelines, payments, reporting)
The reactivation campaign works because it's sitting inside a tight system where every customer interaction is already being tracked. You can't reactivate what you didn't capture. We fix both.
Next steps
If you want to see the exact reactivation sequence live on a test account, book a demo.
If you want to calculate what your current database is potentially worth in recovered bookings, run the revenue calculator.
If you're ready to get this running before your next shoulder season, get started here. 1–2 business days to build. We'll have the campaign scheduled and tested before go-live.
— Kylee
About the Author
Kylee Robinson
Co-founder of Service Foxx and expert in contractor operations. Dedicated to helping home service businesses scale through high-ticket automation systems that actually work.
Master Your Trade
Continue Learning

SMS for HVAC Contractors: How Automated Texting Fills Your Service Calendar

HVAC Pay Per Call vs. Automation: What Actually Gets HVAC Contractors More Jobs
