The homes worth mailing are lived in by their owners, haven't had a new roof lately, and show a reason to need one soon, such as hail exposure or visible wear. A whole ZIP code reaches all of those homes, but you also pay to mail every renter, every new roof and every roof in good shape, and nationally about one occupied home in three is rented (the homeownership rate was 65.0% in the second quarter of 2026). Good roofing direct mail targeting means adding filters one at a time and knowing what each one misses. This post covers six of them, the public data behind each, and a simple way to check whether a filter pays for itself.
What does a whole-ZIP mailing get you?
Mailing every address is the simplest option. With Every Door Direct Mail (EDDM), you pick carrier routes, the pieces go to "Postal Customer" at every address on them, and Retail postage is $0.26 per piece as of October 2026. The USPS tool lets you narrow routes by age, income and household size. Whether a home is owned, how old its roof is and whether hail hit it are not among the filters USPS lists.
A whole-ZIP mailing makes sense when nearly every roof in the area is a prospect, such as right after hail hits an entire neighborhood, or when you mainly want to be known before storm season. Our guide to comparing mail options by cost per job works through when that trade pays off. The opposite case is an area where most homes already have newer roofs, for example a few years after a big hail storm. If 85 of every 100 roofs there are less than ten years old, 85 cents of every dollar spent on a whole-ZIP mailing goes to those homes, and that's where filtering pays off most. For most other mailings, the real question is which homes you can drop without losing many future customers.
Six filters: what each shows and what it misses
Each filter answers a different question about a home. None answers the one you care about most, whether this roof needs replacing now, so you combine them.
| Filter | What it tells you | What it misses | Where the data comes from |
|---|---|---|---|
| Whole ZIP or route | Every address, no list needed | Owners vs. renters, roof age, roof condition | USPS EDDM tool |
| Owner-occupied | The person reading the letter can hire you | Rental homes whose owner could still hire you | Census ACS (share per ZIP); county records or a list vendor (per address) |
| Year built | How old the house is | When the roof was last replaced | Census ACS (per ZIP); county records (per address) |
| Storm history | Areas with reported or radar-estimated hail | Which roofs on the street were actually damaged | NOAA storm reports and radar hail estimates |
| Recent reroof | Homes that just got a new roof, so you can skip them | Work done without a permit, or before records went online | City or county permit records, where public |
| Visible wear in aerial images | How this roof looked on the day the image was taken | Changes since that day, leaks, anything not visible from above | Aerial imagery |
Owner-occupied
A renter can't sign a roof contract for a house they don't own, so this is usually the first filter worth adding. For a quick read on a ZIP code, the Census Bureau's American Community Survey publishes a housing profile (table DP04) for every ZIP Code Tabulation Area. It shows owner-occupied and renter-occupied homes, how many are single-family detached houses, and when they were built. The latest 5-year release covers 2020 to 2024.
To flag single addresses, you need property records. In Texas, for example, the residence homestead exemption requires the owner to use the home as their principal residence, and it's filed with the county appraisal district, so a homestead flag is a strong sign the owner lives there. If you buy a list with an owner-occupied filter, ask the vendor how they decide it.
Year built
Year built tells you how old the house is, not how old the roof is. Half of all US homes are more than 44 years old, according to Harvard's Joint Center for Housing Studies, based on 2023 American Housing Survey data. For a house that old, the year built says little about the roof on it today.
Where year built helps is at the young end. In a subdivision built in the last several years, most homes are likely still on their original roof, so you can usually skip them unless a storm came through.
Storm history
For storm work, hail history is the obvious filter, and the public data shows areas much better than single roofs. The National Weather Service counts hail 1 inch across (about the size of a quarter) or larger as severe. NOAA's Storm Events Database records hail reports with their size in inches, but each report is usually a single point on the map, the data arrives about 75 to 90 days after the month ends, and the Weather Service doesn't guarantee its accuracy. Radar-based estimates such as NOAA's MESH tracks show a swath of estimated hail size instead of points, though NOAA's own training page notes they carry biases from the weather model they rely on. Our guide to free hail maps for roofers compares these and the other free government sources side by side.
Don't ignore the smaller storms. In lab tests by the Insurance Institute for Business and Home Safety (IBHS), shingles that had weathered naturally and then taken two rounds of hail under 1 inch became up to ten times more susceptible to damage from later large hail than new shingles. So an older roof in an area with repeated small hail can be a better prospect than its storm reports suggest.
Recent reroofs
A home that got a new roof two years ago is the clearest waste of postage on your list, and permit records are the best way to find those homes. Some cities require a permit for every reroof. Grand Prairie, Texas, for example, requires one for any residential roof replacement or repair. Ask your city or county whether its permit records are searchable.
Records won't show work done without a permit, and the rules differ from city to city, so treat a missing permit as "unknown," not as "old roof."
Visible wear in aerial images
This is the closest of the six to the question that matters, because it looks at the roof itself. Signs a person can spot from above, like a tarp, missing shingles or patchy repairs, point to a roof that needs attention.
Two limits matter. An image shows the roof on the day it was taken, so check the capture date before you mail, especially after a storm or in a neighborhood where other roofers have been busy. And a view from above can't show what's under the shingles or inside the attic, so the letter should invite an inspection rather than announce a diagnosis.
Which homes should you take out before you print?
Whatever filters you use, these don't belong on the list:
- Homes you've already roofed, and homeowners your sales team is already quoting.
- People who opted out of promotional mail. DMAchoice, run by the Association of National Advertisers, lets consumers opt out for 10 years for a $6 fee. The FTC says it stops "most, but not all" promotional mail. If you buy a list, ask whether the vendor screens it against DMAchoice.
How can you tell whether a filter pays for itself?
A filter is worth it when the homes it keeps hold a bigger share of your future callers than their share of the list. Divide the first share by the second and you get how many times more calls per home the filtered list should bring.
Here's an example with made-up numbers. A ZIP code has 6,000 homes, and you send the same letter at an example $1.50 per home all-in, so the only difference is who gets it. Your filter keeps 1,200 homes (20%). If those 1,200 homes include half of the people who would have called, the filtered list brings 2.5 times the calls per home (50% ÷ 20%).
| List (example) | Homes | Mail cost at $1.50 each | Example calls | Cost per call |
|---|---|---|---|---|
| Whole ZIP | 6,000 | $9,000 | 24 | $375 |
| Filtered list | 1,200 | $1,800 | 12 | $150 |
| The other 80% | 4,800 | $7,200 | 12 | $600 |
The last row is the real decision. Those 4,800 homes still produce 12 calls, but at $600 each. If your close rate and job size make a $600 call worth it, mail them too. If not, skip them or reach them with something cheaper. Swap in your own numbers; the 24 calls and the 50% are examples, not benchmarks.
The catch is that you don't know the 50% until you test it. Mail the same letter to a random check sample of the homes your filter dropped, say 10% of them, and give that sample its own tracking number. In the example, the 480 sample homes would bring about 1 call (480 × 12 ÷ 4,800 = 1.2), against 12 from the 1,200 filtered homes. With numbers that small, one mailing can't prove much either way, so add up several mailings before you decide. Our post on how to track direct mail leads covers tracking numbers, matchback and holdout groups.
A simple order for stacking filters
- Pick ZIP codes with the data that covers whole areas: Census figures for owner share and home age, NOAA reports and radar estimates for hail.
- Within those ZIP codes, keep owner-occupied houses.
- Take out recent reroofs, your own customers and open quotes, and people who opted out.
- Rank what's left by visible wear and image date, and mail from the top down as far as your budget goes.
- Mail a check sample of the rest, and compare cost per call by list over several mailings.
Where Scoutbound fits
Scoutbound covers parts of steps 3 and 4. In ZIP codes chosen with you, it starts from single-family homes and skips those built after a set year. A quick first look at aerial images drops roofs that look new. A closer analysis then compares each remaining roof in two aerial images from different sources where both are available, and only homes whose roofs show visible wear get a letter, most worn first. Each of those homeowners gets a personalized letter with an aerial image of their own roof, under your brand, and homes that opt out get no further mail. Each letter carries its own QR code and a tracking phone number, so calls, texts and scans show up in your online portal.
