Skip to main content

How to Build a Storm Damage Mailing List for Roofers That Actually Converts

Emily Crawford, Home Maintenance Editor··31 min readRoofing Lead Generation
On this page

Every roofer who has chased a storm knows the feeling. The hail comes through on a Tuesday afternoon, your phone lights up by Thursday, and by the weekend there are eleven other trucks parked on the same cul-de-sac you wanted. The homeowners are already getting four pieces of mail a day, half of them from companies that drove in from three states over. You buy a list, drop 10,000 postcards, and three weeks later you have a stack of return-to-sender envelopes, a 0.4% response rate, and a credit card statement that makes you wince.

The problem almost never is direct mail itself. Mail still works in roofing, and it works well when the piece lands in the right box. The problem is the list. Most "storm damage mailing lists" sold to roofers are a ZIP-code radius with a storm date stapled on the front. They tell you a storm happened near a town. They do not tell you which of those 9,000 houses actually has a roof old enough or beat-up enough to need you, and they certainly do not suppress the 1,800 homes that got re-roofed in the last four years and will never call you back.

This is a builder's walkthrough, written for the owner or sales manager who is tired of paying for volume and wants a list that converts. We will cover where storm and hail data actually comes from (and what the cheap data leaves out), how to layer roof age on top of it, how to suppress the homes that waste your stamps, how to handle the legal line on insurance copy so you do not get a cease-and-desist, and how to mail the thing so it pays for itself. There are worked numbers throughout, because the only honest way to evaluate a list is unit economics, not vibes.

What a storm damage mailing list actually is (and what it is not)

Strip away the marketing, and a mailing list is a spreadsheet of addresses with a mailing name attached. A storm damage mailing list is that same spreadsheet, filtered to addresses that sit inside an area where a verifiable weather event occurred and, ideally, filtered again to the homes inside that footprint most likely to have taken damage and most likely to buy.

That second filter is where almost all the value lives, and where almost all vendors quietly skip the work.

Here is the distinction that matters:

  • A storm footprint answers "where did it hail or blow hard?" That is a polygon on a map. It is the easy part, and it is all that most lists give you.
  • A target list answers "which specific houses inside that footprint should I knock and mail?" That requires layering property-level data — roof age, roof material, owner-occupancy, home value, parcel type — on top of the footprint.

When a roofer says "this storm list didn't work," nine times out of ten they bought the footprint and assumed it was the target list. It was not. A footprint over a suburb of 30,000 homes is not a list of leads. It is a starting boundary that still contains thousands of slate-roofed historic homes, brand-new tract houses with 3-year-old architectural shingles, rentals owned by out-of-state LLCs, and condos that a single homeowner cannot authorize work on. Mailing all of them at the same rate is how you burn a budget.

The three layers of a list that converts

Think of a good storm mailing list as three stacked filters. Each one removes waste.

Layer Question it answers Where the data comes from
1. Storm footprint Did a damaging event hit this spot? NOAA/NWS Storm Events, SPC reports, hail/wind swath vendors
2. Property reality Is this a single-family home an owner can authorize work on? County parcel/assessor data, USPS deliverability
3. Roof condition signal Is this roof old enough or worn enough to actually need replacement? Aerial imagery roof-age modeling, permit history, per-roof storm physics

Most vendors sell you layer 1 and call it a list. The contractors who win at storm work are the ones who build, buy, or rent layers 2 and 3 and only mail where all three line up.

Where storm and hail data actually comes from

You cannot evaluate a list until you know what the storm data underneath it is made of. There are roughly four tiers, from free-and-rough to paid-and-precise.

Tier 1: Public government data (free, coarse)

The National Weather Service and NOAA's Storm Prediction Center publish storm reports and a searchable Storm Events Database. These are the ground truth of record — hail size reports, wind gusts, tornado tracks — and they are free. The catch is resolution. A hail report is logged at a point (often a town center or a trained spotter's location) with an estimated stone size. It tells you a 1.75-inch stone fell somewhere near a town on a date. It does not draw you a house-by-house damage map, and hail is famously streaky — one street gets pulverized while the next one over is untouched.

Use public data to confirm an event was real and to anchor your dates, never as your mailing boundary by itself.

Tier 2: Radar-derived hail swaths (paid, modeled)

Weather data companies process dual-polarization radar (the same NEXRAD network NWS runs) into estimated hail-size swaths and maximum-wind grids. This is the "hail map" most storm-list vendors are reselling. It is a real improvement over a point report — you get a colored polygon showing estimated maximum hail size across a grid. Many roofers and adjusters use these maps to confirm whether a given address sat under a damaging cell on a given day.

The honest limitation: radar estimates hail aloft and infers what reached the ground. Ground truth varies. A swath that says "1.5 inch" over a neighborhood is a probability statement about the area, not a guarantee any specific roof was hit. It is directional, not deterministic. Treat it as odds, not proof.

Tier 3: Per-roof storm modeling (paid, property-level)

The newest tier does not stop at "the storm passed over this grid cell." It models the storm against the individual roof — hail trajectory and impact energy, wind exposure given the building's orientation and surroundings — and scores each address. The difference is the difference between a weather map and a damage estimate. A hail map shows you where it hailed. Per-roof modeling tries to tell you which roofs in that area the storm most likely wore out, which is the actual question you are mailing against. This is the category RoofPredict sits in, and we will come back to it.

Tier 4: Boots-on-the-ground confirmation (free to you, the most accurate)

Nothing beats a ladder and a chalk circle. The point of layers 1 through 3 is not to replace inspection — it is to get your inspectors onto the right roofs first, instead of randomly. The list decides where you spend inspection hours; the inspection decides what you actually find.

A quick reality check on "storm data age"

One edge case that wrecks lists: stale storm dates. A reputable storm vendor timestamps every event. If a list is sold as "storm damaged homes" but the underlying event is from 26 months ago, you are mailing into a market where most damaged roofs that were going to get claimed already were, and the remaining homes have homeowners who either did not have damage or already decided not to act. Always ask a list vendor: what is the event date, and how do you verify it? If they cannot answer crisply, the storm layer is decoration.

The layer everyone skips: roof age

Here is the single biggest reason storm mailing lists underperform, and it has nothing to do with the storm. The list does not know how old the roofs are.

A storm does not create demand out of nothing. A 22-year-old three-tab shingle roof that takes 1-inch hail is a job. A 3-year-old architectural roof that takes the same hail is, most of the time, a courtesy inspection and a polite no. Storm intensity and roof age compound. The roofs that turn into signed contracts are overwhelmingly the ones that were already near the end of their life when the storm arrived. The storm just gave the homeowner a reason to finally act.

If your list cannot distinguish the 22-year-old roof from the 3-year-old roof, you are paying the same postage to reach both, and the second one is dead money.

Why "year built" is not roof age

The common shortcut is to pull "year built" from county assessor or property data and treat older homes as having older roofs. This is wrong often enough to cost you. A house built in 1968 may have been re-roofed in 2021. A house built in 2009 is on its original roof. Year built tells you the age of the structure, not the age of the covering. Re-roofs are invisible to year-built data — and re-roofs are exactly the homes you must suppress, because a homeowner who spent $14,000 on a roof three years ago is not buying another one because a postcard showed up.

The same trap catches roofers who lean on Zillow or Google for a sense of a home. Those sources surface year built, not roof age. They were never built to tell you when the shingles were last replaced.

Where roof-age signal actually comes from

There are three honest sources of roof age, and a serious list uses more than one:

  1. Permit history. Many jurisdictions require a permit to re-roof. Pulled and matched to parcels, re-roof permits are the gold standard for suppression — if a permit shows a 2022 re-roof, take that address off your mail. The gap is coverage: not every jurisdiction publishes permits cleanly, and not every re-roof gets permitted.
  2. Aerial imagery modeling. High-resolution aerial and satellite imagery, analyzed across time, can estimate when a roof was last replaced and put a range on its age. The output is a range, not a birth certificate — "18 to 22 years" rather than "installed March 2004." Used honestly, a range is plenty: you do not need the exact install date to know an 18-to-22-year roof belongs on your mail list and a 2-to-5-year roof does not.
  3. Material and condition cues. Three-tab versus architectural, the presence of obvious wear, prior patches — visible from imagery and confirmed on inspection — sharpen the priority within your age-qualified set.

Layer roof age onto a storm footprint and your list stops being a ZIP code and starts being a ranked set of doors. That ranking is the whole game.

Building the list, step by step

Let us build one. Assume a hail event hit a metro suburb you serve, you have confirmed the date and size, and you want a mailing list that converts instead of a 9,000-piece carpet bomb.

Step 1: Confirm and bound the storm

Start with the footprint. Pull the event from your storm-data source and confirm it against the public record (NWS/SPC reports for that date). Draw your boundary to the area with meaningful estimated hail size or wind. Resist the urge to inflate the boundary to grab more addresses — every address you add outside the real damage zone is dilution.

Worked number: the raw footprint contains 9,200 addresses. That is your starting universe, not your list.

Step 2: Strip to mailable, owner-occupied single-family

Filter the 9,200 down to property types you can actually sell and install:

  • Single-family detached (drop condos, most townhomes where an HOA controls the roof, large multifamily).
  • Owner-occupied where possible (renters cannot authorize a roof; absentee LLC owners are a different, slower sale).
  • USPS-deliverable addresses (run the list through CASS/NCOA so you are not paying to mail vacancies and bad addresses).

Worked number: this typically removes 25–40%. Say you land at 5,900 mailable single-family homes.

Step 3: Layer roof age and rank

Now apply the roof-age layer. You are doing two things: suppressing the recently re-roofed homes, and ranking the rest by how due they are.

  • Suppress permitted re-roofs from the last ~7 years.
  • Suppress imagery-modeled young roofs (say, under 8 years).
  • Rank the survivors by roof-age range, oldest first, with storm intensity as a tiebreaker.

Worked number: suppressing young roofs commonly cuts another 25–35%. You are now at roughly 4,000 addresses, ranked. The top 1,500 are old roofs inside the heaviest part of the swath. That top tier is your A-list.

Step 4: Tier the mail by priority

Do not mail all 4,000 the same way. Tier them:

Tier Roof age range Storm intensity Treatment
A 18+ yrs Heaviest swath Multi-touch: mail + door knock + follow-up mail
B 12–18 yrs Moderate–heavy Two-touch mail, knock if crew has capacity
C 8–12 yrs Any in footprint Single touch, lowest-cost piece
Suppressed <8 yrs or recent permit Do not mail

This is the difference between a $4,400 postcard drop and a real $4,400 campaign. Same spend, but it is concentrated on the homes that can actually become contracts, with the heaviest treatment on the heaviest opportunity.

Step 5: De-dupe against your own CRM

Before you mail, cross-reference your own database. Two reasons. First, suppress homes where you already did the roof — mailing your own recent customers a "you may have storm damage" piece looks careless. Second, and more valuable: flag past estimates and past customers inside the footprint. A homeowner you bid two years ago who is now sitting under a fresh hail swath on an aging roof is the warmest door on the entire list. That is money already in your book. Pull those into a separate, high-touch list and have a rep call them by name, not mail them a generic card.

The unit economics: when a list pays

Roofers get talked out of good lists by bad math, and into bad lists by hope. Here is the framework. Run these numbers on every list before you buy or build it.

The variables that matter:

  • Cost per piece, all-in (printing + postage + data). Postcards commonly run somewhere in the $0.50–$0.90 range all-in depending on size, format, and mail class.
  • Response rate (calls/forms per pieces mailed).
  • Inspection-to-contract close rate.
  • Average job value and gross margin.

Worked example: carpet bomb vs. targeted

Scenario A — the carpet bomb. You mail the full 9,200-home footprint at $0.65 all-in.

  • Spend: 9,200 × $0.65 = $5,980
  • Response at 0.4%: 37 responses
  • Inspections (say 70% of responders let you up): ~26
  • Contracts at 30% close: ~8 jobs
  • At a $12,000 average job and 35% gross margin: 8 × $12,000 × 0.35 = $33,600 gross profit
  • Return on the mail spend: about 5.6x

Not terrible. But look what the targeting does.

Scenario B — the layered list. You mail only the 4,000 age-qualified, ranked homes, with the A-tier getting a second touch. Call it 5,200 pieces total after the second touch, at the same $0.65.

  • Spend: 5,200 × $0.65 = $3,380
  • Response is higher because the roofs are genuinely older and the storm intensity is concentrated — say 0.9% on a like-for-like first-touch basis, and multi-touch lifts the A-tier further. Conservatively call it 52 responses across the campaign.
  • Inspections at 70%: ~36
  • Contracts at a higher 35% close (older roofs inspect into real damage more often): ~13 jobs
  • 13 × $12,000 × 0.35 = $54,600 gross profit
  • Return on mail spend: about 16x

Same storm, less money out, more jobs in. The targeting did more than save the $2,600 in postage — it raised the response and the close rate because every variable downstream improves when the roofs you mail are actually old and actually hit.

The numbers above are illustrative, not a promise — your close rate, job size, and market are yours. The point is the structure: targeting compounds. It cuts spend and lifts every conversion step at the same time. That is why a smaller, smarter list beats a bigger, dumber one almost every time.

The metric most roofers never calculate: cost per acquired job

Response rate is a vanity number. The number that decides whether a list was worth it is cost per acquired job — total campaign spend divided by signed contracts. In Scenario A that is $5,980 / 8 = $748 per job. In Scenario B it is $3,380 / 13 = $260 per job. Track this on every campaign and you will stop arguing about postcard design and start arguing about list quality, which is the argument that actually moves money.

Where RoofPredict fits

Up to here, the steps assume you can get the roof-age and per-roof storm layers from somewhere. Often you cannot, easily — permit data is patchy, imagery analysis is not something a sales manager does by hand, and most storm vendors stop at the swath. This is the gap RoofPredict was built for.

RoofPredict scores the roofs in an area you choose by two things at once: roof age, expressed as a range from aerial imagery, and the storms each roof has actually taken, modeled per roof rather than read off a swath. Instead of "this ZIP got hail," you get a ranked set of addresses — the old roofs inside the real damage that are most likely due — and the new roofs are flagged so you can suppress them. It is the same three-layer logic above, assembled for you: footprint, property reality, and roof-condition signal, combined into a ranking you can mail and knock against.

It also enriches a list you already have. Hand it your own CRM or a mailing list you bought, and it appends roof-age range and storm signal per address, so you can suppress the young roofs and push the aging-out, storm-worn homes to the top. That CRM enrichment is often where the fastest money is — your old estimates and past customers, re-scored against the latest storms, with no new ad spend to reach them.

Honest limits, because a trade compares notes. Roof age is a range, not an install date — "18 to 22 years," not "replaced in 2004." Storm modeling gives you odds, not proof — it tells you which roofs the storm most likely wore out, and your inspector confirms what is actually up there. It will not measure the roof for you (that is a different category — EagleView, HOVER, and the measurement tools do that) and it is not a lead-buying service that hands you homeowners who filled out a form. It ranks your own outbound so your mail and your crews hit the right doors. The ladder still decides the job. The list just gets you to the right ladder first.

The practical test we offer is the one a skeptic should want: hand over a street or a few roofs you already know the truth about, and see if the age ranges and storm scores line up before you trust it on roofs you haven't climbed.

This section will save you a cease-and-desist, and possibly a state investigation. Read it before you write a single postcard.

The instinct on a storm mailer is to lean hard on insurance. "Get your roof replaced by insurance." "We handle your claim." "We make your deductible disappear." "Free roof." Every one of those is a problem, and some of them are illegal in most states.

The legal concept is public adjusting, which is licensed work in nearly every state, governed by Unfair Public Adjusting Practices Acts (UPPA) and similar statutes. A roofer who, for compensation, negotiates or adjusts a homeowner's claim, interprets their coverage, or represents them against their insurer is acting as a public adjuster without a license. Courts have read this strictly — a Texas case (Stonewater Roofing) went so far that even advertising yourself as an insurance or claims "specialist" was treated as crossing the line. This is not a gray area you want to test with a mass mailing that puts your claim language in front of tens of thousands of homeowners and, by extension, regulators.

Here is the bright line, in plain terms.

What a roofer absolutely may do:

  • Inspect the roof and document damage thoroughly — dated photos, measurements, a clear record of what you found.
  • Write an accurate, Xactimate-aligned estimate to repair the damage, describing your own scope of work.
  • State facts about your scope to the carrier when asked.
  • Hand the homeowner the documentation and estimate so they can file.

What a roofer may not do for a fee:

  • Negotiate, adjust, or "handle" the claim.
  • Interpret the homeowner's policy or tell them what is covered.
  • Promise a specific payout, approval, or that "insurance will pay for everything."
  • Promise the deductible goes away, gets waived, or gets absorbed (in many states, eating a deductible is insurance fraud).
  • Advertise a "free roof."
  • Represent the homeowner against the insurer.

The homeowner files. The insurer decides coverage. You document and estimate. Keep that sentence taped to your monitor.

How to write storm mail that captures intent without crossing the line

Homeowners do search and respond to insurance language — you can speak to the intent without making a claim. The trick is to talk about documentation and inspection, not claim outcomes.

Don't write Do write
"We'll get your claim approved." "Recent storms in your area — we'll inspect your roof and document what we find."
"Insurance pays for everything, free roof." "Storm damage can qualify for a replacement. We'll give you a clear inspection report and estimate."
"We handle your insurance claim." "We document the damage thoroughly; the report is yours to use however you choose."
"We make your deductible disappear." (Say nothing about the deductible. Ever.)
"Insurance specialist / claims expert" "Storm-damage roof inspection and estimating."

The right-hand column captures the exact same in-market homeowner — someone who suspects storm damage and is thinking about insurance — while keeping you firmly on the documentation-and-estimate side of the line. You are selling a thorough inspection and an honest estimate. The claim stays between the homeowner and their carrier.

This is also why list quality matters for compliance as much as for economics. A targeted list of genuinely old, genuinely storm-hit roofs lets you write honest copy ("your roof is likely at the end of its life and recent storms hit your area") instead of the over-promising claim language roofers reach for when they are mailing roofs that probably don't have damage and need a hook to manufacture urgency.

The mail piece itself

The list determines 80% of your result. The piece determines the rest. A few practitioner notes that separate mail that pulls from mail that gets recycled.

Format and specifics

  • Specificity beats slogans. "Roofs in the Oak Hill neighborhood took 1.5-inch hail on May 14" outperforms "Storm damage? Call us!" because it proves you know something real. With per-roof data you can get even more specific in the door-knock follow-up.
  • A real local company beats a faceless one. Storm-chasing out-of-town crews have poisoned the well. Lead with your local presence, license number, and a real name. Homeowners are wary; earned trust is your edge over the swarm.
  • One clear call to action. A free inspection with a documented report. That is the offer. Not a vague "call now."
  • Date and event specificity also reinforces legitimacy — it signals you are responding to a real event, not fishing.

Cadence and multi-touch

Single-touch mail underperforms multi-touch badly. The A-tier of your list — the oldest roofs in the heaviest swath — should get a sequence: an initial piece, a door knock if you have crew capacity, and a follow-up piece about 10–14 days later. The compounding is real; many responders act on the second or third impression, not the first. This is also why suppression matters so much: you can only afford to touch the A-tier three times because you are not wasting touches on 5,000 young roofs.

A simple pre-mail checklist

Run this before every drop:

  1. Storm event date confirmed against the public record.
  2. List filtered to owner-occupied single-family detached.
  3. Run through CASS/NCOA for deliverability.
  4. Young roofs and recent re-roof permits suppressed.
  5. Remaining homes ranked by roof age, tiered A/B/C.
  6. Your own CRM cross-referenced — recent customers suppressed, past estimates flagged for personal follow-up.
  7. Copy reviewed against the legal do-not-say list (no claim handling, no deductible talk, no "free roof," no "specialist").
  8. One clear CTA, local identity, license number on the piece.
  9. Multi-touch cadence set for the A-tier.
  10. Cost-per-acquired-job target written down before the drop, so you can judge the result honestly.

Common mistakes that kill storm mail

A field guide to the ways roofers waste storm-mail budgets, drawn from watching it happen.

Mistake 1: Buying the footprint and calling it a list

Covered above, but it is the number-one error, so it leads. A swath is a boundary, not a target. If you mail everyone inside it equally, you are paying premium postage to reach 3-year-old roofs.

Mistake 2: Mailing a stale storm

If the event is more than a year or so old, the easy demand has been worked. Confirm the date. A list sold as "storm damaged" on a two-year-old event is selling you exhaust.

Mistake 3: Treating year built as roof age

The re-roof problem. An old house with a new roof is your worst possible mail recipient — high apparent intent, zero actual need. Suppress with permits and imagery, not assumptions.

Mistake 4: No suppression at all

Not cross-referencing your own customers, not removing young roofs, not de-duping. Suppression is where the money is saved. Every address you don't mail because you know it is a waste is profit.

Mistake 5: Single-touch and done

One postcard, no follow-up, then declaring direct mail "dead." Mail is a cadence, not an event. The conversions live in touches two and three.

Mistake 6: Over-promising on insurance

The legal section exists because this mistake is common and dangerous. Manufacturing urgency with claim-handling and deductible language is how a roofer ends up in front of a state insurance regulator. It also attracts the worst customers — the ones who expect a free roof and walk when reality arrives.

Mistake 7: Measuring response instead of cost per job

A 1.2% response rate on a tiny, expensive list can be worse than a 0.6% response on a cheap, large one — or vice versa. Only cost per acquired job tells you the truth. Calculate it every time.

Mistake 8: Abandoning the non-responders

The homeowners who didn't call after a storm mailer are not gone — their roofs just kept aging. A storm list double-purposes beautifully: this season's storm targets become next season's age-based retail targets. Keep the list. Re-score it. The old roofs that didn't have storm damage this year are a year older next year.

Mistake 9: Inflating the swath to grab address count

There is a quiet temptation, once you have the footprint drawn, to nudge the boundary outward so the list comes back with more names. More names feels like more opportunity. It is the opposite. Every address you add outside the genuine damage zone lowers your average roof-hit probability, drags down your response rate, and raises your cost per acquired job. A tight 4,000-home list of real targets will out-earn a loose 9,000-home list every time. Discipline at the boundary is one of the highest-leverage decisions in the whole build, and it is free.

Mistake 10: Letting the data replace the inspection

The flip side of trusting data too little is trusting it too much. No swath, no imagery model, and no age range tells you what is actually nailed to the deck. The data's job is to decide which roofs your inspectors climb first, in what order, with what expectation. The inspection still decides the job. Roofers who treat a high storm score as a confirmed claim — and write copy or set homeowner expectations accordingly — set themselves up for awkward conversations on the ladder and unhappy customers afterward. Lead with the data, close with the chalk.

How to vet a list vendor (the questions that separate real data from repackaged radar)

Most roofers buy storm lists the way they buy gravel — by the unit, lowest price wins. That is exactly backward, because the cheap list costs you far more in wasted postage and inspection hours than the price difference. Before you hand a vendor a credit card, make them answer these. The good ones answer instantly; the resellers get vague.

  1. "What is the storm event date, and how do you verify it?" If they can't tie the list to a specific dated event you can confirm in the public record, the storm layer is decoration.
  2. "Is this a footprint or a target list?" Ask directly whether they have filtered to mailable owner-occupied single-family homes, or whether you are buying every address inside a polygon. You need to know which you are paying for.
  3. "Do you suppress recently re-roofed homes, and how?" Permits? Imagery? Nothing? If the answer is "nothing," you are buying a list that will mail your competitors' three-year-old roofs.
  4. "What is your roof-age signal, and is it a date or a range?" An honest vendor says range. A vendor claiming exact install dates from imagery is overselling.
  5. "Is the list run through CASS/NCOA for deliverability?" If not, budget for the cleaning yourself before you mail.
  6. "How fresh is the imagery and the property data?" Stale imagery misses last year's re-roofs; stale ownership data mails the wrong names.
  7. "Do I own this list, or am I renting addresses you'll resell?" This matters for re-marketing the non-responders and for whether the same homes get sold to four competitors next week.

Write the answers down. A vendor who fails three of these is selling you a footprint at target-list prices.

Building it in-house vs. buying it

Once a roofer sees how much a layered list outperforms a footprint, the next question is whether to build the capability internally or buy it. There is no single right answer — it depends on volume and on what data you can reach.

Building in-house makes sense if you have steady volume, someone who can work with data, and access to clean local permit feeds. The advantages are control and cost-per-list at scale. The costs are real: pulling and matching parcel data, keeping permit feeds current, and — the hard part — generating roof-age signal, which a spreadsheet cannot do by hand. You can get the storm footprint and the property filter in-house with effort. The roof-condition layer is where most in-house builds stall, because it requires imagery analysis at scale.

Buying or renting the data makes sense if you want the roof-age and per-roof storm layers without standing up a data operation. The trap is buying footprints dressed as lists (see the vetting questions above). The good version is a service that delivers the full three-layer ranking, or that enriches a list you already have with the layers you can't build yourself.

A pragmatic middle path most growing roofers land on: keep the parts that are cheap and local in-house (storm-date confirmation, CRM cross-reference, mail cadence), and source the roof-age and per-roof storm signal from a provider that does imagery modeling at scale. You stay in control of your customer data and your spend, and you outsource only the layer that genuinely requires technology you don't want to build.

A worked timeline: from storm to mailbox

Speed matters less than storm-chaser lore claims, but disorganization still costs you jobs. Here is a realistic, non-frantic timeline for turning a storm into a working list and campaign.

Day Action
0 Storm hits. Note the date and rough area.
1–2 Confirm the event against the public record and your storm-data source; bound the real damage footprint.
2–3 Filter to mailable owner-occupied single-family; run CASS/NCOA; layer roof age; suppress young roofs and recent re-roofs; rank and tier A/B/C.
3 Cross-reference your CRM. Pull past estimates and aging past customers in the footprint into a personal-call list.
3–4 Reps start calling the warm CRM list by name. Highest-converting, lowest-cost work — do it first.
4–5 A-tier mail drops; first door-knock routes built from the ranking.
5–7 A-tier door knocking begins on the oldest roofs in the heaviest swath.
10–14 A-tier follow-up mail (touch two). B-tier first touch.
14–21 C-tier single touch. Track responses and cost per acquired job as inspections come in.
30+ Re-score non-responders; roll the unworked old roofs into the year-round retail list.

Notice what comes first: not the mass mailer, but the phone calls to homeowners already in your book. The mass mail is the wide net; your CRM is the spear. Running them in that order squeezes the most out of a storm without the panic-driven over-mailing that wrecks budgets.

Storm work between storms

The trap of pure storm-chasing is feast and famine. A good list strategy fixes that by making roof age the through-line. The same data that ranks roofs by storm exposure ranks them by age, and age-based retail demand never stops — roofs age out on a schedule, storm or no storm.

Practically, this means your list operation should run year-round, not only after hail:

  • After a storm: prioritize the storm layer. Old roofs inside the swath, heaviest first.
  • Between storms: prioritize the age layer. Oldest roofs in your service area, regardless of recent weather, mailed and knocked as retail replacement.
  • Always: mine your own CRM. Past estimates and aging past customers are the highest-converting, lowest-cost list you own, and they exist independent of the weather.

This is what turns a roofer from a storm-dependent operation that fights the swarm for a few frantic weeks into a business with a steady pipeline it controls. You own your streets and your customer book. You do not have to wait on a storm to have work, and you do not have to rent the same homeowner a lead service already sold to four competitors. The storm, when it comes, is upside on top of a list you were already working.

Putting it together

A storm damage mailing list that converts is not a product you buy off a shelf. It is three layers assembled with discipline: a confirmed storm footprint, filtered to homes you can actually sell and install, ranked by roof age so your stamps land on roofs that are genuinely due. Suppress the young roofs and recent re-roofs ruthlessly. Cross-reference your own database and treat past estimates as the warmest doors you have. Tier the mail so the oldest roofs in the heaviest swath get multiple touches and the marginal homes get a single cheap one. Keep the copy on the documentation-and-estimate side of the legal line — you inspect and document, the homeowner files, the insurer decides. And judge every campaign on cost per acquired job, not response rate.

Do that and the same storm that buries your competitor under return-to-sender envelopes turns into a profitable, repeatable campaign for you — and the list keeps paying off long after the storm, because the roofs only get older.

If the roof-age and per-roof storm layers are the part you can't assemble by hand, that is exactly what RoofPredict does: it scans the area you choose, scores every roof by age range and the storms it has actually taken, flags the new roofs to suppress, and enriches the list or CRM you already have — so you mail and knock the houses that are worn out, and skip the ones that aren't. Hand it a roof you already know and let it prove itself before you trust it on the ones you haven't climbed.

FAQ

What is a storm damage mailing list for roofers?

It is a list of mailing addresses inside the footprint of a verified storm (hail or wind), ideally filtered down to owner-occupied single-family homes whose roofs are old enough or worn enough to actually need replacement. The valuable version goes beyond a ZIP-code radius with a storm date attached — it layers property data and roof age on top of the storm footprint so you mail the homes most likely to convert and suppress the ones that won't.

Where can I get storm and hail data for a mailing list?

Free public sources include NOAA's Storm Prediction Center and the NWS Storm Events Database, which confirm an event happened but are coarse. Paid weather vendors sell radar-derived hail swaths that estimate maximum hail size over a grid. The most precise tier models the storm against each individual roof rather than reading a swath. Use public data to confirm dates, swaths to bound the area, and per-roof modeling plus on-roof inspection to decide which homes to mail and knock.

Why does roof age matter more than the storm itself?

Storms rarely create demand from nothing — they push homeowners with already-aging roofs to act. A 20-year-old roof that takes hail becomes a job; a 3-year-old roof that takes the same hail is usually a polite no. If your list can't tell those apart, you pay the same postage to reach both and waste it on the new roof. Ranking by roof age concentrates your spend on the homes that can actually become contracts.

Isn't 'year built' the same as roof age?

No, and assuming so is one of the costliest list errors. Year built is the age of the structure, not the roof covering. A 1965 house may have been re-roofed in 2021, and a 2010 house may be on its original roof. Re-roofs are invisible to year-built data, which is exactly why you need permit history and aerial-imagery roof-age modeling to find and suppress recently re-roofed homes. Zillow and Google show year built too — not when the shingles were last replaced.

How do I find homes with new roofs to suppress them?

Two main signals. First, re-roof permit history from the county or city — a permit showing a recent re-roof is the strongest suppression flag, where the jurisdiction publishes clean data. Second, aerial-imagery roof-age modeling, which estimates roof age as a range and flags young roofs. Suppress recent permits and modeled young roofs (commonly under 8 years), and always cross-reference your own CRM to remove homes you recently roofed yourself.

How do I calculate whether a storm mailing list is worth it?

Ignore response rate as the headline metric and calculate cost per acquired job: total campaign spend (printing + postage + data) divided by signed contracts. A smaller, well-targeted list usually wins because targeting cuts spend and lifts response and close rate at the same time. Track all-in cost per piece, response rate, inspection-to-contract close, and average job value and margin — then judge the list on cost per job, not vanity numbers.

What can a roofer legally say about insurance on a storm mailer?

A roofer may inspect, document damage, write an accurate estimate to repair their own scope, and state facts about that scope to the carrier — then hand the documentation to the homeowner, who files. A roofer may not, for a fee, negotiate or handle the claim, interpret the policy, promise a payout or approval, say anything about waiving or covering the deductible, advertise a 'free roof,' or call themselves an insurance or claims 'specialist.' That is unlicensed public adjusting in most states. Write about documentation and inspection, never claim outcomes.

Can I say 'we'll get your claim approved' or 'free roof' in my mail?

No. Both cross into territory regulated as public adjusting and, in the case of deductible-related promises, can constitute insurance fraud. Courts have read these statutes strictly enough that even advertising yourself as a claims 'specialist' has been treated as a violation. Replace claim-outcome language with documentation language: 'We'll inspect your roof and give you a clear report and estimate of any storm damage.' That captures the same homeowner intent while keeping you on the right side of the line.

How is RoofPredict different from a storm lead service or a hail map?

A hail map shows where it hailed; a lead service sells you homeowners who filled out a form (often resold to several competitors). RoofPredict does neither. It scores the roofs in an area you choose by roof age (as a range) and the storms each roof has actually taken, modeled per roof, then ranks the homes most likely due and flags new roofs to suppress. It sharpens your own mail and door-knock outbound and enriches your existing CRM or list. It does not buy you leads, doesn't measure the roof, and gives odds, not proof — your inspection confirms the job.

What do I do with the homeowners who didn't respond to a storm mailer?

Keep them and re-score them. A non-responder's roof simply kept aging. This season's storm list becomes next season's age-based retail list — the old roofs that didn't have storm damage this year are a year closer to needing replacement. Pairing a storm layer with a roof-age layer lets one list operation run year-round: storm-first after an event, age-first between events, with your own CRM as the highest-converting list you already own.

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. NWS/NCEI Storm Events Databasencdc.noaa.gov
  2. NOAA Storm Prediction Centerspc.noaa.gov
  3. NWS Dual-Polarization Radar (NEXRAD)weather.gov
  4. IBHS — Hail and Roofing Researchibhs.org
  5. NRCA — National Roofing Contractors Associationnrca.net
  6. USPS — Every Door Direct Mail (EDDM)usps.com
  7. USPS — CASS / Address Qualitypostalpro.usps.com
  8. FTC — Truth in Advertisingftc.gov
  9. Texas Department of Insurance — Public Adjusterstdi.texas.gov
  10. NAIC — Public Adjuster Regulationnaic.org
  11. Stonewater Roofing v. TDI (Texas, public adjusting)txcourts.gov
  12. Verisk / Xactimate — Estimating Platformverisk.com
  13. U.S. Census Bureau — American Housing Surveycensus.gov
  14. RoofPredictroofpredict.com

Related Articles