TechStack
Industry Insights 8 min read · June 8, 2026

The 2-Week HVAC Window That Decides Your Whole Spring.

Most HVAC shops fire spring tune-up reminders in April — when phones are already ringing off the hook. The shops that win the season fire them in late February. Here's the math, the messaging, and the per-customer cadence.

HVAC technician servicing an outdoor AC condenser unit on a residential install

Open any HVAC shop’s call log from May through August and you’ll see the same shape: three weeks of nothing followed by twelve weeks of total chaos. The dispatcher is calling techs at 9pm to fit one more job in. Sweltering customers are getting told “we can get to you Friday.” Lead times stretch from same-day to four days. By August everyone is burnt out, the install crew is behind on capital jobs, and the back office is exhausted trying to keep up with billing.

That shape is preventable. The shops that don’t live through it run a tune-up reminder system that fires in late February — not late April. The math is unforgiving in their favor.

Why the timing matters more than the message

A spring AC tune-up message sent on April 15 lands during the same week that 30% of households first notice their AC isn’t keeping up. By April 15 the customer is already shopping urgency. Your message becomes “one of three quotes” — even from a customer you installed the unit for.

That same message sent on February 22 lands in a slack week, before any neighbor is talking about who’s good. Your customer doesn’t have a problem yet — but you’re putting yourself top-of-mind for the one they’ll have in eight weeks. The booking goes on your calendar, slotted into a March-April week that was going to be tech-idle anyway.

The shop that books 60% of its spring tune-ups in March instead of May runs a fundamentally different summer. Techs have predictable schedules. The IAQ upgrade attach rate on those early calls runs about 2x the rate on emergency-season tune-ups (the customer isn’t stressed, the tech isn’t rushing). The replacement quote conversation on aging units happens before the unit fails on Memorial Day weekend.

It’s not a “better message” problem. It’s a calendar problem.

What the customer’s clock actually looks like

The annual cadence on a healthy residential HVAC customer:

  • Spring AC tune-up: between the first 60° day and the first 80° day. In most US metros, that’s the second week of March through the third week of April.
  • Filter replacement: every 90 days — or every 30 days during high cooling/heating season for thicker pleated filters.
  • Fall heating tune-up: between the first 50° morning and the first 30° night. Late September to mid-November in most metros.
  • Maintenance agreement renewal: annual, typically tied to install or first-service anniversary.

A customer who never hears from you between October and April is statistically more likely to drift to a competitor than one who hears from you twice during that window. Not because the messages convert immediately — but because the messages keep your name in front of mind when the AC stops cooling on May 14.

The per-customer cadence beats the blast

Every HVAC shop with more than 500 active customers has a generic “spring is here, book your tune-up” email blast. The open rate is fine. The conversion is not — typically 1–2% of recipients book within two weeks.

The reason is that a generic message doesn’t know what that customer needs:

  • The customer whose tune-up is exactly 12 months overdue needs a normal-tone “you’re right on schedule” message.
  • The customer who skipped last spring’s tune-up needs a slightly more directive “your unit went two springs without service” message.
  • The customer whose system is 11 years old needs a “before this becomes a replacement conversation in July” angle.
  • The customer with a Gold maintenance agreement needs no marketing — they need a scheduling reminder for the visit they’ve already paid for.
  • The customer who only ever called you once for an emergency in 2022 needs a re-introduction, not a tune-up pitch.

Five customer states. Five different messages. The blast treats them all the same — and converts at the rate of the worst-fit message.

A per-customer cadence model picks the right state for each customer, fires the right message, and (importantly) doesn’t fire to customers who don’t need it. Email fatigue is real. A shop that sends fewer, better-targeted messages out-performs a shop that sends more.

The five spring messages

Here’s what the actual playbook looks like for a typical 1,200-customer shop:

Message 1 — the on-schedule reminder (fires Feb 22)

“Hey [Name] — it’s Jake at Reliant HVAC. Quick check on your AC tune-up — last spring you came in mid-March and the unit’s due again. I have Thursday and Friday morning slots open the week of March 11. Want me to drop one on the calendar?”

Target: customers with a clean annual cadence. Conversion at the first ask: ~22%.

Message 2 — the lapsed-customer nudge (fires Feb 27)

“Hi [Name] — last AC tune-up I have on file was spring 2024. Want to get back on a yearly schedule? March is typically a quiet month for us so we can take care of it before the heat hits. No pressure if you’ve moved or used someone else — just wanted to check.”

Target: customers who skipped last spring. Conversion: ~14%. The phrase “no pressure if you’ve used someone else” is critical — it surfaces the customer who DID switch and gives them permission to either say so or come back.

Message 3 — the equipment-age conversation (fires Mar 4)

“Hi [Name] — Jake at Reliant. Your unit is heading into year 12, which is the upper end of typical lifespan for that model. Going to send Tom out for the spring tune-up anyway — he’ll take a look at where it stands and give you an honest read on whether to keep maintaining or start thinking about replacement timing. No commitment, just want to keep you ahead of any surprise. Tuesday March 11 work?”

Target: customers with units 10+ years old. Conversion to the tune-up: ~65% (because the framing is genuinely useful, not salesy). Of those tune-up visits, ~22% convert to a replacement quote within 90 days. That’s the real revenue line.

Message 4 — the maintenance agreement scheduler (fires Feb 22)

“Hi [Name] — your Gold plan includes a spring tune-up. Pretty sure you’d usually book the second or third week of March. Reply with a Tuesday or Thursday that works and Tom will pick it up — no callback needed.”

Target: members. Conversion: ~70%. The flow is essentially “respond with a date” — frictionless because they’ve already paid.

Message 5 — the dormant-customer warmup (fires Mar 4)

“Hi [Name] — Jake at Reliant. We did your emergency call back in summer 2022 (the capacitor on the outdoor unit). Doing a spring tune-up sweep for past customers — happy to send a tech out to check the system over before cooling season hits. Used to do these for $129 — we’re running them at $99 for past customers this spring. Want one on the books?”

Target: one-time emergency customers. Conversion: ~6% — lower than the other messages, but the lifetime value of converting a one-time customer to a recurring tune-up customer is 8–10x. Worth the send.

What the math looks like

For a 1,200-customer shop with average tune-up revenue of $179 and a typical 35% on-schedule cohort:

  • Without the spring sequence: ~25% of customers book spring tune-up in any given year. Revenue: 300 × $179 = $53,700. Plus replacement quotes converted from late-season tune-ups: ~$45K.
  • With the spring sequence: booking lifts to ~45%. Revenue: 540 × $179 = $96,660. Replacement quote conversion improves dramatically because the year-11 conversation happened in March instead of August: ~$95K.

Net annual lift: ~$93K from spring tune-up alone. No new customer acquisition. Same shop, same techs, same trucks. Different timing.

What this looks like with Retention IQ

Retention IQ ingests customer and equipment data from ServiceTitan, Housecall Pro, Jobber, FieldEdge, or any field-service platform that exports a customer-history CSV. It runs per-customer cadence detection (not a “12 months since last service” global rule), classifies each customer into the right message state, drafts the actual message in your shop’s voice, and queues it for the dispatcher or owner to approve and send.

Attribution closes the loop — every tune-up booking traceable back to the message that produced it, and every replacement quote traceable back to the tune-up.

If your spring tune-up cohort is sitting under 40% of your customer book and you’ve been firing blast emails in April, book a 15-minute demo and we’ll walk through the cadence math on your specific customer data.

Start your free 30-day trial.

No credit card. Full feature set. Real engines on your real data. Cancel anytime — your data stays yours.

15 minutes · no sales pitch Works with your booking platform