Where to Buy a Roofing Mailing List (and How to Stop Wasting Half of It)
On this page
If you sell residential roofing, sooner or later you decide to mail. A postcard or a letter to a few thousand homes is one of the few outbound channels you fully control: you pick the addresses, you pick the message, you pick the week it lands. The whole thing lives or dies on the list. A great list with mediocre creative still books appointments. A bad list with a beautiful design just funds the postal service.
So the question "where do I buy a roofing mailing list" is really three questions wearing one coat. Where do I get the addresses. How do I narrow them to homes worth a stamp. And how do I know any of it paid. Most articles answer the first and skip the other two, which is exactly backwards, because the addresses are the cheap, easy part. Below is how the data is actually sold, who sells which slice of it, what a clean list costs, and the filtering and math that separate a campaign that prints money from one that quietly bleeds.
A note before we start: nobody sells "roofs that need replacing" as a stock product, no matter what the ad says. What you can buy is homeowners filtered by where they live, the age and value of the house, who owns it, and how long they've owned it. The skill is turning that raw audience into a tight set of roofs that are plausibly worn out. That's the work, and it's where the money is.
What you're actually buying when you buy a list
A mailing list is a spreadsheet of records. Each record is one mailable address, and the columns are the selects you filtered on. Strip away the marketing and there are only a handful of data types underneath every roofing list on the market.
- Property and address data. The mailable address, plus attributes tied to the parcel: year the house was built, square footage, lot size, assessed and market value, number of stories, sometimes roof material from county assessor records. This is the backbone of any roofing list because year-built and value are your best cheap proxies for "this roof might be due."
- Ownership and tenure data. Owner name, whether it's owner-occupied or a rental, and length of residence (how long the current owner has held title). Tenure matters more than people think, and we'll come back to it.
- Demographic and household data. Estimated household income, age range of the head of household, presence of children, marital status, estimated home equity. Useful for tone and offer, dangerous if you over-filter on it.
- Storm and weather data. Hail and high-wind event history for an area, usually sold as an overlay or a separate product. Most "storm lists" are really a polygon drawn around where a storm passed, with every address inside it pulled. That is not the same as which roofs the storm damaged, and confusing the two is the single most expensive mistake in storm mail.
Every vendor is selling some combination of those four. The price differences come from data freshness, how many records you buy, and how many filters ("selects") you're allowed to stack. Knowing this lets you read past the branding. When a site advertises a "roofing leads list," ask what underlying data it's built from. If the honest answer is "homeowners over a certain home value in your ZIP," that's fine, but price it like the commodity it is, not like a curated list of damaged roofs.
The vocabulary, so vendors can't fog you
You'll move faster if these terms mean something concrete to you:
- Select — a filter you apply (year built, income, owner-occupied). More selects, higher price per record.
- Suppression — removing records you don't want mailed: your existing customers, do-not-mail requests, vacant addresses, and crucially CASS/NCOA cleanup so you're not mailing people who moved.
- CASS certification — your addresses validated and standardized against USPS data so they're deliverable and qualify for cheaper postage rates.
- NCOALink (move update) — checking addresses against the USPS National Change of Address file. Roughly one in seven Americans moves each year, so a list that hasn't been move-updated in months is already rotting.
- Saturation vs. targeted — saturation mail (Every Door Direct Mail / EDDM) blankets entire postal routes with no names and the cheapest postage; targeted mail picks specific addresses by select. Two completely different strategies, covered below.
- List rental vs. purchase — a rental is one-time use (the broker seeds it with decoy addresses to catch reuse); a purchase means you own the records. Most consumer/homeowner lists are sold as multi-use licenses or one-time rentals, not outright ownership. Read the license.
Where to buy a roofing mailing list: the five real sources
There are more than five logos out there, but they collapse into five categories. Pick by what you're optimizing for, not by whose ad you saw last.
1. Self-serve consumer data platforms
These are the do-it-yourself counting tools. You draw a geography, stack your selects, watch the record count update live, and check out with a downloadable file. Common ones in this category are general consumer-data marketplaces that let you build a homeowner list with year-built, home value, owner-occupied, length of residence, and income filters.
- Best for: roofers who want control and a low per-record price, and who are comfortable building the filters themselves.
- Typical cost: often in the range of roughly $0.03 to $0.15 per record for a basic homeowner list, with minimums (commonly a few hundred dollars or a several-thousand-record floor). Multi-use licenses and extra selects push the top end up.
- Watch for: data age. Cheap platforms sometimes resell stale files. Confirm the data is NCOA-updated within the last 90 days and CASS-certified, or you'll mail movers.
2. List brokers (full-service)
A broker does the counting and sourcing for you. You tell them the audience; they assemble it from one or more data compilers, run suppression and move-update, and hand you a clean file or hand it straight to your mail house. You pay for the hand-holding.
- Best for: owners who'd rather buy back their time, want negotiated multi-channel data, or need a list cleaner than a self-serve export.
- Typical cost: higher per record than self-serve, often $0.08 to $0.20+ depending on selects and volume, sometimes a flat project fee. The premium can be worth it if they genuinely clean the file.
- Watch for: brokers who won't tell you the underlying compiler or the recency of the data. A good broker is transparent about source and freshness; a bad one marks up a stale file.
3. Direct-mail companies that bundle the list
Many printers and mail houses that specialize in home services will sell you the list, the design, the print, and the postage as one package. "Give us your ZIP codes and a target home value, we'll handle the rest." Convenient, and the postage handling alone can be worth it.
- Best for: roofers who want one invoice and don't want to touch data files at all.
- Typical cost: bundled into a per-piece price. All-in mailed cost for a targeted postcard commonly lands somewhere around $0.50 to $1.00+ per piece depending on size, paper, postage class, and volume; EDDM saturation can run well under that.
- Watch for: the list quality buried inside a per-piece price. Ask exactly how they built the list and how recently it was move-updated. If they dodge, the cheap part of your spend (the data) is the part they're cutting.
4. Storm and weather-data vendors
These sell hail and wind event data: maps, swath polygons, and address lists pulled from inside a storm footprint. Some are aimed squarely at restoration roofers. The data underneath usually traces back to radar-derived hail estimates and storm reports.
- Best for: storm-restoration crews who want to mail an affected area fast after an event.
- Typical cost: subscriptions or per-report/per-area pricing; varies widely.
- Watch for: the polygon problem. A storm swath tells you hail passed over an area. It does not tell you which specific roofs took damage, how old those roofs were, or which homes already got new roofs after the last storm. You can mail 5,000 "storm" addresses and have a third of them be young roofs that shrugged the hail off. More on fixing this below.
5. Your own data (the list you already own)
The cheapest, highest-converting roofing mailing list is the one sitting in your CRM and your old estimate folder. Past customers, quotes you never closed, inspection no-sales, service calls from five years ago. These people know your name. Response rates on a well-segmented house list routinely beat any purchased cold list, often by a wide margin, and the data costs you nothing but the work of exporting it.
Most roofers ignore this because it's unglamorous. Don't. Before you spend a dollar on cold addresses, mail your own book. We'll build the segments for that later.
A vendor scorecard you can actually use
Before you hand over a card number, run any vendor through these questions. Make them answer in writing.
| Question to ask the vendor | What a good answer sounds like | Red flag |
|---|---|---|
| How recently was this data NCOA / move-updated? | "Within the last 30 to 90 days." | "It's regularly updated" with no date. |
| Is the file CASS-certified for postage discounts? | "Yes, here's the cert." | They don't know what CASS is. |
| Where does the underlying data come from? | Names a compiler or assessor source. | "Proprietary, can't say." |
| Is this a one-time rental or a multi-use license? | Clear license terms in writing. | Vague "you can use it." |
| Can I suppress my own customer file? | "Send it, we'll suppress." | No suppression offered. |
| What's your accuracy / deliverability guarantee? | A stated bad-address credit policy. | No guarantee at all. |
| Can I get year-built, value, owner-occupied, and tenure as selects? | Yes to all four. | Only ZIP-level geography. |
If a vendor can't give you a clean move-update date and CASS certification, walk. Those two alone determine whether your postage is spent on real, deliverable addresses or on the void.
How to test a list before you trust it
Don't bet a four-figure drop on a vendor's word. Test the data the way you'd test a new crew: small, measured, and on ground you already know.
- Pull a small sample first. Many vendors will let you buy a few hundred records or preview a counts file. Order a slice for a neighborhood you know cold — a street where you've already worked and can eyeball the houses.
- Spot-check against reality. Take 25 sample addresses and verify them yourself: drive them, pull them up in your own mapping tool, or check a couple against public assessor records. Are the year-built values sane? Are the owner-occupied flags right? Are there obvious rentals or vacant lots that should've been suppressed? A list that flunks a 25-address spot-check will flunk at 5,000.
- Check the duplicate and household logic. Some files list multiple records per household or per parcel. Mailing the same address twice in one drop is wasted postage and looks sloppy. Confirm one mailable piece per household.
- Confirm the vacancy and seasonal suppression. Vacant homes and seasonal addresses can't buy a roof. A good file flags and drops them; a cheap one mails them.
- Seed it. Add a couple of your own addresses (yours, an employee's) into the drop so you see exactly when and how the piece lands. It's the simplest delivery audit there is.
A vendor who's proud of their data welcomes a sample test. One who pressures you to buy the whole universe sight-unseen is telling you something.
The selects that actually predict a worn-out roof
Here's where most roofers leave money on the table. They buy a list filtered on "homeowners, $X home value, my ZIPs" and call it targeting. That's a start, but it barely narrows anything. The selects below are the ones that correlate with a roof that's plausibly at or near end of life. Stack them deliberately.
Year built — your single best cheap proxy
Asphalt shingle roofs, the overwhelming majority of residential roofs, generally last somewhere in the 15-to-30-year range depending on shingle grade, ventilation, slope, and climate. Three-tab roofs on the shorter end, architectural and premium shingles longer. Year built is a proxy, not a date stamp, because a 1995 house may have been re-roofed in 2014. But year built is free as a select and it's directional: a neighborhood of homes built 2003 is a far richer hunting ground than one built 2019.
A practical filtering pattern:
- Pull homes built in a window where the original roof would be near end of life. If you're mailing for full replacements, homes 18 to 35 years old are a sensible core.
- Exclude brand-new construction (built in the last 8 to 10 years). Those roofs almost never need you, and you're paying full freight to mail them.
- Remember the re-roof blind spot: year built can't see the 2014 re-roof on the 1995 house. That's the gap address-level roof-age data and storm modeling are built to close, which we'll get to.
Length of residence (tenure)
Underrated. A homeowner who's lived in the house 12+ years has likely been through at least one roof-relevant storm and is more likely to be the one who pays for and authorizes a replacement. Very recent buyers (under a year) are mid-move chaos and often just had an inspection. Tenure of roughly 6 to 20 years tends to be a sweet spot for replacement-ready owners.
Owner-occupied vs. rental
For replacement and storm work, filter to owner-occupied. Rentals route to a landlord who may live elsewhere, drag their feet, or fight every dollar. There are exceptions (small landlords, portfolio owners worth a separate campaign), but for a first list, owner-occupied keeps your response rate honest.
Home value — use as a floor, not a wall
A reasonable home-value floor screens out homes where a full replacement may not pencil for the owner. But don't over-filter to only high-value homes; plenty of mid-value owners replace roofs, and you'll shrink your universe to nothing. Set a sensible floor and move on. Income works the same way: a light floor is fine, a tight band just shrinks your list and can stray into selects you don't need.
Storm history — useful, but only with a roof underneath it
Hail and wind history is genuinely valuable as one more signal. The mistake is treating "inside the storm polygon" as "roof is damaged." The right way to use storm data is to combine it with roof age and a per-roof read of whether that specific home likely took a hit, so you're mailing the worn-out 20-year roof that sat under the worst of the hail, not the 4-year roof three streets over that happened to fall inside the same swath.
Putting the selects together: a worked example
Say you cover a metro with 280,000 single-family homes. Watch the funnel:
- Owner-occupied single-family: ~210,000
- Built 18 to 35 years ago: ~74,000
- Home value at or above your floor: ~52,000
- Length of residence 6+ years: ~31,000
- Inside areas with a meaningful hail/wind history in the last 5 years: ~12,000
You just went from 280,000 down to ~12,000 addresses that are far more likely to contain a roof that's actually due. At a typical targeted all-in cost, mailing 12,000 is a budget; mailing 280,000 is a fantasy. The selects are the difference between a campaign and a wish.
Don't over-filter yourself into a tiny, brittle list
There's a failure mode on the other side of sloppy targeting: stacking so many selects that your universe collapses to a few hundred homes, all in the same income band, same age, same micro-neighborhood. Now you're fragile. One bad week of weather or a competitor blanketing the same streets and your whole quarter's mail is dead. A few guardrails:
- Treat income and value as floors, not narrow bands. "At or above $X" keeps your universe wide; "between $X and $Y" can cut it in half for no good reason.
- Keep your year-built window generous. An 18-to-35-year band is better than chasing one exact build year. Roof life varies by shingle grade, ventilation, slope, and climate, so a wide window catches more real end-of-life roofs.
- Aim for a universe you can mail several times. If you want to touch an audience four times a season, you need enough addresses that four drops stay affordable. A list you can only afford to mail once isn't a program, it's a coin flip.
- Let scoring do the final narrowing, not more demographic selects. Once you have a sane geographic-and-property universe, rank it by roof age and storm wear rather than piling on income and lifestyle filters. Roof condition predicts a roofing sale; a third lifestyle select rarely does.
Where RoofPredict fits in the list-buying workflow
Every select above is a proxy. Year built guesses at roof age and misses re-roofs. A storm polygon guesses at damage and misses which roofs were old enough to break. You can buy a perfectly clean, well-filtered list and still mail a meaningful share of roofs that are fine from the air and fine on the ground.
RoofPredict closes that gap by scoring the roofs themselves, house by house. It reads recent aerial imagery to estimate roof age as a range per address (not a date — a range, because that's what imagery honestly supports), and it models the storms each roof has actually taken: hail and wind, applied to that specific roof rather than the whole ZIP the storm crossed. The output is a ranked read of which roofs in your area are most likely worn out, combining age and storm wear in one score.
In list-buying terms, RoofPredict is the filter that sits on top of the addresses. Two ways roofers use it:
- Score a list you bought. You purchase a clean homeowner list (year built, owner-occupied, tenure, value) from any of the sources above, then run it through RoofPredict to rank the addresses by likely roof age and storm wear. You mail the top of the ranked list first and trim the bottom, so your postage concentrates on the roofs most likely to need you.
- Enrich your own CRM and mailing list. Take the addresses you already own (past customers, old estimates, your house list) and add roof-age range and storm signals to each record, so when you re-mail your own book you lead with the homes most likely due now.
Honest limits, because that's how a real trade compares notes: roof age comes back as a range, not an install date, so treat it as prioritization, not proof. Storm modeling gives you odds that a roof took wear, not a guarantee of damage, and it never decides anything about a homeowner's insurance. What it does is stop you from paying postage on the young, intact roofs hiding inside an otherwise reasonable list. It tells you which roofs are due so you mail those first. You can hand it a street you already know well and judge for yourself whether it called the roofs right before you trust it with the rest.
Targeted mail vs. EDDM saturation: pick the right tool
There are two fundamentally different ways to mail a neighborhood, and "which list do I buy" depends on which one you're running.
Every Door Direct Mail (EDDM) saturation
With USPS EDDM you choose entire postal carrier routes and the carrier delivers your piece to every address on the route. No names, no purchased list, the cheapest per-piece postage available, and you can do the smaller version yourself without a mailing permit. You're trading targeting for volume and price.
- Use it when: your whole farm area is the right age (a uniformly 1990s-2000s neighborhood), or you just finished a visible job and want to blanket the surrounding routes while your truck and yard sign are still the talk of the street.
- Don't use it when: the routes are a mixed bag of new and old homes. You'll pay to hit a pile of young roofs, and the low per-piece cost stops being a bargain when most pieces are wasted.
Targeted address mail
Here you mail a purchased, filtered list of specific addresses. Higher postage per piece, far higher relevance. This is where every select above earns its keep, and where scoring the list pays off most.
- Use it when: your area is a mix of housing ages, you're chasing a specific roof-age or storm profile, or you're mailing your own customer segments.
- Don't use it when: your target genuinely is "everyone on these three streets" and the streets are uniform — then EDDM is cheaper for the same coverage.
A simple rule: if more than roughly 60 to 70% of a route is the right age and profile, EDDM the route. If it's patchy, buy the targeted list and mail the addresses that matter. Scoring your area first tells you which routes are uniform enough to saturate and which need surgical targeting.
What a clean list and a real campaign cost
Let's put numbers on it so you can budget. These are planning ranges, not quotes; your market and vendor will vary.
| Line item | Planning range (per piece, targeted) | Notes |
|---|---|---|
| List / data | $0.03 – $0.20 | Cheapest part. More selects = higher end. |
| Design (one-time) | $0 – $500 flat | Amortized across the drop. |
| Printing | $0.10 – $0.40 | Size, paper, color, quantity. |
| Postage | $0.20 – $0.45 | Class and presort drive this; CASS/presort cuts it. |
| Mail house handling | $0.02 – $0.10 | If you don't self-mail. |
| All-in targeted postcard | ~$0.50 – $1.00+ | Bigger formats and first-class push higher. |
| EDDM saturation | ~$0.20 – $0.45 all-in | No list cost; cheapest postage. |
Notice the list is the cheapest line. That's the whole point of this piece. Skimping on the data to save two cents a piece, then paying 80 cents to mail a worn-out address you got wrong, is the worst trade in the business. Spend on getting the right addresses; that's the line where money is made or lost.
The math that tells you if it worked
Direct mail is a numbers game and you must run the numbers or you're gambling. Work an example for a 5,000-piece targeted drop:
- Spend: 5,000 × $0.75 all-in = $3,750
- Response rate: targeted roofing mail commonly runs in the fraction-of-a-percent to ~1% range for calls/appointment requests; let's plan a conservative 0.5%. That's 25 responses.
- Appointment-to-inspection: say 60% let you on the roof → 15 inspections.
- Inspection-to-sale: say 30% close → ~4 to 5 jobs.
- Average residential job value: varies widely; use a conservative number for your market — say $9,000.
- Revenue: 4.5 × $9,000 = **$40,500** off a $3,750 spend.
That's the dream version, and it's plausible if the list is right. Now watch what a bad list does: same spend, but a third of your 5,000 addresses are young or already-replaced roofs, so your effective response on the relevant audience collapses and your close rate on the rest drops because you're pitching people who don't need you. Same postage, half the outcome. The list quality, not the creative, swung the result.
Track these for every drop so you can compare lists honestly:
- Pieces mailed and total spend
- Calls/QR scans/landing-page visits (use a tracked phone number and a campaign URL or QR code — never your main line)
- Appointments set, inspections run, jobs closed, revenue
- Cost per appointment, cost per job, and return on the drop
Without tracking you can't tell a good list from a bad one, and you'll repeat the wrong buy.
Compliance and list hygiene, the boring part that saves you
Direct mail is friendlier on rules than calling or texting, but there are still lines.
- Postal mail vs. calls and texts. A mailed postcard is not governed by the federal Do Not Call rules or the calling/texting statute that hammers unsolicited phone outreach. If your mail campaign drives to a call, the calling rules attach to that call. If you buy phone numbers and start dialing or texting that list, you're now in TCPA/DNC territory — a completely different and much riskier game. Keep mail as mail unless you've built real consent.
- Truthful claims. The FTC governs advertising. Don't promise what you can't deliver. Avoid "free roof" language and anything implying a guaranteed insurance outcome; those phrases draw regulatory and carrier scrutiny and, in storm work, cross into territory you don't want.
- Move-update and deliverability. Beyond cost, mailing addresses where people no longer live is just waste. Insist on NCOA processing and CASS certification; it's table stakes and it lowers your postage.
- Suppress your own. Always suppress current customers and active jobs from a cold drop. Mailing a "new roof?" postcard to someone you re-roofed last spring makes you look like you don't know your own book.
- License terms. If it's a one-time rental, don't reuse it. Brokers seed lists with decoy addresses and will catch reuse. If you want to mail the same audience repeatedly, buy a multi-use license up front.
Storm mail done right (and the legal line you don't cross)
Storm-restoration mail is its own animal, and it's where the polygon problem bites hardest. Here's the clean version of the workflow.
- Identify the area a hail or wind event actually affected, using event data (radar-derived hail estimates, storm reports). Treat the swath as a starting boundary, not a damage list.
- Layer roof age and a per-roof storm read on top, so you separate the old roofs that likely took real wear from the young roofs that sat under the same cloud and are fine. This is exactly where scoring each roof — age range plus modeled storm impact — turns a bloated polygon list into a tight, mailable set.
- Filter to owner-occupied and a sensible value floor so you're mailing people who can authorize and pay for work.
- Mail a documentation-and-inspection offer, not a payout promise. Your postcard offers a thorough roof inspection and clear documentation of any damage you find.
On that last point, stay on the right side of the line, because it matters and it's enforced. As a roofer you may inspect a roof, document damage with photos, and prepare an accurate, itemized estimate to repair your own work, and you may state facts about your scope. What you may not do, for a fee, is negotiate or adjust the homeowner's claim, interpret their policy or coverage, promise a specific payout or approval, promise their deductible disappears, advertise a "free roof," or represent the homeowner against their insurer. That last bundle is public adjusting and it's license-required in most states. The safe and honest frame for every storm mailer and every door conversation: you inspect, you document thoroughly, you write an accurate estimate of the repair, and you hand it to the homeowner. The homeowner files the claim and the insurer decides coverage. Capture the intent — yes, target the worn roofs most likely to qualify and document them well — but never cross into handling the claim. Targeting which roofs to inspect (age plus storm) and documenting them well is squarely your job; deciding the claim is not.
Mail your own book first: segments that beat any cold list
Before the next cold buy, run these drops against data you already own. Export from your CRM, clean it, suppress active jobs, and mail.
- Old estimates that never closed (12 to 36 months back). They wanted a roof, got a number, stalled. A simple "still thinking about that roof?" with a reason to act now re-opens a real percentage of them. This is the highest-ROI mail most roofers never send.
- Past customers at the right interval. Re-roof customers are done for years, but they refer, and they need gutters, repairs, and maintenance. Service and repair customers from 8+ years ago may now be replacement candidates. Mail them by the math of their roof's age, not by guesswork — enriching that list with a roof-age range tells you who's actually coming due.
- Inspection no-sales. People who let you on the roof but didn't buy. They're pre-qualified interest. A seasonal touch keeps you first-call when something finally leaks.
- Neighbors of recent jobs. Pull addresses around every completed job and mail a "we just finished a roof on your street" piece while the dumpster memory is fresh. Social proof plus locality is potent, and it pairs perfectly with EDDM on those specific routes.
Your own data converts better because there's a relationship, even a thin one. Mine it before you rent strangers.
The offer and the creative: don't waste a good list
The list decides who sees your mail; the offer and creative decide whether they act. A surgically targeted list paired with a generic "call us for roofing" postcard still underperforms. A few rules that hold up across markets:
- One clear reason to act now. A free inspection, a storm check-up after a named event, a seasonal tune-up, a neighbor-just-finished message. Vague brand awareness mail doesn't move a homeowner; a specific, relevant reason does.
- Speak to the roof, not to everyone. Because you targeted older roofs, you can write to that: "Roofs in your neighborhood are reaching the age where small problems turn into leaks." Relevance is the whole advantage of a targeted list, so spend it.
- Make the response dead easy. A big tracked phone number, a short campaign URL, and a QR code that opens straight to a booking page or a one-question form. Every extra step costs you responses.
- Look local and legitimate. A real local address, a license number where your state expects one, a photo of an actual crew or a real job. Homeowners are wary of out-of-town storm chasers; looking established beats looking flashy.
- Match format to budget and goal. A 6x11 jumbo postcard commands attention but costs more in print and postage; a standard postcard mails cheaper and lets you touch the list more often. A letter in an envelope feels personal and works well for your own house list and stalled estimates.
- Keep every claim truthful. No guaranteed-approval or free-roof language, no implied insurance outcomes. Beyond the legal exposure, overpromising erodes the local-and-legitimate trust that makes targeted mail work.
Cadence: why one drop is a coin flip
Single drops are where most roofing mail budgets die. A homeowner who isn't thinking about their roof the week your card lands forgets you by the next. The fix is a planned sequence to the same scored audience.
- Drop one — introduce and qualify. A clean inspection or check-up offer to the full scored list. Track everything.
- Drop two (3 to 4 weeks later) — repeat with a twist. Same audience minus responders, new headline or a seasonal hook. Repetition is doing its job; familiarity lifts response on the second and third touch.
- Drop three — proof and urgency. Lead with a recent local job, a season-appropriate reason (pre-winter, post-storm), and a soft deadline you can honestly keep.
- Trigger drops — react to events. When a hail or wind event hits part of your area, mail the worn, scored roofs inside it quickly with a documentation-and-inspection offer.
This is exactly why a multi-use license and a universe big enough to mail several times matter more than a one-time mega-list. You're building a season-long program, not buying a lottery ticket. Pull responders out of each subsequent drop (suppress them), and feed your tracking back in so each drop is smarter than the last.
A 90-day plan to put this to work
If you're starting from zero, here's a concrete sequence rather than a pile of theory.
- Week 1 — mine your own book. Export your CRM and old estimates, clean and suppress active jobs, and segment into stalled estimates, past customers due by roof age, inspection no-sales, and neighbors of recent jobs.
- Week 2 — first own-list drop. Mail the stalled estimates from the last 12 to 36 months. It's your highest-ROI mail and it funds the rest.
- Week 3 — buy and test a cold list. Pick a source, stack your selects (owner-occupied, 18-to-35-year build window, tenure, value floor), order a sample, and run the 25-address spot-check before buying the full file.
- Week 4 — score and split. Rank the cold list by roof age and storm wear. Identify which routes are uniform enough for EDDM and which need targeted mail.
- Weeks 5 to 12 — run the cadence. Drop one to the scored cold list, suppress responders, drop two three to four weeks later, then drop three. Trigger-mail any storm-affected pockets. Track cost per appointment and cost per job for every drop, and double down on the segments that paid.
Common mistakes that quietly waste the budget
- Buying the biggest list you can afford. Volume feels like progress and is usually the enemy. A tight 5,000 beats a sloppy 25,000 almost every time.
- Filtering only on ZIP and home value. That's barely targeting. Stack year built, tenure, and owner-occupied, then score for roof age and storm wear.
- Trusting the storm polygon as a damage list. It's a boundary, not a verdict. Old roofs inside the worst of the swath are your prospects; young roofs inside it are postage you'll never get back.
- Ignoring the re-roof blind spot. Year built can't see the re-roof. If you mail purely on year built, you'll hit homes that got a new roof three years ago. Roof-age imagery is how you catch those.
- Mailing once. One drop is a coin flip. The same audience, touched several times across a season, compounds. Buy a multi-use license and build a calendar, not a one-night stand.
- No tracking. No dedicated number, no campaign URL, no QR. If you can't measure a drop, you can't tell a good list from a bad one, and you'll keep buying the bad one.
- Skimping on data, splurging on gloss. Foil and thick stock on a wrong-address list is lipstick on a void. Spend the marginal dollar on better targeting, not heavier paper.
A simple buying checklist
Run this top to bottom before your next drop:
- Define the roof you want. Replacement-age homes? Storm-worn roofs? Your own old estimates? The target dictates the source.
- Mail your own book first. Export CRM and old estimates, suppress active jobs, segment, drop.
- Pick the source for cold addresses: self-serve platform (control + price), broker (done-for-you clean), bundled mail house (one invoice), or storm vendor (post-event speed).
- Stack the selects: owner-occupied, year built window, length of residence, home-value floor, storm history where relevant.
- Demand hygiene: NCOA move-update within 90 days, CASS certification, suppression of your customers, clear license terms.
- Score the addresses by roof-age range and storm wear so postage concentrates on roofs actually likely to be due, and you trim the young and already-replaced ones.
- Choose the format: EDDM for uniform routes, targeted mail for mixed areas.
- Instrument it: dedicated tracking number, campaign URL, QR code.
- Run the math: plan cost per piece, expected response, appointments, close rate, and revenue before you commit.
- Mail more than once, track every drop, and feed what worked back into the next buy.
The vendors are easy to find; that was never the hard part. The hard part is buying clean addresses and then narrowing them to the roofs that are genuinely worn out, so your postage lands on homes that need you and skips the ones that don't. Get the addresses from any reputable source, scrub them, and then let roof age and storm wear decide which ones get the stamp. That's the difference between funding the post office and filling your schedule. If you want the roofs in your area ranked by which are actually due — age read from imagery as a range, plus the storms each roof has really taken — that's exactly the layer RoofPredict puts on top of whatever list you buy or already own. Hand it a street you know cold and judge it for yourself before you trust it with the rest.
FAQ
Where can I buy a roofing mailing list?
Five real sources: self-serve consumer-data platforms (you build the filters, lowest per-record price), full-service list brokers (they source and clean it for you), direct-mail companies that bundle list + print + postage into one invoice, storm/weather-data vendors (post-event area lists), and your own CRM and old estimates (cheapest and highest-converting). Pick by whether you want control, convenience, post-storm speed, or to mail a book you already own.
How much does a roofing mailing list cost?
The list itself is the cheapest part of a campaign, commonly around $0.03 to $0.20 per record depending on how many selects you stack and the data freshness, often with a minimum order. The bigger cost is the full mailing: an all-in targeted postcard typically runs roughly $0.50 to $1.00+ per piece once you add design, printing, and postage. EDDM saturation mail has no list cost and the cheapest postage.
What filters should I use to target roofs that need replacing?
Stack year built (homes roughly 18 to 35 years old for replacements), length of residence (about 6 to 20 years), owner-occupied only, and a sensible home-value floor. Add storm history where relevant. Year built is your best cheap proxy for roof age but it can't see re-roofs, which is why scoring each address by actual roof-age range and storm wear narrows the list further.
Is a storm/hail list the same as a list of damaged roofs?
No, and confusing the two is the most expensive mistake in storm mail. Most storm lists are a polygon drawn around where a storm passed, with every address inside pulled. That tells you hail crossed the area, not which specific roofs were old enough to take damage or which already got replaced after the last storm. Combine the storm footprint with per-roof age and a modeled storm read to mail the worn roofs and skip the young ones inside the same swath.
Do I need to worry about Do Not Call or TCPA rules for direct mail?
A mailed postcard isn't governed by the federal Do Not Call or telephone calling/texting rules, so cold direct mail itself is comparatively low-risk. But if you buy phone numbers and start calling or texting that list, you're in TCPA and DNC territory with real penalties. Keep mail as mail unless you've built genuine consent, and keep all advertising claims truthful under FTC rules.
What is CASS and NCOA, and why do they matter?
CASS certification validates and standardizes your addresses against USPS data so they're deliverable and qualify for cheaper postage. NCOALink (move update) checks addresses against the USPS change-of-address file. Since roughly one in seven Americans moves each year, a list that hasn't been move-updated in the last 90 days is already rotting. Insist on both, or you'll pay full postage to mail people who left.
EDDM saturation or targeted mail, which is better for roofing?
It depends on your area. EDDM (Every Door Direct Mail) blankets entire postal routes with no purchased list and the cheapest postage, ideal when a neighborhood is uniformly the right age or right after a visible job nearby. Targeted address mail costs more per piece but lets you pick specific homes by year built, tenure, and value. Rule of thumb: if 60 to 70%+ of a route is the right age, saturate it; if it's a mix of new and old homes, buy a targeted list.
Isn't my own customer list better than a purchased one?
Usually yes. Past customers, old estimates that never closed, inspection no-sales, and neighbors of recent jobs convert better than cold strangers because there's an existing relationship, and the data costs you nothing. Mail your own book first — especially stalled estimates from the last 12 to 36 months — before spending on cold addresses.
How do I know if a mailing campaign actually paid off?
Instrument every drop: a dedicated tracking phone number, a campaign URL, and a QR code — never your main line. Track pieces mailed, total spend, calls/scans/visits, appointments set, inspections run, jobs closed, and revenue, then compute cost per appointment and cost per job. Without that you can't tell a good list from a bad one and you'll keep buying the wrong one.
Can my roofing mailer help homeowners with insurance claims?
You can offer a thorough inspection and clear documentation of any damage, and prepare an accurate estimate to repair the roof. You cannot, for a fee, negotiate or adjust the claim, interpret coverage, promise a payout or approval, promise the deductible disappears, advertise a free roof, or represent the homeowner against the insurer — that's public adjusting and it's license-required in most states. The safe frame: you document and estimate; the homeowner files and the insurer decides coverage.
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.
Sources
- USPS Every Door Direct Mail (EDDM) — usps.com
- USPS CASS Certification — postalpro.usps.com
- USPS NCOALink Move Update — postalpro.usps.com
- FTC Truth in Advertising — ftc.gov
- FTC National Do Not Call Registry — ftc.gov
- FCC Telephone Consumer Protection Act (TCPA) Rules — fcc.gov
- U.S. Census Bureau — Geographic Mobility / Migration — census.gov
- NRCA — National Roofing Contractors Association — nrca.net
- IBHS — Insurance Institute for Business & Home Safety (Roofing) — ibhs.org
- NOAA NWS Storm Prediction Center — spc.noaa.gov
- NOAA NCEI Storm Events Database — ncdc.noaa.gov
- NAIC — Public Adjusters Consumer Information — naic.org
- International Residential Code (ICC) — Roof Coverings — iccsafe.org
- RoofPredict — roofpredict.com
Related Articles
How to Build a Targeted Mailing List by Neighborhood for Roofing
A working playbook for building a neighborhood-targeted roofing mailing list that hits the roofs most likely to be due, instead of carpet-bombing whole ZIP codes.
How to Find Homeowners With Old Roofs Who Haven't Been Pitched Yet
The roofs worth the most are the old ones nobody else has worked yet. Here is how to find them by age and storm exposure, then get to them first.
How to Find Addresses With Old Roofs to Mail (Without Buying Leads)
A field-tested method for building a mailing list of homes whose roofs are actually aging out, so your postcards land on doors that can become jobs.