7 min readRoofers / HVAC / Plumbing / Remodeling / Solar / Med spas / Dentists
How to revive old CRM leads you've already forgotten
Dormant CRM leads convert at 5–15% when the message lands at the right week. Here's how to segment by age and source, the dollar value at stake across seven trades, and a 30/60/90-day reactivation cadence with sample scripts for roofing and HVAC.
A homeowner requested an HVAC replacement quote fourteen months ago — aging system, second floor not cooling right, the estimator came out and left a number on the kitchen counter. They said “we’ll think about it.” Life got in the way. They moved the quote to a folder. Six months later they’re in the same house, the system is still aging, and the only thing that’s changed is that they’re finally ready. Your number is still in their phone. Your shop is still in their head. And nobody ever sent a second message.
That’s not a lost lead. It’s a dormant one. Dormant leads re-activate on their own schedule — and the shops that win them back are the ones that stay present without being pushy. Four structural reasons a lead that went quiet in your CRM still closes this year:
- New homeowner trigger.Buyers of existing homes inherit unfinished repair projects — a roof the seller deferred, an HVAC that was on the inspection report. The new owner is exactly the customer who called a contractor once and then went quiet.
- Repeat-service cycle.Trades with annual cadences — HVAC tune, dental cleaning, gutter cleaning — recur on their own schedule. A lead who passed on the spring appointment is a live prospect again in the fall.
- Life-stage triggers.A new baby, a marriage, a remodel driven by a life event — timing changes independently of the contractor. The project was always real; the lead just wasn’t ready.
- “Not now” ≠ “not ever.” 73% of homeowners say the project is real, just postponed. Most of them are still sitting on your quote.
Why dormant leads still close
Three numbers compose the recovery picture — the reactivation rate across the trades, the NAHB decision-window figure that tells you how long you have, and the dollar cost of a lead you already paid for. Stacked together they explain why an aged CRM list is the cheapest marketing campaign on the calendar.
- Reactivation rate on aged CRM lists
- 5–15%
- Median gap from first contact → commit
- 4.3 months
- Average cost per lead already paid
- $35–$150 CPL
across home-service trades — every booking lands at near-zero acquisition cost because the lead was already paid for.
NAHB figure across the trades — most leads on a 0–6 month old list are still inside the window when you text them.
Google/LSA blended cost across the trades — a dormant lead reactivated skips the acquisition fee entirely.
The single biggest mistake on dormant-list reactivation is treating the list as uniform. It isn’t. A 45-day-old lead and a 400-day-old lead are not the same message, and an inbound web form and a door-knock canvas are not the same angle. The next section is the segmentation rule Rekindl uses before a single text goes out.
Segment the list before you text
Before you run a single outreach touch, split the list on two axes: how old the lead is and where it came from originally. Age tells you how many touches you have left before the lead is effectively archived; source tells you which angle lands. Run both tables together, not independently.
By lead age
| Age bucket | Temperature | Best angle | Max touches |
|---|---|---|---|
| 0–60 days | Hot | Original-quote follow-up (Day-30/60/90 cadence) | 3 |
| 61–180 days | Warm | Seasonal check-in or upgraded-process re-intro | 2 |
| 181–365 days | Cool | "New capability" re-intro + referral ask | 1–2 |
| 365+ days | Cold | Referral ask only, then archive | 1 |
By original source
| Source | Intent signal | Notes |
|---|---|---|
| Inbound call / web form | Highest | They found you — a text from your real number feels like a callback, not cold outreach. |
| Paid ad / Google LSA | Medium | High intent at the moment of click; brand recall fades — open with the project detail, not a generic check-in. |
| Door knock / canvass | Lower | Brand recall fades fastest — lead with a photo proof of a nearby finished job, not a text opener alone. |
| Referral | Variable | Name-drop the referrer in Touch 01 — it's the strongest opener you have for this source. |
The practical read: start with Hot/Inbound combinations and work outward. A 45-day-old inbound web form is your highest-probability name; a 400-day-old door-knock canvass is a referral ask, not a revival pitch. The age bucket caps your touch count; the source shapes your opener.
Run your own number
How many dormant leads is your shop sitting on?
Drop your CRM export and get a static audit back in your inbox — age buckets, leads unreached 90+ days, and an estimated recoverable-revenue figure. Free, no sales call required.
Get your free lead-audit report →What a dormant lead is worth by vertical
The dollar case for reactivation shifts by trade. A dormant dental lead and a dormant remodeling lead are not the same conversation — the job value and the reason the lead went cold are completely different. The table below covers all seven verticals Rekindl works with, alongside the most common cold trigger and the window in which a reactivation touch is most likely to land.
| Vertical | Avg dormant-lead value | Why they go cold | Best revival window |
|---|---|---|---|
| Roofing | $8k–$22k | Insurance check / seasonal hesitation | 30–90 days |
| HVAC | $4k–$12k | System still limping / waiting for failure | 30–60 days |
| Plumbing | $2k–$8k | Non-emergency deferred | 14–45 days |
| Remodeling | $15k–$80k | Second-opinion loop / financing | 60–120 days |
| Solar | $18k–$35k | Permit confusion / incentive research | 60–90 days |
| Med spa | $800–$4k | Self-motivation cycle | 21–45 days |
| Dental | $1.5k–$12k | Insurance benefit window | 14–60 days |
The practical takeaway: trades with longer revival windows (remodeling at 60–120 days, solar at 60–90) can afford a slower cadence; trades with short windows (plumbing at 14–45, dental at 14–60) need the first touch inside two weeks or the lead is effectively gone. Match the cadence timing in the next section to the window for your vertical.
The reactivation sequence
Three touches, spaced to land inside the revival window for your vertical without crowding the lead. The channel mix matters: Day 30 is SMS (high open rate, personal-feeling); Day 60 is email only if Day 30 went unanswered (more room for proof); Day 90 is SMS again with a direct calendar link. Each touch has one job. The roofing version appears first; the HVAC sample follows each step. For copy-ready versions you can drop into your CRM, use the reactivation scripts library.
Touch 01
Day 30 — SMS referencing the original project.
A short, real-sounding text from your business number. It uses the lead's name, references the original project and the month you quoted it, and asks one soft yes-or-pass question. The goal is a reply — not a booking. No discount, no urgency, no pressure. The roofing version appears first; the HVAC sample follows.
Roofing
Hi {first name} — {shop name} here. You had us quote the reroof back in {month}. Still weighing it, or did the timing shift? Happy to re-walk it at no charge.
HVAC
Hi {first name} — {shop name}. We quoted your system swap in {month}. Is it still limping, or did you end up going a different direction?
Touch 02
Day 60 — email with proof, if Touch 01 went unanswered.
Only sends if the Day-30 SMS went unanswered. The body leads with one before/after photo from a similar job you finished recently — proof the same shop is still doing the work. Subject line is specific to the original project; body is two sentences and a soft re-offer. No discount pitch.
Roofing
Subject: That reroof we quoted — finished one just like it last week. Hi {first name}, here's a before/after from a similar home we did in {neighborhood} last week. Same shingle, same scope — if you're still weighing it, happy to re-walk it.
HVAC
Subject: The {system} we quoted — here's what a similar job looked like. Hi {first name}, attached is a quick before/after from a system swap we finished last month. Same brand, similar footprint. Happy to hold a slot this month if the timing's closer.
Touch 03
Day 90 — final SMS with a calendar link, then stop.
The third and final touch. A direct calendar link to two real slots — not a "let us know" loop. One tap and the job is on the books if the timing finally lines up. If they don't book, the cadence stops. The list stays clean so a future reactivation reads as a fresh message, not the fourth text from the same number.
Roofing
Hi {first name} — {shop name} one last time. Here's a calendar link for this week: {booking link}. If the timing still isn't right, no worries — just wanted to leave one door open.
HVAC
Hi {first name} — last nudge from {shop name}. Calendar link for this week: {booking link}. If it's not the right time, no hard feelings — just wanted to leave one door open.
The cadence stops after Day 90. No fourth touch, no “just checking in” six weeks later. Three touches inside the vertical’s revival window is the right number — a clean stop keeps the list healthy so a six-month or twelve-month revisit reads as a fresh message. This post is the third in a series on keeping the pipeline full: read missed-call text-back and dead-estimate recovery alongside this one to close all three leaks at once.
What not to do
Most CRM-reactivation failures aren’t cadence problems — they’re targeting and tone problems. Four patterns that kill re-engagement before the first text even lands:
- Don't sweep the whole list at once — a 500-name blast with no segmentation looks like spam and burns your sender rep. Work the age buckets in order, hottest first.
- Don't lead with a discount on the first touch — it signals desperation and anchors the homeowner to a lower price before you've even had the conversation.
- Don't ignore the source column — a door-knock lead at 14 months cold is not the same message as an inbound web form at 60 days. Match the angle to the origin.
- Don't run more than 3 touches inside 90 days — past that, the list needs to rest for at least 6 months before you revisit.
August 25, 2026 · 7 min read · Rekindl
See what’s recoverable from your CRM.
One short form. We pull your numbers, tell you which leads are recoverable, and quote a flat monthly plan if there’s a fit. No setup fee, no contract.
Book a free lost-lead audit