Email and Text Marketing for HVAC Contractors

By Christoph Olivier, Founder, CO Consulting.
Last reviewed: July 2026
Most HVAC owners spend to buy strangers. Local Services Ads, shared leads, PPC on “AC repair near me.” All of it works, and all of it is more expensive than the list already sitting in your CRM. Every customer you have ever installed a system for, tuned up, or quoted is a warm buyer you paid for once. Email and text are how you sell to them again without paying the acquisition cost a second time. This is the cheapest revenue in the business, and most shops leave it on the table.
Why your customer database is the cheapest revenue in HVAC
Because you already paid to acquire these people. A new maintenance-plan customer costs roughly $100 to land, versus $300 to $500 for a fresh install lead. The lifetime value of an average HVAC customer runs about $15,340, and a membership-attached customer is worth around $47,200. Email and text convert your existing list into repeat work at close to zero media cost.
The scale of the miss is easy to show. A single reactivation email in ServiceTitan Marketing Pro has produced $60,000-plus for one shop. Email returns roughly $36 for every $1 spent. Text lands even harder for urgency: SMS is read by about 98% of recipients, and 81% read within five minutes, against a typical email open rate near 20%. You are not choosing between them. You run both, for different jobs.
This is a channel, not a full plan. If you want the whole picture of how database revenue fits with paid, local SEO, and reviews, start with the marketing system for HVAC contractors.
Email vs text: when to use which
Use text for anything time-sensitive or transactional: reminders, confirmations, review asks, and short seasonal nudges. Use email for anything that needs length, images, or a story: seasonal education, membership value, unsold-estimate follow-up with options. Text gets read now. Email gets read when there is more to explain. The table below sorts it by campaign.
| Job | Best channel | Why |
|---|---|---|
| Appointment confirm and reminder | Text | Cuts no-shows, read in minutes |
| Maintenance-due reminder | Text + email | Text triggers the call, email carries the detail |
| Membership renewal | Needs to restate the value and price | |
| Seasonal tune-up campaign | Email + text | Email educates, text closes the booking |
| Unsold-estimate follow-up | Room to show options and financing | |
| Review request | Text | Highest response while the job is fresh |
| Dormant reactivation | Email, then text | Email first, text the non-openers |
The seven campaigns that turn your list into bookings
These are the repeatable plays. Each one targets a customer you already own, at the moment they are most likely to book. Run them as automated sequences off your CRM triggers, not as one-off blasts.
- Maintenance reminders. Trigger off the last tune-up date. Text the customer when they are due, with a one-tap booking link. This is the backbone of a full maintenance base, and the base itself covers 40% to 60% of your fixed costs and drives 2.1x more repair revenue than non-members.
- Membership renewals. Email members 30 and 7 days before their plan lapses. Maintenance agreements run 50% to 65% gross margin and pull $1 to $3 of extra work for every $1 of contract, so a saved renewal is worth far more than its sticker price.
- Seasonal tune-up campaigns. Fire pre-summer (April to May) and pre-winter (September to October) before the rush. These shoulder seasons are where revenue collapses, sometimes 50% to 75% below peak. Launch 6 to 8 weeks ahead of peak cooling or heating so you fill the calendar before demand spikes on its own.
- Unsold-estimate follow-up. Most quoted systems never get a second touch. Email the customer three, seven, and fourteen days out with financing options and a reason to move. On a replacement worth $4,800 to $13,000-plus, recovering even one in ten stalled quotes changes the month.
- Review requests. Text within an hour of a completed job, while it is fresh. Reviews are a core map-pack ranking factor and, since the money-back Google Guarantee ended (see below), your most important public trust signal.
- Reactivation. Target customers who have not booked in 12 to 18 months. For a list of 2,000 to 5,000 contacts, a well-run reactivation sequence recovers $30,000 to $75,000 a year by converting 8% to 15% of dormant customers.
- Referral invites. Email happy members and recent five-star customers with a simple, trackable ask. Referrals close at the highest rate of any channel and carry no media cost.
Building these triggers correctly is where the money is. If your list, CRM, and send timing are not wired together, see marketing automation for HVAC contractors for how the sequences get built.
How much a reactivation campaign is actually worth
More than most owners expect, because the customers are already qualified. A contractor with a 3,000-contact database, converting 10% of dormant customers on an average service ticket of $400 to $700, recovers roughly $30,000 to $75,000 a year from a campaign that costs almost nothing to send. The math holds because you skip the acquisition cost entirely.
The bigger prize is membership. Every reactivated customer you move onto a maintenance plan jumps from about $15,340 in lifetime value to around $47,200, flattens your shoulder season, and, if you ever sell the business, lifts the multiple because recurring revenue is what private-equity buyers underwrite. The content inside these campaigns matters as much as the timing. What you say in a seasonal email or a renewal note is a content marketing for HVAC contractors problem, not just a send-button problem.
TCPA: the rules that keep your texting legal
Marketing texts are regulated, and the penalties are real. Any message that promotes a service, reactivates a dormant customer, or asks for a review can count as marketing, and marketing SMS generally requires prior express written consent. Violations run $500 to $1,500 each, and they stack fast across a list. Get the consent side right before you send a single campaign.
- Get documented opt-in. Prior express written consent means the customer agreed in writing to receive texts, with the nature of the messages disclosed and consent not tied to making a purchase.
- Uncheck the box. On your quote and contact forms, the SMS opt-in must be unchecked by default. A pre-checked box is treated as coerced consent.
- Honor opt-outs fast. Customers can revoke by any reasonable method, including a plain-language reply. Stop promotional messages promptly. One confirmation text is allowed, then nothing.
- Keep records. Log when and how each customer opted in. If a claim ever comes, your proof of consent is the whole defense.
Email is lighter but not free of rules: honor unsubscribes, use a real from-address, and include a physical mailing address to stay CAN-SPAM compliant.
The trust story changed: Google Verified replaced Google Guaranteed
This is why review-request texts matter more in 2026. On October 20, 2025, Google folded Google Guaranteed, Google Screened, and License Verified into a single “Google Verified” badge, and discontinued the money-back Google Guarantee. The consumer reimbursement of up to about $2,000 ended November 7, 2025. The new blue badge signals vetting only. There is no money-back promise behind it anymore.
For homeowners, that reimbursement was a major trust signal, and it is gone. Your trust story now rides on your own reviews, warranties, and guarantees. That makes a steady flow of fresh reviews, driven by review-request texts, one of the highest-value things your database program does. It does not replace a promise Google no longer makes, but it is what earns the click now.
How to measure it: bookings and revenue, not opens
Opens and click rates feel good and prove nothing. An HVAC shop that tracked open rates religiously felt great about 93% to 96% opens, then measured response and found only 11% actually replied. Track the campaign the way you track a truck: by booked jobs and dollars.
Tie every send to booked calls, closed jobs, and revenue, using call tracking, unique booking links, and CRM attribution. Watch cost per booked job, not cost per lead. Attribute reactivation revenue to the campaign that triggered it, not to “summer.” If you cannot connect a send to a job on the board, you cannot defend the spend, and you will end up trusting the channel less than it deserves.
If you want this built and measured properly, from consent capture to attribution, book a consultation and we will map your database revenue plan.
Frequently asked questions
Is email or text better for HVAC marketing? Use both for different jobs. Text wins for time-sensitive work: reminders, confirmations, review requests, and short seasonal nudges, with about a 98% read rate. Email wins for anything that needs length or images: membership renewals, seasonal education, and unsold-estimate follow-up. The strongest programs run them together, often emailing first and texting the non-openers.
How much revenue can a customer reactivation campaign recover? For a database of 2,000 to 5,000 contacts, a well-run reactivation sequence typically recovers $30,000 to $75,000 a year by converting 8% to 15% of dormant customers. The economics work because these buyers are already acquired, so you skip the $300 to $500 cost of landing a fresh install lead.
Do I need consent to text my existing HVAC customers? Yes, for marketing texts. Reactivation, promotions, and review requests generally require prior express written consent under the TCPA. The customer must opt in in writing, the SMS box on your forms must be unchecked by default, and you must honor opt-outs promptly. Violations run $500 to $1,500 each, so document every opt-in.
When should I send seasonal HVAC campaigns? Launch 6 to 8 weeks before peak cooling or heating season, which usually means pre-summer campaigns in April and May and pre-winter campaigns in September and October. That timing books shoulder-season work before demand spikes on its own, filling truck time when revenue would otherwise drop 50% to 75% below peak.
What should I measure to know if it is working? Booked jobs and revenue, not opens or clicks. Tie each send to booked calls and closed jobs with call tracking, unique booking links, and CRM attribution. Watch cost per booked job rather than cost per lead, and credit reactivation revenue to the campaign that triggered it instead of assuming it was seasonal demand.
How does this fit with my other marketing? Email and text monetize the customers you already have, which is the cheapest revenue you own. Paid ads, local SEO, and reviews bring in new customers. The database program should run alongside them, feeding renewals, reviews, and referrals back into the funnel. A fractional CMO ties the channels together so you are not paying twice for the same buyer.
