Skip to main content

How to Get a Homeowner Mailing List for Roofing (Without Wasting Money on Junk Data)

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

Every roofer who has ever mailed a postcard runs into the same wall: getting names and addresses is easy, but getting the right names and addresses is the whole game. You can buy 50,000 homeowner records for a few hundred dollars and mail every one of them. You can also light that money on fire and get nearly the same result. The difference between a mail drop that pays for itself and one that quietly bleeds your marketing budget comes down to who is on the list, what you know about their roof, and whether the piece ever should have gone in their box at all.

This is a working roofer's breakdown of where homeowner mailing lists actually come from, what each source is good and bad at, what you should pay, how to clean and filter the data so you stop mailing brand-new roofs, and how to turn a flat spreadsheet of addresses into a ranked route your crew can knock the same week the mail lands. There are real numbers, real workflows, and the parts that pros get wrong after their first failed campaign.

What a "mailing list" actually is (and the three things it must have)

A mailing list is just a table. Each row is a household; each column is something you know about that household. The cheapest lists give you the bare minimum, and the expensive ones give you a lot of columns you will never use. For roofing, you need three things, in order of importance:

  1. A deliverable mailing address. This sounds obvious, but a meaningful share of any raw list is undeliverable — people moved, the unit number is wrong, the record is years stale. The USPS National Change of Address (NCOA) database exists precisely because Americans move constantly; the Census Bureau pegs annual mover rates in the low-to-mid teens as a percentage of the population in recent years. If your list has not been run against NCOA in the last 90 days, you are paying postage on dead addresses.
  2. An owner-occupied, single-family (or small multi) signal. You generally do not want renters — the renter cannot authorize a re-roof — and you usually do not want large apartment complexes unless you do commercial. You want the person who owns the roof and writes the check.
  3. Something about the roof or the home's age. This is the column almost every cheap list is missing, and it is the one that decides whether your mailing makes money. A list with no roof-age signal means you are mailing 4-year-old roofs and 24-year-old roofs at the same rate, and only one of those homeowners is ever going to call you.

Everything else — household income, length of residence, presence of children, estimated home value — is gravy. Useful gravy sometimes, but gravy.

The hard truth about response rates

Before you spend a dollar, anchor your expectations. The Association of National Advertisers / Data & Marketing Association have long reported that direct mail response rates to a prospect (cold) list sit in the low single digits and often well under 1% for house lists versus prospect lists. Roofing is a considered, infrequent purchase — nobody re-roofs because a postcard was clever. A realistic cold-mail response for an untargeted roofing list is a fraction of a percent. A response is not a sale. So the math that matters is not "what's my response rate," it's "what does one signed job cost me in mail, and what's that job worth?"

Work it backwards with a worked example:

Input Untargeted list Targeted (old-roof) list
Pieces mailed 10,000 10,000
All-in cost per piece (print + postage + data) $0.60 $0.70
Total spend $6,000 $7,000
Response rate 0.3% 0.9%
Calls / leads 30 90
Lead-to-job close rate 20% 25%
Signed jobs 6 ~22
Cost per signed job $1,000 ~$318

The targeted list costs more per piece and produces dramatically cheaper jobs, because every dollar of postage is pointed at a roof that could plausibly need work. The numbers above are illustrative, not a promise — your close rate, ticket size, and market drive the real outcome. But the shape is the lesson: targeting beats volume almost every time in roofing, and the lever that moves it most is roof age.

The seven places roofers actually get homeowner lists

There is no single "roofing list" vendor that is right for everyone. Each source trades off price, freshness, filtering power, and how much roof-specific intelligence it carries. Here is the full menu, from cheapest-and-dumbest to most-targeted.

1. County assessor / property appraiser records (often free)

Every parcel of real estate in the country sits in a county tax roll. The county assessor (sometimes called the property appraiser or recorder) maintains owner name, mailing address, situs (property) address, year the structure was built, lot and building characteristics, last sale date, and assessed value. A large share of counties publish this online, and many will sell or hand over the full county file for a nominal fee or a public-records request.

What it's great for: It is the ground truth for ownership and year built, and it is the cheapest possible source. If you work a defined set of counties, this is the backbone of a serious list.

What it's bad at: Year built is not roof age. A house built in 1996 may have a roof from 1996, 2009, or last spring — you cannot tell from the tax roll. Formats vary wildly county to county, the data needs cleaning, and there is no owner-occupancy flag in many counties (you have to infer it by comparing the owner's mailing address to the property address: if they match, the owner likely lives there).

Cost: Free to a few hundred dollars per county. Your time to normalize it is the real cost.

2. List brokers and consumer-data vendors

This is the classic "buy a mailing list" path. National data compilers and the brokers who resell them (the same firms that supply mortgage, auto, and retail marketers) let you pull homeowner records filtered by geography, owner-occupancy, home value, length of residence, age of head of household, and income. You hand them a set of ZIP codes or a radius and the filters, and they hand back a CSV or set up a recurring feed.

What it's great for: Speed and filtering. You can have 25,000 owner-occupied single-family homes in your service area, income $75k+, within a day. Good vendors run NCOA and CASS address standardization for you, so deliverability is high.

What it's bad at: Roof age, again. The standard consumer file has no idea how old anyone's roof is. You are buying demographic and property filters, not roof condition. Quality varies enormously between vendors, and the cheapest "$99 for 100,000 records" offers are usually stale, heavily resold, and full of renters mislabeled as owners.

Cost: Commonly $0.03–$0.15 per record for a one-time list, with minimums; managed/recurring programs cost more. Be suspicious of anything dramatically below that — cheap data is cheap for a reason.

3. Your own CRM and past-customer book (the most valuable list you already own)

The single highest-converting mailing list a roofing company has is almost always the one sitting in its own files: past customers, old estimates that never closed, inspection requests that went cold, and warranty/repair contacts. These people already know your name, already let you on their property, and (in the case of old unsold estimates) already told you they have a roof problem.

What it's great for: Conversion. Re-mailing a homeowner you bid three years ago — "we measured your roof in 2023, here's where it stands now" — converts at multiples of any cold list. Referral and reputation effects compound. Past customers also tend to be in the same neighborhoods, which tightens your routes.

What it's bad at: Size. It is finite, and most companies have it scattered across a CRM, a shoebox of old proposals, an email inbox, and a sales rep's phone. The work is assembling and cleaning it, not buying it.

Cost: Effectively free to mine — it is the cheapest "new" leads in your business. Most roofers radically underuse it.

4. Storm/hail event lists

After a verified hail or high-wind event, vendors sell address lists for the impacted footprint, sometimes overlaid with a swath map from radar-derived hail products. The pitch is "here are all the homes under the storm."

What it's great for: Recency of an event and a defensible reason to knock. If a real storm hit, the homes underneath it are worth documenting.

What it's bad at: A storm footprint is not the same as roof damage. Hail is famously patchy — two houses on the same street can take very different hits depending on hail size, the angle the stones fell, roof pitch, slope orientation, and the age and brittleness of the existing shingle. A swath map tells you where it might have hailed; it does not tell you which roofs were actually worn out or compromised. Buy a raw storm list and you will mail a lot of roofs the storm barely touched. (More on the storm-modeling difference, and the legal lines around storm/claims marketing, below.)

Cost: Varies; often priced per record or per event footprint, and frequently bundled with mapping tools.

5. Aerial-imagery and roof-condition data providers

A newer category: vendors that analyze aerial and satellite imagery to estimate roof condition, material, or visible wear, and let you pull lists of homes that look like they need attention. Measurement vendors (the ones that produce roof reports for estimating) are a different category — they measure a roof you already chose; they don't tell you which roof to choose.

What it's great for: Getting closer to the thing that actually matters — the roof itself — rather than a demographic proxy.

What it's bad at: Cost and coverage vary, and "looks worn from above" still isn't the full picture. The best use is combining an imagery-derived roof-age signal with storm exposure, which is exactly the gap the next section addresses.

6. Built-in-house from neighborhood data (the slow, durable way)

Some larger companies build proprietary lists by combining county data, their own canvass results, install history, and notes from every door their reps ever knocked. Over years this becomes a genuine asset — a map of who has what, who turned you down and why, and who is due.

What it's great for: It is yours, it is differentiated, and it gets better every season. Nobody can resell it to your competitor.

What it's bad at: Time. This is a multi-year discipline, not a campaign you launch next week.

7. Referral, HOA, and neighbor lists (small but warm)

When you finish a job, the surrounding houses are a tiny, hyper-warm list: same neighborhood, same age of homes, same storm exposure, and they just watched your crew work. Walking the four-to-eight houses around a completed job — the classic "around the job" mailer or door hanger — is one of the highest-ROI mailings in roofing, and you build the list for free from your own production schedule.

How to choose among the seven sources (a decision tree)

You don't pick one source; you stack two or three. But knowing which to lead with saves money. Walk this short decision tree before you spend:

  • Do you have a defined, repeating service area (a set of counties or ZIPs you work every season)? If yes, the county assessor file is your backbone — own the ground-truth ownership and year-built data, then layer roof age on top. If you chase storms across regions, county-by-county pulls are too slow; lean on a broker plus storm data.
  • Do you have any history at all — past customers, old bids, dead leads? If yes, mine your CRM first, every time, before you buy a single new name. It is the cheapest pipeline you own and most companies barely touch it.
  • Do you need volume fast for a campaign next week? A vetted list broker delivers filtered owner-occupant records in a day. Pay for the filtering, not the raw count.
  • Did a real, verified storm just hit your area? Then a storm footprint plus your own documentation matters — but rank it by roof age so you work the older, more-likely-damaged roofs first instead of the whole swath.
  • Are you trying to find the genuinely due roofs regardless of weather? Then a roof-age signal from imagery is the missing layer that every other source lacks.

A typical mature setup: county file + CRM as the owned base, a roof-age-and-storm ranking layered on top to prioritize, and an occasional broker pull to expand into a new neighborhood. You are not buying a list so much as assembling a targeting stack.

A side-by-side of the seven sources

Source Roof-age signal Owner data quality Freshness Cost Best use
County assessor None (year built only) High (ground truth) Updated on sale/permit Free–cheap Owned base for a fixed area
List broker / consumer data None Medium (verify owner-occ) Varies; demand recent NCOA $0.03–$0.15/rec Fast volume + demographic filters
Your own CRM Add it yourself Highest (you sold them) You control it Free Cheapest, highest-converting touches
Storm event list None (footprint only) Medium Tied to the event Per event/record Documented real storms, ranked by age
Aerial roof-condition data Yes (imagery-derived) Depends on join Image-vintage dependent Varies The missing roof layer
Built in-house Yes, over time Highest Improves each season Time Long-term proprietary asset
Around-the-job / referral Implicit (same-age homes) High As you produce Free Highest-ROI micro-mailings

## The big mistake: buying volume when you needed targeting

The most common and most expensive error is treating "get a mailing list" as a purchasing decision instead of a targeting decision. A roofer thinks the goal is to acquire addresses, when the goal is to exclude the wrong addresses. On any street, the homes that could realistically need a roof in the next couple of years are a minority. If your list does not let you find that minority, you are paying full freight to talk mostly to people whose roof is fine.

Here is the targeting hierarchy, strongest signal to weakest, that should drive who stays on your list:

  1. Roof age in the replacement window. Asphalt shingle — the dominant residential roof in the U.S. — typically gets replaced somewhere in the mid-teens to mid-twenties in years depending on product, climate, ventilation, and install quality. A roof in or approaching that window is your prospect. A 5-year-old roof is not, no matter how nice the neighborhood.
  2. Storm exposure on that specific roof. A roof that took real hail or wind, especially an older roof that was already brittle, jumps to the top.
  3. Owner-occupied, can-write-the-check. Filters out renters and absentee owners who won't act.
  4. Neighborhood / home age cluster. Subdivisions built in the same year tend to age out together, which is why one re-roof on a street often turns into several.
  5. Demographics (income, length of residence). Real, but weakest. Length of residence matters because someone in their home 12+ years is more likely to be the original-roof owner facing the bill.

Notice that the top two — roof age and storm exposure on the specific roof — are exactly the two columns the cheap lists do not have. That is the whole problem in one sentence.

Where roof age comes from (and why "year built" lies to you)

Roofers routinely try to fake a roof-age signal with year built from the tax roll, or with the home's listing data. Both are traps.

  • Year built tells you the roof's oldest possible age, and nothing about re-roofs. In a 1995 subdivision, a chunk of those homes have already been re-roofed once, sometimes twice. Mailing all of them as "30-year-old roofs" wastes money on the houses that already replaced — and those re-roofs are invisible in the tax record.
  • Zillow / Google / listing sites show year built, not roof age. A re-roof rarely updates any public record. So the home that got a new roof in 2021 still shows "built 1998" everywhere a roofer can see it.
  • Permit data can reveal a re-roof if the homeowner pulled a permit, but permit compliance for roofing is wildly inconsistent by jurisdiction, so absence of a permit proves nothing.

The honest way to get closer to true roof age without climbing every ladder is aerial imagery analyzed over time. From overhead, a roof's surface gives away a lot: granule loss, streaking, patching, repairs, and the visible difference between a recently shingled roof and a tired one. Compared against historical imagery and the home's characteristics, that produces a roof-age range — not an exact install date, which nobody can know from the curb, but a window like "roughly 16–20 years" that is enormously more useful than "built 1998."

That range is the filter that turns a flat homeowner list into a roofing list. Keep the homes whose roof range lands in your replacement window; suppress the ones whose roof is clearly young. Same postage budget, pointed at roofs that could actually be jobs.

Reading roof age from the curb and the sky: what's actually visible

Even before any data layer, a trained eye predicts roof age from a few visible cues, and understanding them tells you why imagery-based age estimates work and where they stop. On asphalt shingle — by far the most common residential roof in the U.S. — the tells are:

  • Granule loss. Asphalt shingles shed their protective mineral granules over time; a roof going bald in patches, with shiny asphalt showing through, is aging out. Granules collecting in gutters and at downspout splash blocks are a field confirmation.
  • Curling and cupping. Edges lifting or the center of tabs dishing means the mat has dried and is failing — late-life behavior.
  • Streaking and discoloration. Dark streaks are often algae (cosmetic), but uneven fading and a generally tired tone track with age and sun exposure, especially on south- and west-facing slopes.
  • Patches and mismatched shingles. Visible repairs mean the roof has a history — and sometimes that a prior storm or leak was addressed without a full replacement.
  • Sagging or uneven planes. Structural rather than surface — a flag for deeper issues worth documenting.

From overhead imagery, several of these — patching, large-scale granule loss, streaking, repairs, the contrast between a crisp new roof and a weathered one — are detectable and comparable against older imagery of the same roof. That's how you convert "built 1998" into a useful "roughly 16–20 years" range. What imagery cannot see is the underlayment, the decking, the ventilation, or the exact day the shingles went on — which is why the output is honestly a range, and why an actual inspection still confirms the job. The range is a targeting tool, not a diagnosis.

Roof-age windows by material (rough planning ranges)

Use these only as planning ranges to set your replacement window — install quality, climate, and ventilation move them a lot:

Material Typical service window Notes for targeting
3-tab asphalt shingle mid-teens to ~20 years Most common; ages out fastest; prime target band
Architectural / laminate asphalt ~20 to 30 years Longer window; watch the older subdivisions
Wood shake ~20 to 30 years Maintenance-sensitive; regional
Metal 40+ years Rarely a re-roof target except on damage
Tile / slate 50+ years (tile underlayment shorter) Target the underlayment, not the tile

The practical takeaway: most of your mail budget should chase asphalt roofs in roughly the 15-to-25-year band, with storm-exposed older asphalt at the very top. That single filter reshapes a generic homeowner list into a roofing list.

## Where RoofPredict fits in your list workflow

This is the gap RoofPredict was built for. Instead of buying a pile of addresses and mailing them blind, you scan your service area and get, house by house, a roof-age range estimated from aerial imagery, plus storm exposure modeled on that specific roof — not merely whether a storm passed over the ZIP, but how hail and wind likely loaded that roof, paired with how old it already was. The output is a ranked view of which roofs are due, so you can mail and knock the worn-out ones and skip the new ones.

A few honest limits, because a tight trade compares notes:

  • Roof age comes back as a range, never an exact install date. Nobody can read an exact date off the sky, and any vendor who claims a precise date is overselling.
  • Storm modeling produces odds, not proof. "This roof likely took meaningful hail given its age and the storm that hit it" is a prioritization signal — your inspection confirms reality.
  • It is not a lead-buying service. RoofPredict does not sell you a homeowner who filled out a form and got resold to four of your competitors. It ranks your streets and enriches your own list with roof-age and storm signals, so the customer relationship is yours to own.
  • Measurement vendors measure a roof you already picked; RoofPredict is the step before — which roof to pick.

Used in a list workflow, it slots in two ways. First, as a filter and ranking layer on a list you already have: feed it your county pull or your purchased file, and it scores and orders the addresses by roof age and storm exposure so your mail goes to the top of the list first. Second, as enrichment of your CRM: your old estimates and past customers get a current roof-age and storm read, surfacing which of last year's no-decisions now have a roof that aged into the replacement window. You keep your data and your customer relationships; you just stop mailing roofs that don't need you.

Buying a list without getting burned: a vetting checklist

When you do buy from a broker or data vendor, the difference between good and garbage data is whether they can answer these. Make them answer before you pay.

  • How recently was this run through NCOA? If it's older than ~90 days, deliverability is already decaying. Reputable vendors run move-update routinely.
  • Is the address CASS-certified / standardized? CASS certification means the addresses were validated against USPS format standards, which directly affects deliverability and your postage rates.
  • How do you determine owner-occupied vs. renter? A real answer (matching owner mailing address to property address, deed data) is fine. "We just have it flagged" is not.
  • How often is the source file refreshed, and how many times has this list been sold? Heavily resold consumer lists are saturated — your competitors mailed the same people last month.
  • Can I filter by length of residence and home value, and exclude recent home sales? Recent buyers often did inspections or repairs at purchase; length of residence proxies original-roof ownership.
  • What's the bad-address guarantee? Many vendors credit or refund records that come back as undeliverable above a stated threshold. Get it in writing.
  • Do you provide roof-age or roof-condition data? Almost always no for a standard consumer file — which is fine, as long as you know you'll add that layer yourself.
  • Is the data compliant and properly sourced? You want a vendor who follows the FTC's data-broker and consumer-data norms and isn't selling you something scraped or misrepresented.

Run this gauntlet and the "$99 for 100,000 names" offers disqualify themselves immediately.

Compliance and privacy: the rules that quietly govern your list

Mailing is one of the few channels with relatively light federal restriction compared to calling and texting, which is part of why it endures for roofing. But there are rules, and ignoring them creates real exposure.

  • Direct mail itself is broadly permitted. Unlike telemarketing (governed by the FTC/FCC Do Not Call rules) and SMS (governed by the TCPA), sending a physical postcard to a homeowner generally does not require prior consent. That's a structural advantage of mail.
  • The moment you add a phone call or text, the rules change. If your follow-up is a call or text, you're now in Do-Not-Call and TCPA territory, which carry steep per-violation penalties. Scrub against the National Do Not Call Registry before calling, and get proper consent before texting.
  • Honor opt-outs and do-not-contact requests. When a homeowner asks off your list, keep a permanent suppression file and actually use it across every future drop. This is both good practice and reputation protection in a tight-knit neighborhood.
  • Source your data cleanly. The FTC has scrutinized the consumer-data-broker industry for transparency. Buy from vendors who can tell you where the data came from and that it's lawfully compiled — not scraped, not misrepresented.
  • Mind state-specific consumer-privacy laws. Several states have enacted consumer privacy statutes that give residents rights over their personal data; if you operate in those states, know your obligations around data you hold and sell.
  • Truth-in-advertising applies to the postcard. Whatever you print has to be accurate and not deceptive. "Free roof," guaranteed approvals, or fake urgency aren't just bad taste — they invite regulatory and legal trouble (and on storm work, they cross the public-adjusting line covered earlier).

None of this should scare you off mail. It should keep your follow-up channels clean and your claims honest.

## Cleaning and standardizing the list (the unglamorous step that saves the campaign)

Whatever the source, raw data needs work before it touches a printer. Skipping this is how roofers end up mailing duplicates, vacant lots, and their own shop. A practical clean-up sequence:

  1. De-duplicate by address. County and consumer files both carry dupes, especially after you merge sources. Collapse on standardized situs address, not on name (names are spelled inconsistently).
  2. Run NCOA / move-update. Catches the movers and updates or suppresses them. If your mail house offers this, use it.
  3. CASS-standardize. Normalize every address to USPS format. This earns presort postage discounts and reduces returns.
  4. Suppress the obvious wrong targets. Drop renters (when flagged), absentee owners if you only want owner-occupants, recent sales, PO boxes, vacant/seasonal flags, and anything outside your true service radius.
  5. Suppress your own prior contacts as needed. Don't cold-mail a current customer with a "we'd love to earn your business" piece — pull them into a different, warmer message instead.
  6. Apply the roof-age filter. Keep the replacement-window roofs; suppress the clearly-new ones. This is the step that most changes campaign economics.
  7. Honor opt-outs and do-not-contact. Maintain a suppression list of anyone who asked off, plus any data the vendor flags as restricted.

A good mail house (the printer and mailing vendor) will do steps 2–4 as part of their service, which is one reason a printer that specializes in this is worth more than a cheap online print shop.

Turning a flat list into a ranked mail-and-knock route

The last mile pros get wrong: treating the list as one undifferentiated blast. A 10,000-record list is not one campaign; it's a stack you should work top to bottom by priority, in tight geographic clusters, with the door-knock and the mail timed together.

A workflow that consistently beats spray-and-pray:

  1. Score every record. Assign each address a simple priority based on roof-age range (in/near the replacement window = high), storm exposure on that roof (recent real event = boost), owner-occupied (required), and cluster density (many due roofs nearby = boost the whole cluster).
  2. Sort into tiers. Tier A: old roof + storm-exposed + owner-occupied. Tier B: old roof, owner-occupied, no recent storm. Tier C: borderline roof age. Mail Tier A first; you may never need to mail Tier C at all.
  3. Cluster geographically. Group the high-priority records into walkable/drivable clusters so a rep can knock the same blocks the week the mail lands. Mail plus a knock on the same street, same week, dramatically outperforms either alone — the homeowner has seen your name twice.
  4. Time the drop to the route. Schedule the mail to hit a couple of days before your reps work that cluster, so when they knock, the postcard is on the kitchen counter.
  5. Put a real reason on the piece. "Roofs in your neighborhood are reaching the age where they typically need attention" beats "call us for a free estimate." If a verified storm hit, reference documentation honestly (see the legal section). Make it specific to that neighborhood's situation.
  6. Make the response trackable. Unique phone number, unique URL or QR code per campaign, or a code to mention. If you can't measure response, you can't improve the list.
  7. Feed results back into the data. Every knock outcome — not home, not interested, inspected, signed, "call me in spring" — goes back into your records. Over time this is how an off-the-shelf list becomes a proprietary one (source #6 above).

This is where a roof-age-and-storm ranking earns its keep: it does steps 1–2 for you on every address, so your reps spend their hours on the doors most likely to convert instead of working a street in random order.

Designing the piece: what goes on a roofing postcard that gets a call

A perfectly targeted list still fails if the mailer is generic. The list decides who; the piece decides whether they act. Practical rules that hold up across markets:

  • Lead with the neighborhood and the roof, not your logo. "Roofs on [street/subdivision] are reaching the age where they typically need attention" beats "ABC Roofing — call for a free estimate." Specificity signals you're talking to them, not blasting the county.
  • One clear job for the reader. A single call-to-action — call this number, or scan this code for a roof check. Two CTAs split attention; five kill it.
  • A real, honest reason now. Roof age in the replacement window, or documented storm activity in the area, gives a non-pushy reason to act. Avoid invented deadlines and fake scarcity — homeowners and neighbors compare notes, and a fabricated "this week only" erodes trust.
  • Proof you're legitimate. License number where required, real local address or service area, and a recognizable look. Roofing has a storm-chaser reputation problem; looking established beats looking flashy.
  • Format that survives the mail pile. Bigger postcards (6×9, 6×11) and better stock get noticed but cost more. Test format against your standard before committing volume.
  • A trackable response path. A campaign-specific phone number, a QR code, or a unique URL so you can tie every call back to the drop and the list it came from.

Mail format and cadence at a glance

Choice When it fits Trade-off
Standard 4×6 postcard High-volume, cost-sensitive Cheapest; blends in
Jumbo 6×11 postcard Premium neighborhoods, fewer pieces Stands out; higher cost per piece
Letter / personalized CRM re-engagement, past customers Warmer, higher cost, best for warm lists
Door hanger (around-the-job) Houses near an active job site Free list, hyper-local, pairs with the crew on site
Sequence of 3 over 8–12 weeks Any serious targeted list Frequency lifts response; needs budget discipline

The single most underused tactic here is the sequence. One postcard to a great list is a coin flip; three touches over a couple of months, with a door-knock layered in, is a system. Frequency multiplies the value of good targeting — and wastes money fast on bad targeting, which is one more reason to fix the list first.

## Storm and claims marketing: stay on the right side of the line

If you do storm-restoration work, your mailing list and your messaging touch insurance, and there are firm legal lines. The safe, professional lane is documentation and an accurate estimate. The unsafe lane — acting as an unlicensed public adjuster — gets roofers fined and sued. Keep these straight on every postcard, door hanger, and rep conversation.

What a roofer may do:

  • Inspect the roof and document damage thoroughly with dated photos and measurements.
  • Prepare an accurate, Xactimate-aligned repair estimate for the scope of work you'd perform.
  • State facts about your own scope to the carrier — what you found, what you'd repair, and what it costs.
  • Hand that documentation and estimate to the homeowner, who decides whether to file.

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

  • Do not negotiate, adjust, or "handle" the homeowner's claim for a fee — that is public adjusting and is licensed in most states.
  • Do not interpret the policy or tell the homeowner what is or isn't covered.
  • Do not promise a specific payout, approval, or that "the insurance will pay for it."
  • Do not promise to waive, absorb, eat, or "make disappear" the deductible — that is illegal in many states and is insurance fraud framing everywhere.
  • Do not advertise a "free roof."
  • Do not represent the homeowner against the insurer.

The homeowner files; the insurer decides coverage; you document and estimate. Put that frame on your marketing and you can capture every bit of legitimate storm intent without stepping on a public-adjusting statute. Check your state Department of Insurance (in Texas, the TDI) for the exact public-adjusting and deductible rules in your state — they vary, and they bite.

This is also why a raw storm-swath list is risky on two fronts: it wastes money on roofs the storm barely touched, and it tempts reps into over-promising on doors where there may be no real damage. A roof-age-plus-modeled-storm signal keeps you honest — you knock the older roofs that plausibly took a real hit, document what's actually there, and let the homeowner and carrier do their jobs.

What a list and a campaign should cost you

Roofers want numbers, so here's a realistic cost stack for a targeted residential mailer, all-in per piece. Your market and volume move these, and these are planning ranges, not quotes:

Component Typical range per piece Notes
Data / list $0.02–$0.15 Free if county-sourced; higher for premium filtered data
Roof-age + storm targeting layer varies The filter that decides the other dollars aren't wasted
Print (postcard, 4×6 to 6×11) $0.10–$0.45 Bigger format and better stock cost more and stand out
Postage (USPS marketing mail, presorted) $0.20–$0.40 EDDM and presort discounts lower this; first-class costs more
Mail-house processing $0.02–$0.08 NCOA, CASS, sorting, tray prep

A common all-in lands around $0.50–$0.80 per targeted piece. Every Door Direct Mail (EDDM) is the cheapest postage route because you don't even need names — you mail every address on a postal carrier route — but you lose all targeting, so it only makes sense in a neighborhood you already know is full of due roofs (e.g., a uniformly-aged subdivision, or a confirmed storm footprint you've documented). For anything where targeting matters, the named, filtered, roof-age-ranked list wins on cost-per-job even though it costs more per piece.

Budget by jobs, not by pieces. Decide how many signed jobs you need, estimate your realistic cost-per-job from the targeted column of the earlier table, and size the mail drop to that — then keep the list tiered so you spend on Tier A before you ever touch Tier C.

A 30-day plan to stand up your first targeted roofing mailer

If you're starting from zero, here's a concrete sequence.

Week 1 — Define and source. Pick 1–3 target neighborhoods or ZIP groups where home age and storm history suggest aging roofs. Pull the county assessor file for those areas (free/cheap) or get a quote from one vetted list broker using the checklist above. Simultaneously, export your own CRM: past customers, unsold estimates, cold inspections.

Week 2 — Clean and target. De-dupe, run NCOA and CASS (your mail house can do this), suppress renters/absentee/recent-sales/out-of-radius. Apply a roof-age filter so you're keeping replacement-window roofs and dropping new ones. If you're using a roof-age-and-storm ranking, score and tier the list now. Pull your past customers into a separate, warmer list.

Week 3 — Build the piece and the route. Design a postcard with a neighborhood-specific, honest reason to call (and a storm-documentation message if a real event hit, kept inside the legal lines). Add a trackable phone/QR/URL. Cluster Tier A into walkable routes and schedule reps to knock those blocks the week mail lands.

Week 4 — Drop, knock, measure, learn. Mail Tier A first, timed to hit before the knock. Track every call and door outcome against the source. Calculate cost-per-lead and cost-per-job. Feed every result back into your records. Next month, mail Tier B and re-mail the no-decisions from your CRM.

Do this for three cycles and two things happen: your cost-per-job drops as you learn which signals predict closes in your market, and your in-house data starts becoming the proprietary asset that no competitor can buy.

What the pros do differently

A few habits separate the roofers who make direct mail print money from the ones who quit after one campaign:

  • They mail the same homes more than once. One postcard is a coin flip; a sequence of three over a few months, tied to a knock, is a system. Frequency to a well-targeted list, not a blast to a bad one.
  • They never separate the mail from the door. The list feeds the route. Mail softens the door; the door closes the job.
  • They treat their CRM as the crown jewel. Past customers and old estimates get re-touched on a schedule, with current roof-age context, because that's where the cheapest jobs live.
  • They measure cost-per-job, not response rate. A 0.4% response on a list that produces $400 cost-per-job beats a 1.2% response on a list that produces $1,100 jobs.
  • They filter for the roof, not the demographics. Income and ZIP are proxies; roof age is the thing. The closer your list gets to true roof condition, the better every other number gets.
  • They keep storm marketing clean. Documentation and an honest estimate, the homeowner files, the insurer decides. No payout promises, no deductible games, no "free roof."

Getting a homeowner mailing list for roofing is the easy 10% of this. The 90% that pays your crew is filtering it down to the roofs that are actually due, ranking them, and working that ranked list with mail and doors together. Start with what you can get cheaply — the county roll and your own CRM — layer a roof-age-and-storm signal on top so you stop mailing new roofs, and run it as a measured, repeating system. That's how a list becomes a pipeline you own instead of a stack of postcards you hope someone reads.

If you want the roof-age range and per-roof storm exposure already attached to every address in your area — so the list comes pre-ranked and you can skip the new roofs on day one — that's exactly what RoofPredict does. Hand us a street you already know and judge the read for yourself; book a demo and we'll walk your own neighborhood with you.

FAQ

Where can roofers get a homeowner mailing list for free?

Your two cheapest sources are the county assessor/property appraiser records (owner name, mailing address, year built, last sale, assessed value — often published online or available by public-records request for a nominal fee) and your own CRM (past customers, unsold estimates, cold inspections). The county roll is the ground truth for ownership; your CRM is the highest-converting list you'll ever have. Both are essentially free; the cost is the time to clean and filter them.

How much does a roofing mailing list cost to buy?

Consumer-data brokers typically charge roughly $0.03–$0.15 per record for a filtered, one-time homeowner list, often with minimums, and more for managed or recurring programs. Be skeptical of offers far below that (the '$99 for 100,000 names' type) — that data is usually stale, heavily resold, and full of renters mislabeled as owners. County records are cheaper still. Budget the all-in mailer at roughly $0.50–$0.80 per targeted piece including print and postage.

Why shouldn't I just use year built to find old roofs?

Year built only tells you the roof's oldest possible age — it says nothing about re-roofs. A 1995 home may have been re-roofed once or twice, and those replacements almost never show up in tax records, Zillow, or Google. Mailing every old home as if it has its original roof wastes money on houses that already replaced. To get closer to true roof age you need aerial-imagery analysis that produces a roof-age range, not a build date.

What's the difference between a storm list and storm-modeled targeting?

A storm list (or hail-swath map) shows where a storm passed — the footprint. It does not tell you which specific roofs were actually worn out, because hail is patchy: two houses on the same street can take very different hits based on hail size, fall angle, roof pitch, slope orientation, and how old and brittle the existing shingle was. Storm-modeled targeting pairs the storm's likely load on each individual roof with that roof's age, so you prioritize the older roofs that plausibly took a real hit instead of mailing the whole footprint.

What response rate should I expect from a roofing mailer?

Cold prospect mail in general runs low single digits at best, and roofing — an infrequent, considered purchase — often comes in well under 1% on an untargeted list. A well-targeted, old-roof list does meaningfully better. But response rate is the wrong scoreboard. Track cost-per-signed-job: a 0.4% response on a tightly targeted list can produce far cheaper jobs than a 1.2% response on a junk list, because every postcard is pointed at a roof that could actually need work.

How do I make sure a purchased list is deliverable?

Insist the vendor has run the file through USPS NCOA (move-update) within the last ~90 days and CASS-certified the addresses (validated to USPS format). Ask how they determine owner-occupied versus renter, how often the source refreshes, and how many times the list has been resold. Get a bad-address guarantee in writing — many vendors credit undeliverables above a threshold. Then de-dupe and re-run NCOA/CASS through your mail house before printing.

Should I mail my past customers and old estimates, or buy new names?

Do both, but mine your own book first — it's the cheapest and highest-converting list you have. Past customers and old unsold estimates already know you and already told you they had a roof concern. Re-mail them with current roof context ('we measured your roof in 2023; here's where it stands now'). Use purchased and county lists to expand into new neighborhoods, ideally the same ones where your past jobs cluster so your routes stay tight.

Can I tell homeowners my mailer will get their roof paid for by insurance?

No. You can inspect, document damage with dated photos, and prepare an accurate repair estimate, then hand it to the homeowner — who files the claim while the insurer decides coverage. You may not negotiate or 'handle' the claim for a fee, interpret the policy, promise a payout or approval, promise to waive or absorb the deductible, or advertise a 'free roof.' Those cross into unlicensed public adjusting and, in many states, insurance fraud. Check your state Department of Insurance for the exact rules.

Is EDDM or a named, targeted list better for roofing?

EDDM (Every Door Direct Mail) is the cheapest postage and needs no names — you mail every address on a postal carrier route. It only makes sense where you already know targeting doesn't matter, like a uniformly-aged subdivision or a documented storm footprint. For anything else, a named list filtered by roof age and owner-occupancy wins on cost-per-job, because EDDM forces you to pay postage on every new roof on the route.

How does RoofPredict fit with a mailing list I already have?

RoofPredict isn't a lead service and doesn't sell you addresses that get resold to competitors. It layers a roof-age range (from aerial imagery) and per-roof storm exposure onto the addresses you already have — your county pull or purchased file — so the list comes back ranked by which roofs are due, and you can suppress the new ones. It also enriches your CRM, surfacing which past estimates now have roofs that aged into the replacement window. Roof age comes back as a range, storm exposure as odds, and the customer relationship stays yours.

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. USPS — Move Update and NCOALinkpostalpro.usps.com
  2. USPS — Every Door Direct Mail (EDDM)usps.com
  3. U.S. Census Bureau — Geographic Mobility / Migrationcensus.gov
  4. NOAA National Weather Service — Storm Prediction Centerspc.noaa.gov
  5. NOAA Severe Weather — Hail Basics (NSSL)nssl.noaa.gov
  6. Insurance Institute for Business & Home Safety (IBHS) — Hailibhs.org
  7. National Roofing Contractors Association (NRCA)nrca.net
  8. Federal Trade Commission — Data Brokers Reportftc.gov
  9. Texas Department of Insurance — Public Insurance Adjusterstdi.texas.gov
  10. National Association of Insurance Commissioners (NAIC) — Public Adjustersnaic.org
  11. U.S. Bureau of Labor Statistics — Roofers (Occupational Outlook)bls.gov
  12. International Code Council — International Residential Code (IRC)codes.iccsafe.org
  13. USPS — Business Mail Pricing and Postageusps.com
  14. RoofPredictroofpredict.com

Related Articles