Skip to main content

How to Revive Aged Roofing Leads That Never Closed

Michael Torres, Storm Damage Specialist··32 min readRoofing Sales & Growth
On this page

Every roofing company is sitting on a list it forgot it owned. It is the estimate folder. The dead deals in the CRM. The names scribbled on the back of door-hanger sheets two summers ago. The homeowner who got three bids, picked the cheapest guy, and was never called again. Most owners treat that list like trash. It is closer to a savings account you stopped checking.

The math is brutal once you look at it straight. A roofing company that ran 600 estimates last year and closed 30 percent of them walked away from roughly 420 homeowners who, at some point, raised their hand and said I might need a roof. A meaningful share of those people still own the house. Their roof did not get younger. The objection that stopped them — price, timing, a spouse, a renter, a claim that stalled — was almost always a this-month problem, not a forever problem. And yet the typical shop will spend thousands buying brand-new strangers off a lead site before it dials a single one of those warm names.

Reviving aged leads is the highest-margin selling a roofing company can do, because the most expensive part of the sale — getting a homeowner to know you, trust you enough to let you on the roof, and admit they have a problem — already happened. You paid for it once. Below is the full system: how to score the list so you call the right doors first, the exact reasons-to-call that reopen a conversation without sounding desperate, the cadence that works, the scripts, the documentation discipline that turns a re-knock into a signed job, and the data that tells you which of those 420 roofs are actually due now versus the ones that can wait.

What "aged lead" actually means (and why most shops lump the wrong people together)

The phrase "old lead" hides at least five different situations, and they do not get the same call. If you blast the whole list with one message you will burn the good names along with the dead ones. Sort first.

The unsold estimate. You measured the roof, handed over a number, and they went dark or went with someone else. This is the warmest category that exists. You have an address, a roof you have already seen, and a price on record. You know the scope. The only question is whether the reason they passed has changed.

The storm no-decision. A hail or wind event came through, you inspected, you documented, and the homeowner never moved forward — the claim stalled, the adjuster lowballed, they got nervous, the out-of-town crews spooked them, or life got in the way. The damage did not heal. These reopen extremely well because there is a documented, dated event behind them.

The price-shopper who chose someone else. They signed with a competitor. Counter-intuitively, a slice of these are gold a year or two later: the cheap roof was installed badly, a leak showed up, the warranty company ghosted them, or they have a second property. You are no longer competing on the original job — you are the company that answered the phone when the other guy stopped.

The "not yet" / future-need lead. They told you the roof had three to five years left, or they were saving up, or they wanted to wait until after the wedding. These have an expiration date you can literally calendar. Mishandled, they age into a competitor's job.

The pure cold canvass name. A door-knock or web form where there was never a real conversation, never an inspection, maybe never even a confirmed need. These are the lowest-value of the "aged" pile and should be worked last, or worked only when your better lists are exhausted.

The single biggest mistake operators make is treating category five like category one. The unsold estimate and the storm no-decision are worth ten of the cold names. Build your revival list so the warm categories rise to the top, and the cold names sit at the bottom where they belong.

A quick triage table

Lead type Why it went cold Reopen difficulty First-call angle
Unsold estimate Price, timing, spouse, indecision Low "Want to recheck the roof and the number"
Storm no-decision Stalled claim, adjuster, fear Low–Medium "Re-document the storm damage, hand you a clean estimate"
Chose a competitor Cheaper bid, relationship Medium "Checking in on how that roof held up"
Future-need / not yet Genuinely early Low when timed "You said about now — time for a look?"
Cold canvass name No real need established High Treat as fresh prospecting

Step 1: Pull the list and clean it before you dial a single number

You cannot revive a list you cannot see. Most roofing CRMs and estimate tools (JobNimbus, AccuLynx, Roofr, a spreadsheet, or a shoebox of paper) will export every record with a stage that is not "Won" and not "Lost-Permanent." Pull everything from the last 36 months. Three years is the sweet spot for residential: old enough that circumstances have changed, recent enough that the contact info still works and they remember you.

Then clean it, because a dirty list wastes the most valuable thing you have, which is your closer's calling time.

Deduplicate by address, not by name. Homeowners change phone numbers and marry into new last names. The roof does not move. Address is your primary key.

Flag the sold-the-house records. Pull current ownership where you can. A homeowner who sold in 2023 is a dead record — but the new owner of that same roof is a fresh prospect who never met your competitor. Do not delete the address; re-flag it.

Strip the truly dead. Disconnected numbers, do-not-call requests, addresses that already got a roof from you (check your own won-jobs file), and anyone who was rude enough that re-contact is a waste. Honor every do-not-call and opt-out; it is the law and it is also just good business.

Append what you can. Phone, email, and a current-owner check. Skip-trace services and basic data appends are cheap relative to a re-roof.

When you are done you should have a clean sheet with, at minimum: address, owner name, original lead date, lead type (the five categories above), original estimate amount if one exists, the stated objection, and the roof's age at the time you last saw it. That last column matters more than people expect, and it sets up the scoring in Step 2.

Step 2: Score and rank — call the roofs that are actually due, not the alphabet

Here is where most revival campaigns fall apart. Someone exports 800 names, starts at the top, and grinds down the list in whatever order the spreadsheet happened to sort. By the time they hit the genuinely hot leads three weeks later, the energy is gone and half the campaign got abandoned. You have to work the best leads first, which means you need a score.

A workable lead-revival score has four inputs. Each is something you either already know or can get cheaply.

1. Roof age now. Take the roof's age when you last saw it and add the years that have passed. A roof you estimated at 14 years old in 2021 is pushing 19 now. Asphalt shingle roofs in most of the country are realistic replacement candidates somewhere in the 18-to-25-year window depending on material, ventilation, and exposure, per general industry life-expectancy guidance from NRCA and shingle manufacturers. A lead that was "too early" three years ago may be dead-center now. This single factor reorders the entire list.

2. Storm exposure since you last talked. Has a verified hail or significant wind event passed over that address since the lead went cold? A documented storm is the strongest, most legitimate reason-to-call you can have, and it converts a "maybe someday" into a "let me re-inspect this week."

3. Original objection type. Score the objections by how reversible they are. "Couldn't afford it that month" is highly reversible (financing, timing, the roof is now worse). "Just put a new roof on" is not. "Waiting on a claim" is reversible. "Renting it out, not my problem" might have flipped if they sold or moved back in.

4. Original engagement depth. Did you get on the roof? Hand over a written estimate? Or was it a 20-second porch conversation? Deeper original engagement equals warmer revival.

Weight them, sum them, and sort descending. A simple version:

Factor Points
Roof now in prime replacement window (≈18–25 yr asphalt) 0–30
Verified storm over the address since lead went cold 0–25
Reversible objection (price/timing/claim) 0–25
Had a written estimate / you were on the roof 0–20

Now you have a ranked list. The top 20 percent is where a season of jobs is hiding. Work it like it is on fire, because it is.

Where roof-age and storm data come from at scale

For a list of 50 leads you can eyeball the roof ages from your old notes. For a list of 800 you cannot, and the storm-exposure column is nearly impossible to fill by hand because you would have to cross-reference every address against years of weather history.

This is the specific gap RoofPredict was built to fill. You hand it your old list — the addresses you already own — and it scores each roof two ways: a roof-age range read from aerial imagery (a range, like 17–21 years, not a fake exact date, because nobody can read an install date off a photo), and a per-roof storm history that models the hail and wind each individual roof has actually taken, rather than only whether a storm passed somewhere through the ZIP. The output is your revival list re-sorted so the roofs that are genuinely due — aged out, storm-worn, or both — rise to the top, and the new-looking roofs that will waste your closer's time drop to the bottom.

The honest limits, because a tight trade compares notes: the age is a range, not a certificate, and the storm model gives you odds and exposure, not proof that a given roof is damaged. It tells you which doors deserve a knock and a real look, not which homeowners will sign. You still have to get on the roof and document what is actually there. What it removes is the worst part of working an old list — guessing which of the 800 to call first, and wasting weeks on roofs that already got replaced. If you would rather not buy software for it, the manual scoring above still works; the data tool just does in an afternoon what would otherwise take a rep a month of detective work.

Step 3: Pick the reason-to-call — the single most important decision in the whole campaign

A cold revival call with no reason is a telemarketing call, and homeowners hang up on those. A revival call with a specific, legitimate reason tied to that house is a service call, and people stay on the line for those. The reason is everything. It is the difference between "Hi, I'm following up on that estimate from 2021" (dead on arrival) and "Hi, your area took a hail event in April and I had your roof in my file from a couple years back — I wanted to offer to come re-document it" (booked appointment).

Good reasons-to-call, ranked by how well they reopen a door:

  1. A new, dated storm over their specific roof. "There was a verified hail event over your neighborhood on [date]." Concrete, time-stamped, and about their property. The strongest opener there is.
  2. The roof crossing into its replacement window. "When I looked at it, your roof had a few years left. By my notes it's right at the age now where it's worth a fresh look."
  3. A neighbor job. "We're putting a roof on [street/area] this week and I had your address in my file from before." True, local, low-pressure.
  4. A price or material change. "Shingle pricing and the options have moved since I quoted you — I'd like to recheck your number."
  5. A genuine check-in on the competitor's roof. "I know you went another direction back then; I just wanted to see how that roof held up for you." This one disarms people because it costs them nothing and assumes nothing.

Notice what is not on that list: "just following up," "checking in," and "touching base." Those are not reasons. They are the absence of a reason, and homeowners can smell it.

Step 4: The cadence — how many touches, on which channels, over how long

One call is not a campaign. The data on follow-up across sales is unambiguous and it is worse in home services because homeowners are busy, suspicious, and rarely sitting by the phone. You need a multi-touch, multi-channel sequence, and you need to vary the channel so you are doing more than leaving the same voicemail five times.

Here is a cadence that works for a warm revival list (the unsold-estimate and storm-no-decision categories). Compress or stretch it based on urgency — a fresh storm tightens everything.

Day Channel Message focus
1 Phone call The reason-to-call. If no answer, leave a 15-second voicemail naming the reason.
1 Text (if no answer) One line: who you are, the reason, "OK if I take a quick look at your roof this week?"
3 Email The reason in writing + a photo or sample report if you have one.
5 Phone call Second attempt, different time of day than day 1.
8 Postcard / door hanger If they are local and high-scored, a physical touch with the address and reason printed on it.
12 Phone call Final voicemail: "I'll close out your file unless you'd like that look." The takeaway nudge.
20+ Long-term drip If still no response, drop into a low-frequency seasonal touch (quarterly), not the trash.

A few rules that matter more than the exact days:

Vary the time of day. If your day-1 call was at 10 a.m., make your day-5 call at 5:30 p.m. You miss the same people calling the same hour every time.

Text is your highest-response channel for home services, but earn it. A cold text with no context reads as spam. A text that follows a voicemail and names a real reason gets answered. Always identify yourself and your company, give a clear opt-out, and respect it instantly. Honor the do-not-call and texting rules — keep it to reasonable hours and stop the moment someone asks.

Five to eight touches is the floor, not the ceiling. Most reps quit after one or two. The jobs are in touches three through six. If you stop early you are doing all the work of a campaign and capturing none of the upside.

Don't run the cadence by feel. Put it in the CRM as a task sequence so the system tells the rep who to touch and when. A revival campaign run from memory dies in week two.

Step 5: The scripts — openers, the price objection, the storm reopen, and the takeaway

Scripts are not about reading robotically. They are about not fumbling the first ten seconds, which is when the homeowner decides whether you are a service or a nuisance. Internalize these, then make them yours.

The unsold-estimate reopen (warm)

"Hi [Name], this is [You] over at [Company]. We put together a roof estimate for you back in [year] — I'm not sure if you ever got that roof done. The reason I'm calling: your roof's right at the age now where it's worth a fresh look, and pricing and options have shifted since I quoted you. I'd be glad to come back out, re-check it, and get you a current number — no charge for the look. Is the roof still original?"

That last question does the work. It is easy to answer, it is about their house, and the answer tells you instantly whether to proceed or close the file.

The price objection, two years later

When they say we couldn't swing it back then, you do not re-pitch the old number. You acknowledge and reframe:

"Totally understand — timing is everything on a roof. Two things have changed since then: the roof's two years older, so if there was wear it's progressed, and we've got financing options now that spread it out so it's not one big hit. Worth me coming out to see where it actually stands?"

You are selling the look, not the roof. The look is free and low-commitment. The roof sells itself once you are on it with photos.

The storm reopen (handle with care — see the compliance section)

"Hi [Name], it's [You] at [Company]. I had your roof in my file from a couple years back. The reason I'm reaching out: your area had a verified hail event on [date], and roofs that took that storm sometimes show damage that isn't obvious from the ground. I'd like to come out, document the roof thoroughly, take dated photos, and if there's storm damage I'll write you up an accurate repair estimate you can keep. Whether you ever file anything is completely up to you and your insurance company — I just make sure you've got the facts. Can I get up there this week?"

Read that last part again. You are offering documentation and an estimate. You are not offering to handle a claim, guarantee an approval, or make a deductible disappear. More on exactly why in the compliance section — it is not optional.

The takeaway close (for the final touch)

"[Name], I don't want to keep bugging you, so this is my last call on it — I'm going to close out your file. If you'd like me to take one quick look at the roof before I do, just say the word and I'll get you on the schedule. Otherwise no hard feelings and I'll leave you be."

The takeaway works because it removes pressure and triggers a small fear of loss. A surprising number of "I've been meaning to call you back" homeowners surface on this exact touch.

Step 6: Document like the job depends on it — because it does

Reopening the conversation gets you on the roof. What turns that into a signed contract is documentation. This is true for every category, and it is especially true for the storm no-decisions, where the difference between a closed job and a wasted trip is almost always the quality and clarity of what you put in the homeowner's hands.

Build a documentation packet that is identical every time, so nothing gets missed and every homeowner gets the same professional experience:

  • Dated, geotagged photos of every slope, all penetrations, flashing, valleys, ridge, and any visible damage. Wide shots for context, tight shots for evidence.
  • A measured diagram of the roof (your aerial-measurement tool or a hand sketch) with square footage and pitch.
  • A written, line-item repair estimate built to a recognized estimating standard. If you work storm restoration, an Xactimate-aligned estimate speaks the same language the homeowner's insurer uses, which reduces friction. You are describing your scope to repair the roof — the materials, labor, and line items it takes to make it right.
  • A plain-English findings summary the homeowner can actually read: here is what we found, here is what it means, here is what fixing it involves.
  • Photos of comparable damage if it helps them understand what they are looking at on their own roof.

The homeowner keeps this packet. It is theirs. For a storm lead, they decide whether to file with their insurer, and the insurer decides coverage. Your job is to be the contractor who documented the roof thoroughly and handed over an accurate estimate, period.

A documentation packet also quietly upgrades every non-storm revival. When you hand a price-shopper who chose the cheap guy a clean, photographed, line-itemed estimate, you look like a different caliber of company than whoever underbid you. That contrast closes jobs.

The compliance line you cannot cross (storm and insurance leads)

A large share of aged-lead revival in roofing touches storm and insurance situations, so this section is mandatory reading, not a footnote. Roofing and insurance claims are legally fraught territory, and crossing the line can cost you your license to operate in some states. The issue is unlicensed public adjusting. In several states — Texas being the sharpest example after recent case law — a roofer who advertises or acts as a "claims specialist," negotiates with the insurer on the homeowner's behalf, or interprets policy coverage can be found to be adjusting claims without a license. Even calling yourself an insurance or claims specialist has been held to cross the line.

Here is the clean, safe division of labor. Memorize it and train every rep on it.

What a roofer absolutely MAY do:

  • Inspect the roof and document its condition thoroughly with dated photos.
  • Identify and describe storm-related damage they observe.
  • Write an accurate, line-item repair estimate for their own scope of work, aligned to a recognized standard like Xactimate.
  • State factual information about their scope and findings to the carrier when asked.
  • Hand all of that documentation to the homeowner to keep and use however they choose.

What a roofer MUST NOT do (the do-not-say list):

  • Negotiate, "handle," "manage," or "adjust" the homeowner's claim for a fee.
  • Interpret the homeowner's policy or tell them what is or isn't covered.
  • Promise or guarantee a specific payout, approval, or settlement amount.
  • Say anything about the deductible being waived, absorbed, covered, or made to disappear — that is insurance fraud in many states, full stop.
  • Advertise a "free roof" or "no out-of-pocket" roof.
  • Represent the homeowner against their insurer.

The safe frame, said out loud to the homeowner, sounds like this: "I document the roof and write you an accurate estimate. You file with your insurance if you choose to, and your insurance company decides what's covered. The claim stays between you and them." That sentence keeps you on the right side of the line and, frankly, builds more trust than the deductible-erasing pitch the fly-by-night crews run.

None of this is legal advice, and the specifics vary by state — check your own state's department of insurance rules and have counsel review your contracts and marketing language. But the principle is universal: document and estimate, never adjust.

Worked example: turning a stale 600-name list into a quarter of work

Let's run real numbers, conservatively, with no fabricated success rates — just arithmetic you can sanity-check.

A residential shop exports 36 months of non-won leads: 640 records. Cleaning knocks out the dead — sold-the-house, disconnected, already-roofed-by-us, do-not-call — leaving 470 workable. Scoring (roof age now, storm exposure, objection type, engagement depth) sorts them so the top tier rises:

  • Tier A (top ~15%, ~70 leads): roofs now squarely in the replacement window, several with a verified storm since the lead went cold, all with a written estimate on record. These are the campaign.
  • Tier B (next ~35%, ~165 leads): one strong factor — either aged-in or storm-touched, reversible objection. Worked after Tier A.
  • Tier C (the rest, ~235 leads): weak signals, cold names, future-need not yet ripe. Drip them; don't burn closer time on them now.

The shop works Tier A first with the full 5–8 touch cadence. Out of 70 warm, high-score leads, getting a meaningful fraction to agree to a re-inspection is realistic because the reason-to-call is concrete and the relationship already exists. Say a portion book a look, a portion of those have a roof genuinely worth replacing once you are on it, and a portion of those sign. Even modest conversion through that funnel produces a stack of contracts — at a customer-acquisition cost near zero, because you already paid to generate these names the first time.

The point of the example is not the exact close rate, which depends on your market, your reps, and your follow-through. The point is the order of operations: clean, score, work the top tier first with a real reason and a real cadence. A shop that does this consistently treats its CRM as a renewable resource. A shop that doesn't pays a lead site to sell it the same homeowner it already had in its file two years ago.

The CRM hygiene that keeps the well from running dry

Reviving aged leads is a one-time windfall the first time you do it. It becomes a durable channel only if you stop letting leads die in the first place. The fix is process, not heroics.

Never mark a no-sale as "Lost" with no future date. Every unsold estimate gets a stage and a follow-up date. "Three years left on the roof" becomes a calendar task for 30 months out, not a record that rots.

Capture the objection in a structured field, not a free-text note. "Price," "timing," "spouse," "renter," "claim-stalled," "chose competitor." Structured objections are what let you score and segment later. Free-text notes are where revival campaigns go to die.

Record the roof's age at time of estimate. It is the most valuable column you can keep, because it ages predictably and tells you exactly when to re-knock.

Run a revival pass on a schedule. Quarterly, pull everyone whose follow-up date has come due, plus anyone whose roof has crossed into the replacement window, plus anyone newly inside a storm footprint. Make it a standing operation, not a once-in-a-while panic when the pipeline is thin.

Tag the storm no-decisions separately. When a new event hits, you want to instantly pull every documented-but-unsold storm lead in that footprint and re-contact them within days. That speed is only possible if they were tagged when they first went cold.

Segment-specific revival plays

The five lead types from the top don't get the same campaign. A single script and a single cadence will underperform on every category except the one you happened to write them for. Here is how each segment actually works, with the wrinkles that separate a booked appointment from a hang-up.

Playing the unsold estimate

This is your bread and butter, so treat it like the asset it is. Before you dial, pull the original estimate and read it. Know the number you quoted, the scope, the material, and the objection on record. You want to walk into the call already oriented, because the homeowner's first reaction will be a vague memory of "some roofer" — and the instant you say "I had you down for a 30-square architectural tear-off back in the spring of '22," you stop being a telemarketer and become the company that remembers them.

The wrinkle: do not assume the original objection still holds. People's lives reorganize. The spouse who said no got a raise. The renter moved out and the owner moved back in. The "we're selling next year" became "we decided to stay." Your job on the first call is to find out what changed, which is why the open ends with an easy diagnostic question — "Is the roof still original?" — rather than a pitch. Let them tell you the new situation, then match your offer to it.

Playing the storm no-decision

These reopen better than almost anything because there is a dated, external event you can point to. But they require the most discipline, because this is the segment where reps wander into claims language and get the company in trouble. Pull every storm no-decision tagged in a given footprint, sort by roof age and storm severity, and re-contact within days of any new event. Speed matters here, not because of some storm-chaser hustle, but because the homeowner is already thinking about their roof when the storm is fresh, and you want to be the documented, professional option before the door-knocking swarm shows up with deductible promises that will eventually get them sued.

The wrinkle: keep the entire conversation on documentation and estimate. "I'll come re-document the roof, take dated photos, and write you an accurate repair estimate you can keep" is the whole offer. What the homeowner does with that — whether they file, whether it's covered — is between them and their carrier. Re-read the compliance section until that division is automatic for every rep.

Playing the homeowner who chose a competitor

Most shops write these off out of pride. Don't. A meaningful slice of them are quietly unhappy a year or two later: the cheap roof leaked, the installer disappeared, the warranty turned out to be worthless, or the workmanship looked rough the day it was done. You are not re-bidding the original job — you lost that one — you are positioning yourself as the company that picks up the phone when the other guy won't.

The open is a genuine, no-strings check-in: "I know you went another direction back then — I just wanted to see how that roof held up for you." If it held up fine, you've spent ninety seconds and left a good impression for next time. If it didn't, you've just found a repair or a re-roof, plus a homeowner who now has a vivid reason to trust quality over price. Either outcome is worth the call.

Playing the future-need lead

These are the easiest to convert and the easiest to lose, because the only variable is timing. When you originally noted "three years left on the roof," that should have become a calendar task. If it didn't, your scoring will surface it now anyway as the roof crosses into its window. The open practically writes itself: "When I looked at it, you had a few years left and wanted to wait — by my notes you're right about at that point now. Want me to come confirm where it stands?"

The wrinkle: get to them before a competitor or a storm does. A future-need lead that ripens unattended is a job you've already done the work to earn and are handing to whoever knocks first. This is the single strongest argument for letting roof age — not a stale note — drive your re-knock timing.

Playing the cold canvass name

Be honest about these: they are barely "leads." There was no inspection, often no real conversation, sometimes no confirmed need. Work them last, and work them as fresh prospecting rather than revival. The one thing that lifts them is the same thing that lifts cold prospecting in general — a concrete, address-specific reason to knock, which is exactly what a roof-age and storm score gives you. If a cold-canvass address now reads as an aged-out, storm-worn roof, it has effectively graduated into a real prospect and earns a proper knock.

Measure the campaign or you'll never improve it

A revival push you don't measure is a one-time lottery ticket. Measured, it becomes a repeatable channel you tune every quarter. Track a handful of numbers and nothing more — too many metrics and reps stop logging entirely.

Metric What it tells you Healthy direction
Contact rate (reached a human ÷ attempts) Is your list clean and your timing right? Up. Low rate means dirty data or bad call hours.
Appointment rate (re-inspections booked ÷ contacts) Is your reason-to-call landing? Up. Low rate means weak openers.
Inspection-to-bid rate Are the roofs you're re-knocking actually due? Up. Low rate means your scoring is off.
Bid-to-close rate Is your documentation and pricing competitive? Up. Low rate is a closing or proof problem.
Cost per acquired job Revival should crush your paid channels Near zero — you already paid for these names.

The most diagnostic of these is the inspection-to-bid rate. If your reps are getting on roofs but rarely writing a bid, your list scoring is sending them to roofs that aren't due — which is precisely the problem that roof-age and storm data exists to fix. If they're writing bids but not closing, the problem moved downstream to price, financing, or the quality of the documentation you leave behind. The numbers tell you which lever to pull instead of guessing.

Keep a simple disposition code on every touch — "reached/booked," "reached/not now," "left voicemail," "bad number," "do not contact." Those codes are what let you calculate the table above, re-segment for the next pass, and prove to yourself that the dustiest list in the office is outperforming the lead site you've been paying every month.

A 30-day revival sprint you can actually run

Reading a system and running one are different things. Here is a concrete 30-day plan to take a shop from "we should really call those old leads sometime" to a working channel.

Week 1 — Build the list. Export 36 months of non-won leads. Deduplicate by address. Run a current-ownership check and re-flag the sold homes as fresh prospects. Strip do-not-call, disconnected, and already-roofed records. Append phone and email where missing. Tag each record with its lead-type category. End the week with a clean sheet.

Week 2 — Score and load. Fill the four score columns — roof age now, storm exposure since the lead went cold, objection reversibility, and original engagement depth. By hand for a small list; with a data pass for a large one. Sort descending into Tier A, B, and C. Load Tier A into your CRM as a task sequence with the cadence calendar built in. Write or refresh your three core scripts: the unsold-estimate reopen, the storm reopen, and the takeaway close.

Week 3 — Work Tier A hard. Run the full 5-to-8-touch cadence on the top tier. Vary channel and time of day. Book re-inspections. Get on roofs. Build and leave the same documentation packet every time. Log a disposition code on every single touch — this is non-negotiable, because Week 4 depends on it.

Week 4 — Close, measure, and systematize. Convert the re-inspections into bids and bids into contracts. Calculate the five metrics above. Move on to Tier B with whatever you learned about which openers landed. Then schedule the permanent operation: a standing quarterly revival pass, a rule that no estimate gets closed without a future-follow-up date, and a storm-footprint alert that pulls tagged storm no-decisions within days of any new event. The sprint ends; the channel begins.

What pros get wrong (the failure list)

After watching a lot of revival campaigns succeed and stall, the failures cluster into the same handful of mistakes. Avoid these and you are ahead of most shops.

They call in spreadsheet order instead of score order. The hot leads sit at line 600 while the rep grinds through dead names at the top and quits before reaching them.

They lead with "just following up." No reason, no reopen. The call is over before it starts.

They quit after one or two touches. The jobs live in touches three through six. One voicemail is not a campaign.

They re-pitch the old price instead of selling the free look. The number scared them off once; leading with it again scares them off again. Sell the inspection, let the roof sell the job.

They treat all old leads as equal. The cold canvass name gets the same effort as the unsold estimate with a documented storm, and the warm ones get diluted.

They wing the storm pitch and stray into claims language. Promising approvals, talking deductibles, calling themselves a claims specialist — this is the mistake that can end a business, never mind lose a deal. Document and estimate; never adjust.

They have no system to keep it going. They run one big revival push, harvest the easy jobs, and then let the CRM rot again until the next slow season.

Tools and the build-versus-buy question

You can run every step here by hand. A clean spreadsheet, your CRM's task sequences, a phone, and discipline will get a small shop a long way, and if your list is under a hundred names, manual is genuinely the right call.

The constraint shows up at scale and on two specific columns of the score: roof age now and storm exposure since the lead went cold. Those are the two factors that most powerfully reorder the list, and they are also the two that are nearly impossible to fill in by hand across hundreds of addresses. Aging a roof by eye from a two-year-old note is guesswork; cross-referencing every address against years of hail and wind history is a research project no rep will actually finish.

That is the narrow, honest place a data tool earns its keep. RoofPredict takes the list you already own and returns a roof-age range and a per-roof storm history for each address, then ranks them so the genuinely-due roofs surface first — the same scoring described above, done in an afternoon instead of a month. The limits are real and worth repeating: the age is a range, the storm read is exposure and odds rather than proof of damage, and nothing replaces getting on the roof to document what is actually there. It tells you which doors to knock first. It does not sign the contract for you. Used that way — as a sharpener for the outbound you already do, not a magic lead button — it turns your dustiest list into your cheapest pipeline.

Whatever you use, the system is the same: clean the list, score it so the due roofs rise, call with a real reason in the right order, follow up five to eight times across channels, document like the job depends on it, and stay strictly on the document-and-estimate side of any storm or insurance conversation. Do that, and the 420 homeowners your shop "lost" last year stop being a regret and start being next quarter's schedule.

FAQ

How old can a roofing lead be and still be worth reviving?

Three years is the practical sweet spot for residential leads — old enough that the homeowner's circumstances and the roof itself have changed, recent enough that the contact information still works and they remember you. Beyond three years, check current ownership first, because a sold home means the old contact is dead but the new owner of that same roof is a fresh prospect. The roof's age matters more than the lead's age: a lead that was 'too early' three years ago may be dead-center in the replacement window now.

What is the best reason to give when calling an old roofing lead?

A specific, legitimate reason tied to that exact house. The strongest is a new, dated storm over their roof. Next is the roof crossing into its replacement window since you last looked. Then a neighbor job nearby, a price or material change since your old quote, or a genuine check-in on how a competitor's roof held up. Never lead with 'just following up' or 'touching base' — those are the absence of a reason, and homeowners hang up on them.

How many times should I follow up with a cold roofing lead?

Five to eight touches is the floor for a warm revival list, not the ceiling. Most reps quit after one or two voicemails, which is exactly why the jobs live in touches three through six. Vary the channel (call, text, email, postcard) and the time of day so you are not leaving the same voicemail at the same hour every time. Put the cadence into your CRM as a task sequence so it runs on schedule instead of from memory.

Should I re-quote the old price when reopening an estimate?

No. The original number is what scared them off, so leading with it again triggers the same objection. Sell the free re-inspection instead, not the roof. Acknowledge the timing, point out that the roof is older now and that pricing, options, and financing have changed, and offer to come recheck where the roof actually stands. The look is low-commitment; once you are on the roof with photos, the job sells itself at a fresh, accurate number.

How do I revive storm leads without breaking insurance laws?

Stay strictly on the document-and-estimate side. You may inspect the roof, document damage with dated photos, and write an accurate line-item repair estimate for your own scope of work. You may not negotiate or handle the claim, interpret the homeowner's policy, promise a specific payout or approval, or say anything about the deductible being waived or absorbed — that last one is insurance fraud in many states. Calling yourself a 'claims specialist' has itself been held to be unlicensed public adjusting in some states. Hand the homeowner the documentation; they file with their insurer if they choose, and the insurer decides coverage.

Which old leads should I call first?

Score and rank them — never call in spreadsheet order. The four factors that matter most are: the roof's age now (is it in the roughly 18–25-year asphalt replacement window?), whether a verified storm has passed over that address since the lead went cold, how reversible the original objection was (price and timing are reversible; 'just got a new roof' is not), and how deep the original engagement was (a written estimate beats a porch chat). Sort descending and work the top tier first with your full cadence.

What's the difference between an aged lead and a dead lead?

An aged lead is a homeowner whose roof you have seen or whose need you established, where the reason they didn't move forward was a this-month problem (price, timing, a stalled claim) that may have changed. A dead lead is a sold home, a disconnected number, a do-not-call request, an address you already roofed, or a pure cold-canvass name where no real need was ever established. During list cleanup you strip the dead and flag the sold homes, because the new owner of that same roof is a fresh prospect, not a dead record.

How does roof-age and storm data help reopen old leads?

The two score factors that most powerfully reorder an old list — the roof's age now and whether a storm has hit it since the lead went cold — are nearly impossible to fill in by hand across hundreds of addresses. A tool like RoofPredict reads a roof-age range from aerial imagery and models the hail and wind each individual roof has actually taken, then ranks your existing list so the genuinely-due roofs surface first. The honest limits: the age is a range, not an exact date, and the storm read is exposure and odds, not proof of damage — it tells you which doors to knock first, not who will sign.

How do I keep leads from dying in the first place?

Process, not heroics. Never mark a no-sale as permanently lost with no future date — every unsold estimate gets a follow-up date, and 'three years left on the roof' becomes a calendar task 30 months out. Capture objections in structured fields, not free-text notes, so you can score and segment later. Record the roof's age at the time of estimate. Run a revival pass quarterly, and tag storm no-decisions separately so you can re-contact everyone in a new storm's footprint within days.

Is it worth buying software for lead revival, or can I do it by hand?

If your list is under about a hundred names, doing it by hand with a clean spreadsheet, your CRM's task sequences, and discipline is genuinely the right call. Software earns its keep at scale and specifically on the roof-age and storm-exposure columns, which no rep will realistically finish researching by hand across hundreds of addresses. Used as a sharpener for outbound you already do — not a magic lead button — a data tool turns your dustiest list into your cheapest pipeline. Either way the system is identical: clean, score, call with a reason in the right order, follow up, and document thoroughly.

The Roofline by RoofPredict

Stay Ahead of Roofing Market Changes

Join The Roofline by RoofPredict for weekly roofing intelligence: material price signals, storm demand, insurance and regulatory updates, sales tactics, and local contractor opportunities.

By signing up, you agree to receive The Roofline by RoofPredict. Unsubscribe anytime.

Sources

  1. National Roofing Contractors Association (NRCA)nrca.net
  2. Insurance Institute for Business & Home Safety (IBHS) — Hail and Roof Researchibhs.org
  3. NOAA National Weather Service — Storm Prediction Centerspc.noaa.gov
  4. NOAA National Centers for Environmental Information — Storm Events Databasencdc.noaa.gov
  5. Federal Trade Commission — Telemarketing Sales Ruleftc.gov
  6. FTC — National Do Not Call Registrydonotcall.gov
  7. Texas Department of Insurance — Public Insurance Adjusterstdi.texas.gov
  8. Stonewater Roofing, Ltd. Co. v. Texas Department of Insurance (Tex. 2024)txcourts.gov
  9. OSHA — Fall Protection in Residential Constructionosha.gov
  10. U.S. Bureau of Labor Statistics — Roofers Occupational Outlookbls.gov
  11. International Code Council — International Residential Code (IRC)iccsafe.org
  12. U.S. Census Bureau — American Housing Surveycensus.gov
  13. Consumer Financial Protection Bureau — Home Improvement Financingconsumerfinance.gov
  14. RoofPredictroofpredict.com

Related Articles