You Don’t Need More Leads. Start With the Customers You Already Have.

You already paid to acquire them.

They already know your name. They've already let one of your technicians into their home. And if you did good work, you're starting with something your next Google lead doesn't have: trust.

Yet contractors routinely spend thousands of dollars trying to find the next customer while doing almost nothing with the customers already sitting in their database.

What customer reactivation actually is

Customer reactivation is the ongoing practice of reaching out to people who've already done business with you, with a specific reason for the outreach to matter to them right now. It is not a single email blast before a slow month. It's not a discount campaign you run twice a year and call "marketing." Done well, it looks more like a maintenance schedule than a sales push: a standing habit of checking who's overdue for something, and telling them.

The distinction matters because most contractors already have some version of reactivation happening by accident: a technician who remembers a customer and calls them directly, an office manager who notices a name and follows up. Reactivation as a system just means that habit doesn't depend on someone happening to remember.

You already paid for this list once

Every customer in your database cost you something to acquire. You paid to get found, paid for someone to answer the call, paid the time to book the job, quote it, close it, and complete the work. In our Revenue Leak Framework, the first eight stages of the customer journey, FOUND → CALLED → BOOKED → QUOTED → CLOSED → SERVED → PAID → REVIEWED, all happen before a customer ever becomes a candidate for reactivation.

REBOOKED is leak #9. It's the point where a business either turns a completed job into an ongoing relationship, or lets a fully-paid-for customer go quiet. Buying more leads while hundreds of past customers sit untouched isn't a lead problem. It's a sequencing problem: spending again on stage one while stage nine sits unattended.

Which past customers are actually worth contacting

Not every name in your database deserves the same outreach, and treating the whole list the same way is how reactivation turns into spam. The list should be built around real reasons, not just recency.

A few categories worth building around:

Equipment approaching the end of a typical service life. If you installed a water heater or a furnace, you know roughly when it's worth checking in, not because of an industry-wide statistic, but because you know what you installed and when.

Customers due for seasonal service. Spring HVAC tune-ups, fall gutter cleaning, pre-winter inspections: timing that's relevant to the work itself, not to your slow season.

Customers with an estimate that went unresolved. If you're already running estimate follow-up as its own process, some of those unresolved quotes eventually graduate into reactivation candidates. Read our estimate follow-up guide if that leak isn't covered yet.

One-and-done customers. Good service, no complaints, and no second job since. Worth understanding why, and worth one relevant nudge.

Membership or service agreement holders approaching renewal or lapse. This is the most obvious category, and the one most CRMs already flag automatically.

How far back should you go?

There's no fixed answer, and anyone who gives you a universal number is guessing. A $15,000 install and a $300 repair don't deserve the same follow-up horizon. A large-ticket replacement customer might be worth revisiting for years; a one-time repair customer might only be relevant again within a season or two. Let the size and nature of the original job set the horizon, not a fixed lookback window applied to everyone equally.

When to leave a customer out

Some customers shouldn't be in a reactivation list at all, and this list matters as much as the inclusion criteria:

  • Anyone with an unresolved billing dispute or non-payment history

  • Anyone who explicitly opted out or asked not to be contacted

  • A job that ended in a complaint that was never actually resolved

  • A customer who's moved, sold the property, or is now outside your service area

  • Anyone whose contact information is stale enough that you're not confident it's accurate

Sending a cheerful "we miss you" text to someone who's still upset about an unresolved issue does more damage than not contacting them at all.

What should you actually say

The difference between reactivation that works and reactivation that annoys people usually comes down to one thing: whether the message has an actual reason behind it.

Here's what that looks like in practice.

Weak:

"Hi Bob, just checking in! Been a while since we've heard from you. Let us know if you need anything!"

Better, with an actual trigger:

"Hey Bob, this is Sarah with ABC Heating and Air. We serviced your AC last spring and you're coming up on a year. Want us to get you on the schedule before the first hot week?"

Same principle, different trigger. For a plumber working off installation history:

"Hi Maria, it's James with Summit Plumbing. We installed your water heater in 2021. Nothing urgent, just checking whether everything is still running well or if there's anything you'd like us to take a look at."

For a landscaping company working a seasonal trigger:

"Hi Tom, it's Dana from GreenLine. We did your irrigation start-up last spring. Ready to get you back on the schedule before it gets busy, or handling it differently this year?"

None of these lead with a discount. Each one gives the person a specific, plausible reason the message exists.

Text, email, or phone

The right channel depends on urgency and the weight of the relationship, not a blanket preference.

Text works well for short, low-friction nudges where the relationship is already warm: a seasonal reminder, a quick check-in on a small job. Email fits anything that needs more explanation or feels more like an update than a ping. Phone calls are worth the time for higher-ticket situations or anything sensitive enough that a text feels dismissive, like reopening a stalled five-figure estimate.

A quick compliance note, and this isn't legal advice: if you're texting or emailing past customers for marketing purposes, both channels carry real rules. The FTC's CAN-SPAM guidance requires accurate sender information, a working opt-out mechanism, and honoring opt-outs within 10 business days. Text messaging carries its own requirements under the TCPA, and the FCC's opt-out rule that took effect in April 2025 means customers can now revoke consent through any reasonable method, not just a specific keyword you designate. If you're scaling text outreach, it's worth a conversation with whoever handles compliance for your business rather than assuming your CRM's default settings have it covered.

How often is too often

There's no universal cadence, and we're not going to hand you one and pretend it's a formula. ServiceTitan's own documentation describes a staged renewal sequence for membership customers: an email reminder 60 days out, a postcard at 30 days, a text at 14 days. That's a reasonable example of spacing touches by channel and urgency, but it's not a law, and it's built for membership renewals specifically, not for a dormant customer from three years ago.

A more general starting framework: reach out once with the actual reason. If there's no response, follow up once more, seven to ten days later, with a simpler ask. If there's still nothing, drop the pace to a low-frequency seasonal or quarterly touch rather than continuing to push weekly. These are dormant relationships, not live pipeline. The goal is staying present without becoming the reason someone blocks your number.

Reactivating without discounting everything

A discount is what you send when you don't have a real reason to reach out. It works, briefly, and it teaches your best customers that the only time they hear from you is when you want something sold. That's a bad trade for a relationship you already spent real money to build.

The alternative is giving people an actual reason: a maintenance interval that's relevant, a safety-related reminder, a seasonal timing note, or a service they haven't used yet that genuinely fits their situation. None of that requires a percentage off. It requires knowing enough about the customer to be useful instead of promotional.

Where AI actually helps

AI isn't the strategy here. It's one way we fix the leak, and its honest job in reactivation is narrower than a lot of the marketing around it suggests.

What it's actually good at: scanning your job history for real triggers (equipment age, service intervals, unresolved estimates) faster than a person would ever sit down and do it manually. Prioritizing a list of hundreds of dormant customers down to the handful worth a phone call this week. Drafting a first-pass message a human still reviews before it goes out. Summarizing a customer's history so whoever makes the call isn't starting cold. And just as usefully, flagging who shouldn't be contacted automatically: the disputes, the opt-outs, the accounts that need a human decision, not an automated nudge.

Worth knowing: even the leading platforms in this space aren't yet marketing fully autonomous reactivation AI. The technology right now is better used as a research and drafting assistant than an autopilot, and treating it that way will serve you better than expecting it to run the relationship for you. If you want the fuller picture of where automation genuinely helps a contracting business, we cover that separately.

How to tell if it's working

Track the plain numbers: how many past customers you contacted, how many responded, how many actually booked something, and what revenue you can trace directly back to a reactivation touch. Resist the urge to benchmark yourself against a vendor's percentage-off-the-shelf ROI claim. Most of those numbers can't be traced to anything, which is exactly the trap this whole approach is designed to avoid. Set your own baseline this quarter, and compare against it next quarter. That's a real measurement. A borrowed statistic isn't.

This is leak #9

FOUND → CALLED → BOOKED → QUOTED → CLOSED → SERVED → PAID → REVIEWED → REBOOKED → REFERRED.

A customer who gets a relevant, well-timed reason to come back is also a customer more likely to mention you when a neighbor needs the same work done. REBOOKED tends to feed REFERRED, almost as a side effect of doing this well.

Before you spend more to generate a new customer, it's worth understanding what's sitting in the list of ones you already have.

See where your customers already are →

Previous
Previous

AI Belongs Where the Work Happens

Next
Next

Before You Buy More Leads…