7 min readRoofers / HVAC / Plumbing / Remodeling / Solar / Med spas / Dentists

How to recover dead estimates before they die

A dead estimate isn't a lost lead — 73% of homeowners say the project is real, just postponed. Here's the dollar cost by trade, the green/red flags that tell you which to chase, and a 14/30/60-day SMS cadence that books them before a competitor does.

A homeowner gets a roofing estimate in April — $9,200, comp shingles, full tear-off, should take two days. They say the magic words: “let me wait and see if the insurance adjuster covers it.” The contractor emails the PDF, adds a note in the CRM, and moves on. April becomes May. May becomes July. The insurance check arrives in June, the homeowner digs through their email, can’t find the original quote, Googles a second contractor, and books someone else by Friday.

The estimate wasn’t rejected. It wasn’t even considered. It just got cold.

That’s the shape of most dead estimates across the home-service trades: not a hard “no” from a price-shopper, but a soft stall from a lead who was genuinely interested — and then quietly moved on when nobody followed up at the right moment. The estimate isn’t dead. It’s dormant. And dormant leads re-engage when the follow-up lands inside the window where the project is still fresh, the timing has shifted, and the memory of your original quote is close enough to matter.

The dollar cost of letting estimates die

Three data points compose the recovery picture — one from the consumer side, one from the contractor’s clock, and one that anchors the actual revenue at stake. Stacked together they explain why un-followed estimates are the most expensive line item most shops aren’t tracking.

Postponed for financial reasons
73%

of homeowners say the project is real, just not this month — consumer surveys have been landing near this share for years across remodel, roofing, and HVAC verticals.

NAHB: first contact → project commitment
4.3 months

the median gap from the first contractor call to the signed contract, measured across the trades the National Association of Home Builders tracks.

Average revenue per unrecovered estimate
$8k–$18k

rough midpoint across roofing ($8–22k), HVAC ($4–12k), and remodeling ($15–80k) — one recovered estimate per week moves annual revenue by six figures.

To put the revenue number on the ground, here are rough estimate values by vertical — and the typical window you have to re-engage before the lead books someone else or forgets the project entirely.

VerticalAvg dead-estimate valueLikely stall reasonWindow to re-engage
Roofing$8k–$22kInsurance check pending / seasonal hesitation30–90 days
HVAC$4k–$12kSystem limping / waiting for AC failure30–60 days
Plumbing$2k–$8kNon-emergency repair deferred14–45 days
Remodeling$15k–$80kSecond-opinion loop / financing60–120 days
Solar$18k–$35kPermit confusion / incentive research60–90 days
Med spa$800–$4kSelf-motivation cycle21–45 days
Dental$1.5k–$12kInsurance benefit window14–60 days

What recovery actually looks like

The abstractions are easy to absorb. The scenarios below make them concrete — the same estimate, the same lead, two different outcomes depending on whether the cadence ran.

Roofing

$11k full-replacement estimate sent in April after a hail inspection. Homeowner said "let me wait and see if the insurance adjuster covers it."

Without follow-up

No follow-up. Insurance check arrives in June. Homeowner digs through email, can't find the original quote, Googles a second contractor, and books them by Friday.

With the 14/30/60 cadence

Day-14 SMS: "Did the adjuster come out yet?" Lead replies yes, check cleared. Day-30 proof email with a similar reroof photo. Day-60 calendar link. Job booked at $11,200.

HVAC

$7k system-swap estimate sent in early August. Unit was still limping — homeowner wanted to "get through the summer first."

Without follow-up

No follow-up. Unit dies on Labor Day weekend. Homeowner calls the first shop that answers. A competitor closes the job.

With the 14/30/60 cadence

Day-14 SMS references the original quote. Lead replies the system just started making a new noise. Same-week appointment booked before a competitor even called.

Dental

$3k implant consultation in October. Patient had the budget — just "needed to think about it."

Without follow-up

Estimate sits in the inbox. Benefits window closes December 31. Patient loses the FSA balance and defers the treatment to next year.

With the 14/30/60 cadence

Day-21 SMS: "Your benefits window closes end of December — wanted to flag it in case you were still weighing the implant." Patient replies same day. Scheduled before benefits expired.

Run your own number

How many dead estimates is your shop sitting on?

Drop your CRM export and get a static audit back in your inbox — age buckets, estimates un-followed past Day 30, and an estimated recoverable-revenue figure. Free, no sales call required.

Get your free lead-audit report →

The 14/30/60-day re-engagement cadence

Three touches, spaced to land inside the NAHB 4.3-month decision window without crowding the lead. The channel mix matters: Day 14 is SMS (high open rate, personal-feeling, quick); Day 30 is email only if Day 14 went unanswered (more room for proof); Day 60 is SMS again with a direct calendar link. Each touch has one job — a reply on Day 14, proof on Day 30, a booking on Day 60. The roofing version appears first; the HVAC sample follows each step.

  1. Touch 01

    Day 14 — a warm SMS opener that references the original project.

    A short, real-sounding text from your business number. No discount, no pressure — just a soft project-shaped question that proves you remember the lead specifically. The goal is a reply, not a booking. The opener uses their name, references what they originally needed, and asks one soft question.

    Roofing

    Hi {first name} — it's {shop name}. You had us out to look at the roof back in {month}. Did the insurance adjuster come out yet, or did you end up going a different direction?

    HVAC

    Hi {first name} — {shop name} here. Checking in on the {system} swap we quoted in {month}. Still keeping it limping, or are you ready to pull the trigger before the next heat wave?

  2. Touch 02

    Day 30 — an email with proof if Touch 01 went unanswered.

    A longer email only goes out if the Day-14 text went unanswered. The body is one before/after photo of a similar job you finished recently and one short review quote from a real customer — proof that the same shop is still the right choice. Not a discount pitch. A proof email that leads with a photo outperforms a plain follow-up email by a wide margin because it shows the work without asking the reader to imagine it.

    Roofing

    Subject: That reroof we quoted in {month} — 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, no rush — just wanted you to see we're still doing the work.

    HVAC

    Subject: The {system} we quoted — here's what it looked like on a similar job. Hi {first name}, attached is a quick before/after from a system swap we finished last month. Same brand, similar footprint. If the timing's closer now, happy to hold a slot for this month.

  3. Touch 03

    Day 60 — a low-friction calendar-link SMS, then stop.

    The third and final touch. A direct calendar link to two real slots on your dispatcher's calendar — 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 the next reactivation reads as a fresh message, not the fourth text from the same number.

    Roofing

    Hi {first name} — {shop name} one more time. I held two slots this Thursday: 10am or 2pm. Pick whichever works, or here's the link for the rest of the week: {booking link}. If the timing still isn't right, no worries — we're here.

    HVAC

    Hi {first name} — last nudge from {shop name}. Calendar link for this week: {booking link}. Two open slots left. If it's not the right time, no hard feelings — just wanted to leave one door open.

The cadence stops after Day 60. No fourth touch, no “just checking in” six weeks later. Three touches is the right number — a clean stop keeps the list healthy so a six-month or twelve-month reactivation reads as a fresh message, not the same shop texting for the fourth time.

Lead-temperature green and red flags

Not every dead estimate is recoverable — some are clean declines that a polite re-engagement can’t undo. The flags below are the read-the-room test to run before a lead ever gets a second text. Green flags qualify the lead for the cadence; red flags take them off the list so the campaign doesn’t burn through its send reputation on leads that will never close.

Green flags

  • They soft-replied on the first text: "maybe in the fall," "still interested," "we'll see." That's a "not yet," not a "no."
  • The original message carried a real project-shaped budget anchor — square footage, system age, room count, the kind of detail that proves the lead thought about the job.
  • The seasonality fits: an HVAC estimate from a heatwave week, a roof quote after a hail event, a med spa inquiry two months before a wedding.
  • The lead capture has a real name and a real number — a person answered the form, not a bot, and you have something to text that isn't a generic short-code blast.

Red flags

  • "Not right now" followed by no reply past Touch 02. One stalled cadence is data; two is a clean decline.
  • Single-word answers only — "no," "thanks," "k." Low-effort replies signal the project is no longer on their list.
  • They've moved out of the service zone. A re-engagement text that bounces, or a recent address change in your CRM, means they're not a recoverable lead — stop.
  • They no-showed a paid estimate last time. Re-engagement rewards leads who were genuinely close; it doesn't retry the ones who already wasted an afternoon.

What not to do

Most dead-estimate recovery failures aren’t cadence problems — they’re targeting and tone problems. Four patterns that kill re-engagement before the first text even lands:

  • Follow up on price-shopper leads who quoted three or more other shops at the same time. They picked on price; they already have a lower number. A re-engagement touch burns your send reputation for leads who will never close at your margin.
  • Wait past Day 90 without any touch. By then the memory of the original conversation is gone, the estimate is buried in their inbox, and your text reads like cold outreach — not a follow-up from someone who did the work.
  • Lead with a discount. Offering a lower price signals desperation and tells the lead they should have waited longer on the first quote. Re-engagement earns a booking through relevance and timing, not price erosion.
  • Open with no project detail. "Checking in on your estimate" with no trade, no scope, and no shop name reads as spam. One specific anchor — the roof, the system, the month — is the difference between a reply and a block.

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.

MailBook a free lost-lead audit