Skip to main content

How to Nurture Aged Roofing Leads Until Their Roof Is Actually Due

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

Every roofing company has a graveyard. It's the section of the CRM nobody scrolls to: estimates from 2021 that went cold, homeowners who said "we're going to wait," the inspection where the roof looked tired but not tired enough, the past customer who bought gutters and never came back. Sales reps treat that list like it's worthless because the homeowner didn't sign last week. That instinct costs roofers more money than any single missed close.

Here's the reframe that changes how you run the back half of your pipeline: most of those leads weren't no. They were not yet. A roof that was 14 years old when you quoted it is 17 now. The one that "looked fine" in 2022 has had three more freeze-thaw cycles and two more hail seasons since. The homeowner who told you they'd wait until the kids were out of college may be exactly six months from the moment your phone call is the most welcome call they get all year.

The problem was never the lead. The problem is that most roofers have no system for staying in front of a homeowner for the two-to-seven years between the first conversation and the day the roof is genuinely due. They drop the lead, the homeowner forgets the company name, a competitor's door-knocker shows up first, and the job you already paid to find goes to someone who paid nothing.

Nurturing aged leads correctly is a different discipline than chasing fresh ones. It's lower-touch, longer-horizon, and ruthlessly tied to timing. Done right, it's also the cheapest jobs you will ever book, because you already spent the acquisition money years ago. What follows is the actual system: how to segment a dead database, how to estimate when each roof is due, what to send and when, how to write the touches so they don't get marked as spam, and how to know the week to stop nurturing and start selling.

Why aged roofing leads are the highest-margin pipeline you have

A fresh lead from a lead-aggregator, a paid form, or a shared-services platform costs real money and arrives with competition baked in. The homeowner filled out a form that went to four other contractors. Your cost per acquisition is high and your close odds are split. That's a fine top-of-funnel engine, but it's an expensive one.

An aged lead is the inverse. You already paid to acquire it. The homeowner already met you, already has a quote with your letterhead on it, already formed an impression. The only thing standing between that record and a signed contract is time and memory — time for the roof to reach end of life, and memory so the homeowner thinks of you and not the last yard sign they drove past.

Consider the unit economics. Say a re-roof on an average residential home nets you a few thousand dollars in gross profit after materials and labor. If you can resurrect that job from a record you already own for the cost of a few mailers, a couple of emails, and one well-timed phone call, your marketing cost on that job rounds to nearly nothing. Run that across a database of even 800 old estimates and past customers, and a 6 to 10 percent reactivation rate over three years is a season of work hiding in a spreadsheet you already paid for.

There's a second reason this pipeline matters more than roofers admit: it's yours. A lead site rents you the same homeowner it sold to your competitors. A storm gives you a flood of work and then a drought. Your own database of aging roofs is the one source of jobs you control and can mine on your own schedule, storm or no storm. The companies that grow steadily without living and dying by ad spend are almost always the ones that treat their old list as an asset instead of a junk drawer.

The mental model: a roof is a clock you can already read

The single idea that makes long-term nurturing work is this: a roof has a fairly predictable service life, so a lead has a fairly predictable due date. You are not gambling on when a homeowner feels like buying. You are estimating when the physical asset on top of their house will force the decision, and timing your presence to that window.

Asphalt shingles — the roof on the vast majority of American homes — typically last in the neighborhood of 15 to 30 years depending on the product, the install quality, ventilation, slope, and climate. A standard 3-tab roof on the lower end, an architectural/laminated shingle on the higher end. Once you know roughly how old a roof is, you can place it on that clock and know whether the homeowner is years out, getting close, or already overdue.

That turns nurturing from a vague "stay in touch" effort into a scheduling problem. If a roof is 12 years old today and the product life is around 22 years, you have a known runway. You nurture lightly for several years, increase your presence as it crosses into the back third of its life, and convert when it enters the danger zone or when a storm accelerates the timeline. The homeowner experiences a company that happened to reach out right when they were starting to worry about the roof. You experience a system.

Step one: segment the graveyard before you touch it

Never nurture an aged database as one undifferentiated blob. A homeowner who got a quote last quarter needs a completely different cadence than one whose roof is two years from failure. Blasting the same monthly email to everyone is how you train people to ignore you and how you get flagged by spam filters. Segment first.

Pull your full list of dead and dormant records — old estimates, no-sale inspections, past customers, expired warranties, referrals that never closed — and sort every record into one of four timing buckets based on estimated roof age and life remaining.

The four timing buckets

Bucket A — Due now or overdue (roof at or past end of typical life). These aren't nurture leads; they're sales leads you've been neglecting. Move them out of the nurture program and into active outreach this month. A roof you estimated at 18 years old three years ago is 21 now, which on most asphalt products is squarely in replace territory.

Bucket B — Closing in (within about 2 to 4 years of end of life). This is the prime nurture zone. The roof isn't failing yet, but it's close enough that a storm, a leak, or a real-estate event will tip it. These get your most attentive cadence because they'll convert soonest.

Bucket C — Mid-life (roughly 5 to 10 years of life remaining). Light, patient nurturing. You're playing for memory and brand presence, not for a near-term sale. A few touches a year is plenty. Over-contacting this group wastes money and burns goodwill.

Bucket D — Young roofs (recently replaced, lots of life left). Effectively a do-not-disturb list for replacement offers. These belong in a relationship/referral track — maintenance reminders, gutter and ventilation upsells, referral asks — but never a "time to replace your roof" message. Pitching a re-roof to someone with a five-year-old roof destroys credibility. The most valuable thing you can do with this bucket is not market replacement to it, which is also why knowing roof age matters as much for who you skip as for who you target.

The quiet superpower of this segmentation is the skip. Most roofers waste a meaningful share of their nurture budget contacting roofs that physically cannot buy a replacement for a decade. Pulling Bucket D out of the replacement cadence instantly makes every remaining dollar work harder.

A simple scoring approach if you don't have clean data

If your records are messy — and most are — you don't need a data scientist to bucket them. Score each record on three axes and let the total place it:

Factor Low (1) Medium (2) High (3)
Estimated roof age Under 8 yrs 8 to 15 yrs 15+ yrs
Storm exposure since last contact None notable One moderate event Multiple or severe events
Engagement signals Never opened/replied Opened a few Replied, called, or asked

A record scoring 7 to 9 is Bucket A or B. A 4 to 6 is Bucket C. A 3 is Bucket D. It's rough, but rough and acted-upon beats precise and ignored. You refine as better age and storm data come in.

Step two: estimate when each roof is actually due

Segmentation is only as good as your age estimate, so this is where the real work lives. You have several ways to estimate roof age, ranging from free-but-fuzzy to precise-but-expensive. Use them in combination.

What your own records already tell you

Your estimate notes are the best starting point. A good inspector writes down the apparent condition: granule loss, curling, cracking, the number of layers, signs of prior repair, and often a direct age estimate. If your 2021 inspection note says "architectural shingle, moderate granule loss, est. 12 to 15 yrs," you can confidently call that roof 15 to 18 now. Mine those notes first; they're free and specific.

Permit records and property data

Many jurisdictions require a permit for a re-roof, and a lot of those records are public. If you can find a roofing permit pulled on the address in, say, 2009, you know the current roof is roughly 16 years old and you've got a hard anchor instead of a guess. County and municipal permit portals vary wildly in quality, but for higher-value targets the lookup is worth it.

Be careful with one common trap: the year the house was built is not the age of the roof. Zillow, Google, and county assessor data will happily tell you a home was built in 1998, but if it was re-roofed in 2015, that roof is ten years old, not twenty-seven. Re-roofs are invisible to year-built data. Treating year-built as roof-age is the single most common reason roofers mail offers to homeowners with nearly new roofs and get written off as spammers.

Aerial and satellite imagery

This is where modern targeting has changed the game. Current and historical aerial imagery can reveal the actual condition and approximate age of a roof from above — color uniformity, weathering, granule loss patterns, patched sections, and changes between historical image dates that reveal when a roof was last replaced. A roof that's a consistent dark, crisp color in recent imagery reads young; a streaked, faded, mottled roof reads old. Comparing an image from eight years ago to today can sometimes pin the replacement year directly.

Reading imagery well is a skill, and at the scale of a few-hundred-record database, doing it by hand for every address is slow. This is one place where pulling a roof-age estimate per address programmatically saves enormous time, which is the gap tools in this category fill (more on that below). The point for now: aerial imagery gives you an age range per roof without anyone climbing a ladder, and a range is exactly what bucketing needs.

Roof age is a range, not a birthday

No estimation method gives you the exact install date, and you shouldn't pretend it does. The honest output is a window: "this roof is about 16 to 20 years old." That's fine — it's all the bucketing system needs. Treat any single-number age claim with suspicion, including your own. The range keeps you honest in your messaging too: you'll never tell a homeowner you know their roof is exactly N years old, because you don't, and a wrong specific claim shatters trust faster than an honest estimate.

Step three: layer storm history onto roof age

Age tells you when a roof wears out on schedule. Storms tell you when one wears out early. A roof's due date can jump forward by years after a single hail event or a high-wind storm, and a nurture program that ignores weather is leaving its best conversion triggers on the table.

Hail bruises shingles, knocks off the protective granule layer, and fractures the mat underneath. Wind lifts, creases, and tears shingles and can strip them entirely. A roof that was on a comfortable five-year runway can become "due" in a single afternoon if the right storm tracks over it. The homeowner often doesn't notice — hail damage in particular frequently looks fine from the ground — which is exactly why a contractor who knows a storm hit that address is valuable to them.

Where to get real storm data

You don't have to guess where it hailed. Public weather data is genuinely good in the United States:

  • NOAA's Storm Prediction Center maintains storm reports including hail and wind, with sizes and locations.
  • The National Weather Service issues warnings and archives event data by location.
  • NOAA's Storm Events Database lets you pull historical severe-weather events by county and date going back decades.

The limitation of public data for door-by-door targeting is granularity. A storm report might say "1.75-inch hail reported near" a town, but a hail swath is not uniform — it can clip one side of a street hard and leave the next block untouched. County-level or point-report data tells you a storm happened in the area, not precisely which roofs took the hit.

The difference between "it hailed here" and "this roof got worn out"

This is the distinction that separates a hail map from useful targeting. A hail map shows you where it hailed. It does not tell you which specific roofs the storm actually wore out, because the same hailstorm does different damage to a brittle 19-year-old roof than to a two-year-old roof, and because the storm's intensity varied across the swath. Modeling the storm on each roof — the size and trajectory of the hail or the wind load against that specific roof's age and condition — is a different and far more useful signal than a colored polygon on a regional map.

For your nurture program, the practical move is to flag every record in your database that sat under a notable hail or wind event since your last contact, and bump those records up a bucket or straight into active outreach. A Bucket C mid-life roof that just took golf-ball hail is now a Bucket A conversation — but the trigger for that conversation is documentation and inspection, never a promise about what an insurer will or won't do.

Step four: the long-horizon nurture cadence (the actual schedule)

Now the part everyone asks for: what do you send, and when. The governing principle is match the touch frequency to the bucket, and make every touch genuinely useful or genuinely human — never "just checking in." "Just checking in" is the most ignored phrase in sales because it's about your need, not theirs.

Here's a workable annual cadence by bucket. Adjust to your market and capacity, but keep the ratios.

Bucket Touches/year Channel mix Primary goal
A (due/overdue) Active sales cadence, not nurture Call + text + mail + inspection offer Book inspection now
B (closing in) 8 to 12 Mail, email, occasional call, seasonal Stay top-of-mind, convert on trigger
C (mid-life) 3 to 4 Mail + email, low-effort value Memory and brand presence
D (young roofs) 2 to 3 Maintenance/referral only Relationship, referrals, upsells

A year of Bucket B touches, mapped out

Bucket B is where most of your near-term reactivation revenue comes from, so it deserves a concrete plan. Here's a sample twelve-month sequence for a closing-in roof. Note how it threads seasonal relevance, useful content, and exactly one or two soft offers — without ever screaming "buy now" until a trigger fires.

  1. January — Winter check email. Short, helpful: what ice dams and freeze-thaw do to aging shingles, what to watch for, when to worry. No pitch beyond a soft "reply if you want us to take a look."
  2. March — Postcard. Spring storm-season prep. Branded, simple, one image of a clean finished roof, one line: "Aging roof heading into storm season? We do honest inspections."
  3. April/May — Post-storm trigger touch (conditional). If a hail or wind event hit their area, this fires automatically: "A storm moved through your neighborhood last week. Worth a quick look at your roof — damage often isn't visible from the ground."
  4. June — Value email. How to read your own roof's age and condition; a homeowner's checklist. Positions you as the honest expert, not the pushy salesman.
  5. August — Phone call (Bucket B only). A real, brief, human call. "We met a couple years back about your roof — no pressure, just wanted to see how it's holding up and whether it's time for another look."
  6. September — Postcard. Fall maintenance + "get ahead of winter" angle.
  7. October — Case-study email. A nearby job (same neighborhood if possible): what you found, what you did, what it cost in round terms. Proof you do good work near them.
  8. November/December — Light, human touch. A genuine seasonal note. No offer. This is the touch that makes you a person, not a vendor.

That's roughly nine to ten touches, weighted to spring and fall when roofs are top-of-mind, with a storm-triggered insert that can fire any time. The homeowner never feels hammered. By the time their roof crosses into Bucket A, your company is the obvious call.

Bucket C: the patient track

Mid-life roofs get a stripped-down version: a spring postcard, a fall postcard, and one or two value emails a year. That's it. The entire goal is that when this roof eventually ages into Bucket B or gets hit by a storm, the homeowner already knows your name. Three good touches a year for five years costs almost nothing per record and means you're not a stranger when the roof finally needs you.

Bucket D: relationship, not replacement

A past customer with a young roof should hear from you, but never about replacement. Send the annual maintenance reminder. Offer a gutter cleaning or a ventilation check. Ask for referrals — a happy customer with a fresh roof is your best source of neighbors who need one. Send a thank-you on their install anniversary. You're protecting a relationship that pays off in referrals now and a re-roof in fifteen years.

Step five: write touches that don't get ignored or flagged

A perfect cadence with bad copy is still a dead program. The mistakes that kill nurture touches are predictable, so design against them.

The rules that keep you out of the spam folder and the mental block-list

  • Lead with their roof, not your company. "Your roof is heading into the part of its life where small problems get expensive fast" beats "We're the area's trusted roofer since 1998."
  • Be specific to the address when you honestly can. "The last time we looked at your roof we noted some granule loss on the south slope" is a thousand times stronger than a generic blast — because it proves you actually know them. Only say it if it's true and in your notes.
  • Give before you ask. Most touches should teach something useful with zero ask. The occasional offer lands far harder against that backdrop.
  • Vary the channel and the format. All-email gets filtered; all-mail gets expensive; all-call gets annoying. Mix them.
  • Honor opt-outs instantly and follow the rules. Email touches need a working unsubscribe and accurate sender info to stay compliant with the CAN-SPAM Act. Calls and texts to consumers fall under telemarketing rules and the FTC's Telemarketing Sales Rule and related do-not-call requirements — scrub against do-not-call status, get the consent you need before texting, and keep records. One compliance complaint costs more than the job is worth.
  • Never fake urgency. "Final notice" and "prices go up Friday" on a nurture touch read as exactly the manipulation they are and torch the trust you spent years building.

A reactivation message that works on a cold old estimate

When you re-engage a quote that's been dead for years, acknowledge the gap honestly. People respect it.

Subject: Your roof, a few years later

Hi [First name] — back in [year] we put together an estimate for your roof and the timing wasn't right, which is completely fair. Roofs don't read calendars. I'm reaching out because that roof is a few years older now, and at the age we estimated it, this is usually about when small issues start showing up. No pressure and no obligation — if you'd like, we'll come take an honest look and tell you straight whether it can wait or not. If it can wait, we'll tell you that too.

That last line — we'll tell you if it can wait — is the most persuasive sentence in roofing nurture copy, because it signals you're not there only to sell a roof to someone who doesn't need one. It's also the truth, which is why it works.

Step six: the conversion trigger — knowing the week to stop nurturing and start selling

Nurturing has an end. The entire point is to be present and trusted at the moment the roof becomes genuinely due, then to pivot decisively from patient to active. Miss that pivot and you nurture a homeowner right up until your competitor closes them. Triggers that should immediately move a record into your active sales cadence:

  • Age crosses the threshold. The roof enters the last few years of its estimated life. This is the scheduled trigger you've been building toward.
  • A storm hits their address. Move them today. Lead with an inspection, not a sale.
  • They engage. They open three emails in a week, reply, click, or call. Engagement after a long quiet stretch usually means something changed — a leak, a neighbor's new roof, a listing on the horizon.
  • A neighbor buys. When you re-roof a house, the houses around it are often the same age and just watched a crew work for two days. Same-block records jump the queue.
  • A real-estate signal. A home going on the market, or a recent purchase, frequently forces a roof decision.

When a trigger fires, the message changes. You stop teaching and start offering a concrete next step: a specific inspection, a specific window, a real person who will show up. The nurture earned the right to that ask.

The storm trigger and the claims line — capture the intent, stay on the right side of it

Storm triggers are the highest-converting moment in roofing, and also the one where companies get themselves in legal trouble. Be precise about your role.

What you can and should do: inspect the roof, thoroughly document what you find with dated photos and measurements, and prepare an accurate, itemized repair estimate aligned to standard estimating practice for the work you'd perform. You can hand that documentation and estimate to the homeowner and state the facts about the scope of your own work. That's legitimate, valuable, and exactly what a homeowner with a storm-hit roof needs.

What you must not do, in your nurture copy or at the kitchen table: negotiate, adjust, or "handle" the insurance claim for a fee; interpret the homeowner's policy or what's covered; promise a specific approval or payout; say anything about waiving, absorbing, or covering their deductible; advertise a "free roof"; or represent the homeowner against their insurer. In many states that's unlicensed public adjusting, and even labeling yourself a "claims specialist" has gotten roofers in trouble. The homeowner files the claim. The insurer decides coverage. You document and estimate. Keep that line bright and you capture all the storm-trigger demand without taking on the liability.

So the storm-trigger message is: "A storm came through and your roof is at an age where it's worth documenting. We'll inspect it, photograph everything, and give you a clear written estimate for any repairs — then it's yours to do with as you see fit." That's honest, useful, and clean.

Where RoofPredict fits in a nurture program

Everything above assumes you can answer two questions for every record in your database: how old is this roof, roughly, and what storms has it taken since I last talked to this homeowner. Answering those by hand across hundreds or thousands of records is the bottleneck that stops most roofers from ever running a real nurture program. That's the specific gap RoofPredict was built to close.

RoofPredict takes a list of addresses — your old estimates, your past customers, your no-sale inspections — and enriches each one with a roof-age estimate as a range from aerial imagery, plus storm history modeled per roof rather than a regional hail map. Instead of guessing which bucket a record belongs in, you get the age and storm signals that do the bucketing for you, so you can sort the whole database into due-now, closing-in, mid-life, and young in an afternoon instead of a quarter. It models the storm on each roof — the hail and wind actually borne by that specific roof given its age and condition — which is the difference between "it hailed in this ZIP" and "this roof got worn out."

Used inside a nurture program, that means three concrete things. First, you stop wasting touches on young roofs that can't buy for a decade — the skip is as valuable as the target. Second, your Bucket A and B lists are populated by real age and storm signals, not gut feel, so your most attentive cadence goes to the roofs closest to due. Third, when a storm tracks across your service area, you can re-score your existing database against it and surface exactly which of your old leads just had their due date pulled forward — and trigger the inspection-and-documentation outreach to those specific homeowners.

The honest limits matter, and saying them plainly is the point. Roof age comes back as a range, not an exact install date — because no aerial method can give you a birthday, and anyone claiming otherwise is overselling. Storm modeling gives you odds and exposure, not proof of damage; the inspection on the roof is still what confirms anything. RoofPredict is not a lead service and it won't hand you customers — it ranks and enriches the homeowners you already have a relationship with so your own nurture program targets the right doors. It sharpens the outbound you were already going to do. That's the whole value, and it's enough.

Using aged leads to feed canvassing routes and direct mail

A nurture program doesn't only live in the inbox. The same age-and-storm intelligence that drives your email cadence should also drive where your crews physically go and where your mail budget lands, because the two reinforce each other. A homeowner who got a postcard last month and then has a rep knock the following week experiences a company that's everywhere, which reads as established and trustworthy even when it's just one coordinated list.

Routing canvassers to your warm old streets

Door-knocking aged streets is far more productive than knocking cold ones, and most roofers never connect the two. When you sort your database by bucket, you also get clusters of addresses by neighborhood. If you have eleven Bucket A and B records on three adjacent streets, that's a canvassing route, not eleven phone calls. Send a rep with the context already loaded: the homeowner's name, the year you last quoted, the age range on the roof, and any storm flag. A green canvasser holding that on a tablet sounds like a ten-year veteran at the door — "Mr. Alvarez, we looked at your roof in 2021, it was about fourteen years old then, and a storm tracked through here in April, so we're checking the roofs on this block" — without ever having climbed a ladder. That's how you reduce rep churn: new hires who knock the right doors with real context actually close, make money, and stay.

The door pitch on a nurtured street still follows every rule above. The rep leads with the roof and the honest reason for the visit, offers an inspection rather than a sale, and on a storm-flagged door offers to document and write an estimate — never a word about deductibles or guaranteed claim outcomes. The script is the email cadence, spoken.

Timing direct mail to the bucket, not the blast

Direct mail is expensive enough that spraying your whole database quarterly burns money on young roofs. Instead, mail by bucket and by trigger. Bucket B gets the spring and fall storm-season postcards. Bucket A gets a heavier, more direct piece tied to a specific inspection offer. A storm trigger fires a targeted mail drop only to the flagged addresses in the affected area within days of the event, while the storm is on the homeowner's mind. Mailing 180 storm-flagged homes the week after a hail event converts dramatically better than mailing 1,000 random homes on a calendar, and it costs less. The enrichment that buckets your database is what makes that precision possible — you're paying postage only on roofs that can plausibly buy.

A worked example: rebuilding a 1,200-record graveyard

To make this concrete, walk through how a mid-size residential roofer would actually rebuild a neglected database from scratch over a single season.

The company exports 1,200 dormant records: 700 old estimates, 350 past customers, and 150 dead referrals going back six years. The first pass de-dupes and finds 1,140 unique addresses with usable data. Old inspection notes carry age estimates on about 60 percent of them; the rest need help. The company runs the full address list through aerial age estimation and storm history, which fills in the missing age ranges and flags 210 addresses that sat under significant hail or wind in the last two years.

Bucketing the enriched list produces roughly 95 Bucket A (due or overdue), 250 Bucket B (closing in), 520 Bucket C (mid-life), and 275 Bucket D (young/referral). The 210 storm-flagged records cut across A, B, and C — and every flagged record in C gets promoted, because a storm just pulled its due date forward.

Week one, a rep works the 95 Bucket A records as live sales: phone, text, and an inspection offer. Many are past customers who already trust the company, so the booking rate is strong. Those inspections, run honestly, turn a healthy share into signed re-roofs within the quarter — work that was sitting in the CRM the entire time, costing nothing to find.

Meanwhile the cadence turns on. Bucket B's 250 records enter the eight-to-twelve-touch annual rhythm, with the spring postcard and the storm-trigger insert doing the heaviest lifting. Bucket C's 520 records get three patient touches a year, quietly aging upward. Bucket D's 275 records get maintenance reminders and referral asks, and several of those referrals become fresh jobs that had nothing to do with the dormant roof — a bonus the program throws off.

By season's end the company has booked jobs it would otherwise never have called, built a route map of warm streets its canvassers now work, and stood up a machine that will keep surfacing due roofs every month as the database ages and storms roll through. The recurring cost is mailers, email, enrichment, and rep time. The return is a steady second pipeline running alongside whatever fresh-lead engine the company already had — one it fully owns.

Common mistakes that quietly kill aged-lead programs

Even roofers who start a nurture program often sabotage it in ways they don't notice for a year. The usual suspects:

Treating year-built as roof-age. Covered above, but it's worth repeating because it's the most expensive single error. Pulling assessor data and assuming a 1997 house has a 28-year-old roof gets you mailing replacement offers to homeowners who re-roofed in 2018. They write you off, and you paid for the privilege.

Nurturing everyone at the same intensity. A monthly email to your entire dead list trains the mid-life and young-roof segments to ignore you, so they're not listening when their roof finally is due. Match intensity to the bucket.

Going silent for two years, then blasting a "hey remember us" offer. If you only show up when you want to sell, the homeowner feels it. The whole game is consistent, low-pressure presence so that the ask, when it comes, lands on a warm relationship.

No trigger system. A nurture program with no mechanism to detect "this roof is now due" or "a storm hit this address" is just a newsletter. The triggers are where the money is; without them you're present but never decisive.

Letting reps cherry-pick and abandon. Reps love fresh leads and hate old ones, so an aged-lead program left to individual reps' discretion dies. Assign it. Make it a defined motion with owners, a cadence, and accountability — often a single dedicated person or a marketing automation, not the closing reps.

Over-promising on storm and claims. The fastest way to turn a great storm-trigger program into a liability is to drift into claim-handling and deductible talk. Document and estimate; let the homeowner and the insurer do the rest.

Measuring the wrong thing. Judging a long-horizon program by this-month's closes will get it killed before it works. The whole point is multi-year. Measure leading indicators — engagement, inspections booked off old records, bucket migration — rather than only immediate signatures.

How to measure a multi-year nurture program without going broke or blind

Because the payoff is spread across years, you need metrics that show the program is healthy long before the revenue fully lands. Track these:

Metric What it tells you Healthy direction
Records in each bucket Whether segmentation is current A/B growing as roofs age in
Touch completion rate Whether the cadence actually ran Near 100% of scheduled touches sent
Engagement rate by bucket Whether copy and timing land Rising over time, highest in A/B
Inspections booked from aged records The real near-term leading indicator Steady monthly flow
Reactivation rate (annual) Share of dormant records that became jobs Watch the trend, not one month
Cost per reactivated job Efficiency vs. fresh-lead cost Far below your blended CAC

The metric that earns the program its budget is the last one. When you can show leadership that a reactivated job from the old database costs a small fraction of a fresh lead-aggregator job, the program stops being "that thing marketing does" and becomes a core part of how the company grows.

A realistic worked example

Say you have 1,000 dormant records. Segmentation puts 80 in Bucket A (due now), 220 in Bucket B (closing in), 450 in Bucket C (mid-life), and 250 in Bucket D (young/referral). You work Bucket A as active sales immediately and book, say, 12 inspections that turn into 5 jobs in the first quarter — work that was sitting in your CRM the whole time. Over the following two years, the Bucket B program reactivates another 6 to 9 percent of its 220 records as those roofs cross into due, while Bucket C steadily feeds new records up into B as roofs age and storms hit. Your touch costs across all of it are mailers, email, and rep time — a few thousand dollars a year against tens of thousands in recovered gross profit. None of those numbers are guarantees; they're the shape of what a disciplined program produces, and your real numbers will tell you quickly whether your buckets and copy are dialed in.

Putting it together: a 30-day plan to launch the program

You don't need to boil the ocean. Here's how to stand this up in a month.

Week 1 — Pull and clean the list. Export every dormant record: old estimates, no-sale inspections, past customers, dead referrals. De-dupe, fix obvious data problems, and capture whatever age and condition notes your old inspections already contain.

Week 2 — Estimate age and storms, then bucket. Use your inspection notes, permit lookups for high-value targets, and aerial/storm data to assign every record an age range and a storm flag, then sort all of it into Buckets A through D. This is the step where enrichment tooling pays for itself if the list is large.

Week 3 — Build the assets. Write the cadence's emails, postcards, and call scripts for each bucket. Set up the storm trigger and the age-threshold trigger in your CRM or a simple automation. Confirm your email touches are CAN-SPAM compliant and your call/text outreach is scrubbed against do-not-call rules.

Week 4 — Work Bucket A and launch the cadence. Hand Bucket A to a rep this week as live sales — those are jobs waiting to be booked. Turn on the Bucket B, C, and D cadences. Assign an owner. Put the six measurement metrics on a dashboard you'll actually look at.

Thirty days in, you'll have already booked work from records you'd written off, and you'll have a machine running quietly in the background that turns the steady, predictable aging of every roof in your database into a steady, predictable flow of jobs you own. That's the difference between hoping old leads come back and building a system that's there the week they're finally ready.

The roofs in your database are getting older every single day whether you have a system or not. The only question is whether you're the company that's present and trusted when each one finally comes due — or the one whose estimate the homeowner forgot, sitting in a folder, while someone else knocked the door you already paid to open.

FAQ

How long should I keep nurturing an aged roofing lead before giving up?

Tie the horizon to the roof, not the calendar. If a roof has years of estimated life left, keep it in a light, low-cost cadence — a few touches a year — until it ages into the back third of its life or a storm pulls its due date forward. There's rarely a reason to fully abandon a record on an asphalt roof until it's been replaced, because the roof itself guarantees a future need. The mistake is over-contacting a young roof, not staying patiently present on an aging one.

How do I estimate when a homeowner's roof will actually be due?

Combine sources. Start with your own inspection notes, which usually contain an age and condition estimate. For higher-value targets, check public re-roof permit records for a hard install date. Use aerial imagery to read weathering and approximate age from above, and layer storm history on top, since hail and wind can pull a due date forward by years. Express the result as a range, not an exact date — no method gives you a precise install day, and pretending otherwise will burn your credibility with the homeowner.

Why can't I just use the year the house was built to estimate roof age?

Because re-roofs are invisible to year-built data. Zillow, Google, and county assessor records tell you when the house was constructed, not when the roof was last replaced. A 1995 home that was re-roofed in 2016 has a roof under ten years old, even though the property data implies thirty. Mailing replacement offers based on year-built is the most common reason roofers reach homeowners with nearly new roofs and get marked as spam.

What's the right contact frequency so I don't annoy people or get flagged as spam?

Match frequency to how close the roof is to due. Roofs a few years out can take eight to twelve useful touches a year across mail, email, and an occasional call. Mid-life roofs need only three or four touches a year. Recently replaced roofs should get maintenance and referral messages a couple of times a year and never a replacement pitch. Keep every touch genuinely useful, vary the channel, honor opt-outs immediately, and follow CAN-SPAM and do-not-call rules. Never fake urgency on a nurture touch.

How do I re-engage an old estimate that went cold years ago?

Acknowledge the gap honestly and lead with their roof. A message like, 'We quoted your roof back in 2021, the timing wasn't right then, and that roof is a few years older now — we'll come take an honest look and tell you straight whether it can wait,' outperforms any hard pitch. The phrase 'we'll tell you if it can wait' is the most persuasive line in roofing nurture because it signals you're not there only to sell a roof to someone who doesn't need one.

When should I stop nurturing and start actively selling?

Pivot to active selling the moment a trigger fires: the roof crosses into the last few years of its estimated life, a notable hail or wind event hits the address, the homeowner re-engages after a long quiet stretch, a neighbor on the same block buys a new roof, or a real-estate event forces a roof decision. When a trigger fires, switch from teaching to offering a specific inspection and a concrete next step. The years of patient nurturing earned you the right to make that ask.

How do I use storm data to time my outreach to old leads?

Flag every record that sat under a notable hail or wind event since your last contact, and move those into active outreach immediately. Use public sources like NOAA's Storm Prediction Center, the National Weather Service, and the Storm Events Database to know where storms hit. Be aware that regional storm reports show where it hailed, not precisely which roofs took damage, since a hail swath isn't uniform. The storm-trigger message should offer inspection and documentation, never a promise about insurance outcomes.

Can I mention insurance claims when I reach out after a storm?

Stay strictly on the documentation and estimate side. You can inspect, photograph the damage thoroughly, and prepare an accurate written repair estimate, then hand that documentation to the homeowner. You must not negotiate or handle the claim, interpret their policy, promise an approval or payout, say anything about their deductible, or advertise a 'free roof' — in many states that's unlicensed public adjusting, and even calling yourself a 'claims specialist' has gotten roofers in legal trouble. The homeowner files the claim and the insurer decides coverage. Your job is to document and estimate.

How does RoofPredict help with nurturing aged leads?

RoofPredict takes a list of addresses from your old estimates and past customers and enriches each one with a roof-age range from aerial imagery plus storm history modeled per roof, so you can sort a whole dormant database into due-now, closing-in, mid-life, and young buckets quickly instead of guessing. When a storm crosses your area, you can re-score your existing list to see which of your own leads just had their due date pulled forward. It's not a lead service and won't hand you customers — it sharpens the targeting on the database you already own, and roof age comes back as a range, not an exact date.

How do I measure a nurture program whose payoff takes years?

Don't judge it by this month's closes. Track leading indicators: how records are migrating between age buckets, your touch completion rate, engagement by bucket, inspections booked from aged records, annual reactivation rate, and — most importantly — cost per reactivated job versus your blended cost to acquire a fresh lead. When you can show that a reactivated job from your own database costs a small fraction of a purchased lead, the program earns its budget and becomes a core part of how the company grows.

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. Storm Prediction Center Storm Reportsspc.noaa.gov
  2. NOAA Storm Events Databasencdc.noaa.gov
  3. National Weather Serviceweather.gov
  4. IBHS Hail Research and Roof Performanceibhs.org
  5. NRCA - National Roofing Contractors Associationnrca.net
  6. CAN-SPAM Act: A Compliance Guide for Business (FTC)ftc.gov
  7. FTC Telemarketing Sales Ruleftc.gov
  8. National Do Not Call Registrydonotcall.gov
  9. International Residential Code - Roof Coverings (ICC)codes.iccsafe.org
  10. U.S. Census Bureau - American Housing Surveycensus.gov
  11. Bureau of Labor Statistics - Roofers Occupational Outlookbls.gov
  12. OSHA Fall Protection in Roofingosha.gov
  13. Texas Department of Insurance - Hail and Roof Damage Claimstdi.texas.gov
  14. RoofPredictroofpredict.com

Related Articles