EDDM vs Targeted Mail for Roofing: A Contractor's Real-World Cost and Response Breakdown
On this page
Every roofer who has ever dropped a stack of postcards at the post office has felt the same quiet dread: was that money, or was that confetti? You wrote a check, a few thousand glossy cards went out, the phone rang a handful of times, and now you're trying to back into whether it paid. The problem usually isn't the postcard. It's that nobody decided, before printing, which roofs were actually worth mailing — and which mail product moves those roofs at the lowest cost per real conversation.
That decision is the whole game, and it comes down to two roads. One is EDDM (Every Door Direct Mail), the U.S. Postal Service's saturation product, where you blanket entire mail routes for a low flat postage rate and never touch a single name. The other is targeted mail — a list-based, addressed mailing where you pick the specific houses that get the card and pay more per piece to skip the ones that don't matter.
Most online comparisons stop at "EDDM is cheaper per piece, targeted is more precise." True, and useless. The number that pays your crew isn't cost per piece. It's cost per signed job, and that number flips depending on your market, your average ticket, your close rate at the door, and — the part almost nobody models — how many of the roofs you're mailing are too new to ever need you. Below is the operator's version: the postage math both ways, the list mechanics, response-rate ranges grounded in industry reporting, the compliance landmines in storm markets, and a repeatable workflow you can run Monday.
The two products, stated plainly
Before the math, get the definitions exactly right, because contractors conflate them constantly and then misread their own results.
EDDM (Every Door Direct Mail)
EDDM is a USPS program that lets you mail to every address on a chosen carrier route — or to every residential address on it — without buying a mailing list, without printing individual names or addresses, and without a postage permit for the entry-level retail version. You pick routes off the USPS mapping tool, you bundle your mail in counts of 50 to 100 with facing slips, and you drop them at the destination post office. There are two flavors:
- EDDM Retail — capped around 5,000 pieces per ZIP code per day, no permit required, you can drop it yourself at the local post office. This is the version most small-to-mid roofers actually use.
- EDDM BMEU ("BMEU" / commercial) — higher volume, requires a permit, processed through a Business Mail Entry Unit, usually run by a mail house. Slightly lower postage but more setup.
The defining trait: you cannot exclude individual houses. If a route has 480 deliverable addresses, you pay for and deliver to all 480. The brand-new roof, the rental with an absentee owner, the condo that isn't your customer — all get a card.
Targeted (addressed, list-based) mail
Targeted mail is the opposite philosophy: you build or buy a list of specific addresses, you mail only those, and each piece carries the recipient's address (and often name). You pay a higher per-piece postage rate — typically the marketing-mail or first-class addressed rate depending on how you send it — plus the cost of the list itself. In exchange you get the thing EDDM physically cannot give you: the power to leave houses out.
That's the real axis of this whole comparison. EDDM buys you cheap reach. Targeted mail buys you the right to not mail a roof. Everything downstream — cost per job, your image in the neighborhood, your crew's morale at the door — flows from that one difference.
The postage and piece math, both ways
Let's put real, current-rate numbers on the table. Postage rates change, so treat these as planning figures and confirm the live rate on the USPS Postal Explorer before you commit a budget — but the relationships between them are stable and that's what drives the decision.
Per-piece cost, side by side
A typical roofing mailer is an oversized postcard, usually 6"x9" or 6.5"x9" (large enough to qualify for EDDM, which requires the piece to exceed standard letter dimensions). Here is the realistic all-in cost per piece for each route:
| Cost component | EDDM Retail (6x9 card) | Targeted addressed mail (6x9 card) |
|---|---|---|
| Postage per piece | ~$0.22 (EDDM retail flat) | ~$0.33–$0.45 (marketing mail) to ~$0.55+ (first-class) |
| Printing per piece (large postcard, qty 5k) | ~$0.10–$0.18 | ~$0.10–$0.18 |
| List / data per piece | $0.00 (no list) | ~$0.05–$0.15 (purchased) or near $0 (your CRM) |
| Mail prep / facing slips / bundling | ~$0.01–$0.03 (DIY) | often included with mail house |
| All-in per piece (planning range) | ~$0.33–$0.43 | ~$0.50–$0.75 |
So on raw cost, EDDM wins by roughly 30–45% per piece. That gap is real and it's why EDDM is seductive. But cost per piece is the wrong denominator. Hold that thought.
A concrete 5,000-piece comparison
Say you have a $25,000 monthly mail budget and you want to put 5,000 pieces in mailboxes this drop.
EDDM route, 5,000 pieces:
- All-in at ~$0.38/piece = $1,900 total
- You blanket, say, 11–12 carrier routes covering ~5,000 homes.
- You mailed every roof: the 2-year-old roofs, the 20-year-old roofs, the rentals, all of it.
Targeted route, same $1,900 budget:
- All-in at ~$0.62/piece = ~3,060 pieces for the same money.
- But every one of those 3,060 is a house you chose — say, owner-occupied single-family homes with roofs you have reason to believe are aging out, in the neighborhoods you actually want to work.
Now the question that decides everything: does mailing 3,060 hand-picked roofs beat mailing 5,000 random ones? It depends entirely on what fraction of those 5,000 random roofs were ever going to call you. Let's model it.
Response rates: what the numbers actually say
The Association of National Advertisers / DMA response-rate reporting has, for years, put direct mail to a prospect (cold) list in the low single digits and direct mail to a house (your own) list meaningfully higher, with house lists frequently several times the response of prospect lists. Saturation mail like EDDM, by design, behaves like the bottom of the prospect-list range because you're mailing strangers indiscriminately — including people with no possible need.
Don't anchor on a single hero number you saw on a vendor's site ("5% response!"). For roofing, responsible planning ranges look like this:
| Mail type | Realistic response range (call/visit) | Why |
|---|---|---|
| EDDM saturation, generic offer | ~0.3% – 1.0% | Mailing everyone, including roofs that don't need work; weak relevance |
| Targeted prospect list, relevant (e.g., older roofs) | ~1.0% – 2.5% | Mailing strangers, but qualified strangers |
| Your own list (past customers / old estimates) | ~3% – 8%+ | Existing trust; warm; already in your book |
These are response (someone reaches out), not closed jobs. You then apply your close rate to whatever comes in.
Worked example: the same $1,900, three ways
Assume a residential average job value of $12,000 and that of the people who respond, you close 25% (a reasonable door-to-contract rate when you arrive on a real inquiry).
Scenario A — EDDM, 5,000 pieces, 0.6% response:
- Responses: 5,000 x 0.6% = 30
- Jobs: 30 x 25% = 7.5 jobs → call it 7
- Revenue: 7 x $12,000 = $84,000
- Cost per job: $1,900 / 7 = ~$271/job
Scenario B — Targeted prospect list, 3,060 pieces, 1.8% response:
- Responses: 3,060 x 1.8% = ~55
- Jobs: 55 x 25% = ~13.8 → call it 13
- Revenue: 13 x $12,000 = $156,000
- Cost per job: $1,900 / 13 = ~$146/job
Scenario C — Your own list (past customers + old estimates), 3,060 pieces, 5% response:
- Responses: 3,060 x 5% = ~153
- Jobs: 153 x 25% = ~38
- Revenue: 38 x $12,000 = $456,000
- Cost per job: $1,900 / 38 = ~$50/job
Look at what happened. EDDM was the cheapest per piece and the most expensive per job by a wide margin. The targeted prospect list nearly doubled the job count on fewer pieces. And mailing your own book — the cheapest data you own and the one roofers ignore most — crushed both.
This is the central lesson and it's worth saying flatly: cheap reach is not cheap customer acquisition. A roof that was never going to need you costs you the same postage as a roof that's due. EDDM forces you to pay for both. Targeting lets you stop.
Where EDDM genuinely wins
None of this means EDDM is bad. It means EDDM is a tool with a narrow, real sweet spot. Use it on purpose, not by default.
1. Hyper-local saturation around a job site. You just finished a tear-off on Maple Street and there's a dumpster, a branded truck, and a clean new roof on display. Blanketing the surrounding 2–3 routes with "We're working in your neighborhood" mail is one of the few cases where mailing everyone is the point — you're riding social proof and proximity, and even the new-roof homeowners become future referrals. Cost per piece matters here and EDDM delivers.
2. Brand-awareness blanketing in a tight geography you'll work for years. If you're the established roofer in a town of 18,000 and you want your name on every fridge, repeated low-cost saturation builds familiarity. That's a branding play with a long payback, not a lead-gen play with a 60-day payback. Budget it as branding and don't judge it on this month's calls.
3. Storm-aftermath saturation in a genuinely hammered grid. When a confirmed, severe storm has worked over a defined area, a large share of roofs in that footprint may carry real damage. The relevance problem that normally sinks EDDM shrinks, because the storm did your targeting for you. (Big caveat on messaging — see the compliance section. "Worked over" is your read; coverage is not yours to promise.)
4. You have no usable data and need to start this week. EDDM requires zero list-building. If you're a newer crew with no CRM, no past-customer book, and no roof-age data, EDDM gets mail out the door immediately while you build the data layer that will eventually let you target. It's a fine bridge. It's a poor destination.
Where EDDM quietly bleeds you
The failure modes are predictable. Each one is a place targeted mail buys back money.
- You pay to mail new roofs. In any normal neighborhood a large chunk of roofs were replaced in the last 5–10 years and will not need you for a decade-plus. EDDM bills you for every one. On a 5,000-piece drop where, say, 35% of roofs are too new, that's ~1,750 pieces of pure waste — roughly $665 at $0.38/piece, every drop, structurally.
- Renter-heavy and absentee routes. Carrier routes don't sort by ownership. EDDM hits rentals where the occupant can't authorize a roof and the owner never sees the card.
- You can't suppress your own customers or your competitors' fresh installs. No exclusions means you'll mail a homeowner you re-roofed last spring a "is your roof aging?" card. It reads as careless.
- Measurement is mushy. Because you blanket, you can't cleanly isolate "this card hit a likely-due roof and converted." Attribution stays fuzzy, which keeps you mailing blind.
- It can cheapen your brand. A generic card in every box, including obviously-new roofs, signals "spray and pray." A card that lands precisely on aging roofs, referencing the right concern, signals a pro who knows the neighborhood.
Where targeted mail wins — and what makes it work or fail
Targeted mail's entire value is the quality of the list. A targeted campaign to a bad list is just expensive EDDM. So the work moves upstream: who, exactly, are you mailing, and why those houses?
The four lists worth mailing, ranked
- Your past customers (your house list). The highest-responding mail you will ever send. People who already trusted you with a roof, gutter job, or repair. Maintenance reminders, referral asks, "your roof is now N years old" nudges. Near-zero data cost. Mail this first, always.
- Your old estimates and dead leads. Homeowners who got a bid and didn't move — many because of timing or budget, not because they didn't need a roof. A roof you flagged as marginal three years ago is three years closer to due. This is money sitting in your CRM.
- Targeted prospect lists by likely roof condition. Strangers, but qualified strangers — owner-occupied single-family homes, in your service radius, weighted toward roofs that are aging out or that took recent weather. This is where most contractors' "targeted" effort lives and where list quality makes or breaks the math.
- Geographic + demographic prospect lists. Owner-occupancy, length of residence, home value, single-family — useful filters, but blunt on the one variable that matters most for roofing: how old is the actual roof.
The list filters that move roofing response
When you build or buy a prospect list, the filters that correlate with "this roof might need replacing" are:
- Owner-occupied, single-family (someone who can authorize work and lives with the problem)
- Length of residence (long tenure often correlates with an original or older roof)
- Year built — with a giant asterisk (more on this next; year built is not roof age)
- Recent severe-weather exposure at the address level (hail/wind that plausibly aged the roof)
- Suppression of your own customers and recent re-roofs (don't mail roofs you know are new)
That asterisk on "year built" is the single most expensive misunderstanding in roofing direct mail, so it gets its own section.
The roof-age problem that wrecks targeting math
Here's where most "targeted" roofing mail is secretly half-blind. Contractors and list vendors reach for year built as a proxy for roof age — it's the field that's easy to get from county and property data. But year built is when the house went up, not when the roof was last replaced. An asphalt shingle roof typically lasts ~15–30 years depending on material and climate, which means a 1985 house has very likely been re-roofed once or twice. Filtering your list on "built before 2005" sweeps in a huge population of recently re-roofed homes — the exact roofs you do not want to pay to mail.
The same trap lives in the consumer data sources roofers reach for: Zillow, county records, and most property databases show year built, and re-roofs are invisible to them. A permit might exist for a re-roof, but permit coverage is wildly inconsistent and many re-roofs never get pulled. So the cleanest-looking targeted list can still be loaded with new roofs you'll pay full freight to mail.
Two signals get you much closer to actual roof condition:
- Aerial-imagery-derived roof age — estimating, from current and historical overhead imagery, how worn a specific roof looks and roughly how long ago it was last done. This is read as a range ("this roof reads 18–22 years"), never an exact install date, because imagery infers wear, it doesn't see the receipt.
- Per-roof storm exposure — not "did it hail in this ZIP" but, as closely as the data allows, "did meaningful hail or wind actually load this roof," so you weight toward roofs a storm plausibly wore out rather than the whole footprint.
When you can layer those two on top of the standard ownership/residence filters, your targeted list stops being "old houses" and starts being "old roofs" — and the response math in Scenario B above gets materially better, because you've stripped out the new-roof waste that even targeted year-built lists carry.
Where RoofPredict fits in this decision
This is the gap RoofPredict is built to close, so here's the honest version of where it helps and where it doesn't. RoofPredict reads aerial imagery to estimate a roof-age range per address and models storm physics — hail and wind — per roof, not merely per ZIP — to flag which specific houses a storm likely wore out versus the ones it merely passed over. The output is a ranked view of your area and a way to enrich your own mailing list or CRM with roof-age-plus-storm signals, so you can mail the roofs that are actually due and suppress the ones that aren't.
In the framework here, that's the engine behind option 3 (and a sharpener for option 2): it turns a blunt "built before 2005" prospect list into a list weighted by likely roof condition, and it lets you drop the new roofs EDDM forces you to pay for. Practically, it's what closes the gap between Scenario A's ~$271/job and Scenario B's ~$146/job — you stop buying postage for roofs that were never going to call.
The honest limits, because a tight trade compares notes: roof age comes back as a range, not a date — imagery infers wear, it can't see a receipt or a pulled permit, so a freshly re-roofed home can occasionally still read older than it is. Storm modeling is odds, not proof — it tells you which roofs were most likely loaded, not which ones are definitely damaged; only a roofer on a ladder confirms that. And it is not a lead service — it doesn't hand you homeowners who asked to be called or sell you the same name it sold five competitors. It sharpens the outbound you already do — your mail, your knocking, your own book — so the pieces you pay to send land on roofs that have a reason to answer. If you want EDDM-level cost-efficiency without EDDM-level waste, that's the lever.
A repeatable workflow: choosing and running the right mail
Here's the operational version you can run as a checklist. The goal is to decide per campaign — not to religiously pick one product forever.
Step 1 — Decide the campaign's job
Write down, in one sentence, what this drop is for. Be honest:
- "Generate inbound calls this quarter" → lead-gen → favor targeted.
- "Saturate around the Maple Street job for proximity proof" → EDDM on 2–3 routes.
- "Stay top-of-mind in my home town for the next two years" → branding → EDDM as a long-game line item.
- "Reactivate my old customers and dead estimates" → your own list, addressed mail, every time.
Step 2 — Pull your numbers before you print
You cannot compare the two products without your own figures. Get these four:
- Average job value (residential re-roof or your dominant ticket).
- Close rate on inbound mail responses (be conservative; 20–30% is common).
- Realistic response rate for the list you're considering (use the ranges above, lean low).
- All-in cost per piece for each product, with real quotes from your printer/mail house.
Step 3 — Run the cost-per-job calculation, not cost-per-piece
Use this simple chain for each option:
Pieces x Response rate = Responses
Responses x Close rate = Jobs
Total campaign cost / Jobs = Cost per job
Jobs x Avg job value = Revenue
Whichever option produces the lowest cost per job at a volume you can service wins — full stop. Run it for EDDM, targeted prospect, and your own list. The answer is frequently "mail your own book first, then targeted prospects, and reserve EDDM for proximity and branding."
Step 4 — Build the list (if targeted)
- Export your past customers and dead estimates from your CRM. This is list #1 and #2, free.
- Define the prospect filter: owner-occupied, single-family, your service radius, then layer roof-age-range and per-roof storm exposure so you're targeting old roofs, not merely old houses.
- Suppress your existing customers and any roofs you know are new (recent re-roofs you did or saw).
- Cap the list to what your crew can actually service in the response window. Mailing more than you can close just burns postage and reputation.
Step 5 — Match the message to the list
The offer should mirror why the house is on the list:
- Past customer: "Your roof is about N years old now — want a quick check before fall?"
- Old estimate: "We bid your roof in [year]; conditions change — here's a fresh look."
- Aging-roof prospect: "Roofs in your area from this era are reaching the end of their service life."
- Storm-area prospect: "A recent storm moved through your area — we can document your roof's condition for your records." (Note the careful framing — see compliance below.)
Step 6 — Make the response trackable
- Use a dedicated phone number per campaign (or per product) so EDDM and targeted calls are separable.
- Add a simple landing page or QR code unique to the drop.
- Tag every inbound in your CRM with the campaign source the day it comes in. If you skip this, you'll be back to confetti.
Step 7 — Measure, then reallocate
After the response window (typically 3–6 weeks for the bulk of responses), compute actual cost per job per product and move next month's budget toward the winner. Mail is a flywheel: every drop teaches you which lists and routes pay, and the contractors who win at mail are the ones who actually read their own results.
Storm and claims messaging: the compliance line you can't cross
If any of your mail touches storms, hail, wind, or insurance, your copy can put you on the wrong side of unlicensed-public-adjusting rules, regardless of which mail product you used. This trips up good roofers constantly, so be precise. The safe lane is documentation and an accurate repair estimate; the homeowner files, and the insurer decides coverage.
What you can do and say in mail and at the door:
- Inspect the roof and document damage thoroughly with photos and notes.
- Prepare an accurate, Xactimate-aligned estimate to repair your own scope of work.
- State facts about your scope and hand the homeowner that documentation.
- Say a storm moved through the area and you can document the roof's condition.
What you must not say or do (the do-not-say list — teach this to your whole sales team):
- Don't negotiate, adjust, or "handle" the claim for the homeowner, for a fee. That's public adjusting and it's licensed in most states.
- Don't interpret policy or coverage ("this is definitely covered," "your policy pays for this").
- Don't promise a specific payout, approval, or that the claim will go through.
- Don't promise the deductible is waived, absorbed, eaten, or gone — that's often outright illegal and is a fast way to lose your license and your customer.
- Don't advertise a "free roof."
- Don't represent the homeowner against the insurer.
In plain terms: your job is to document thoroughly and write an honest estimate; the homeowner files and the carrier decides. A roofer who keeps mail and door copy squarely on the documentation side captures the storm intent without stepping into adjusting. Check your state Department of Insurance (for example, the Texas Department of Insurance publishes guidance on roofing-contractor and public-adjuster lines) and the FTC's guidance on deceptive advertising before you print anything that mentions insurance.
This matters for the EDDM-vs-targeted decision in one specific way: the broader and more generic your mailing, the more careful your copy has to be. Blanket EDDM storm mail with aggressive "we get your roof covered" language is both legally risky and relevance-poor. Targeted storm mail to roofs you have reason to believe were actually loaded — with documentation-only language — is the disciplined version.
First-class vs marketing mail, and when timing changes the math
Once you've chosen targeted, there's a second decision EDDM never makes you face: how to send it. The two real options are USPS Marketing Mail (lower postage, no delivery guarantee, can sit days in the stream, no automatic return of undeliverables) and First-Class Mail (higher postage, faster and more predictable delivery, forwarded or returned if the address is bad). For a routine age-driven reactivation or aging-roof drop where timing isn't critical, marketing mail's lower rate is usually the right call. For anything time-sensitive — a storm footprint where speed matters, or a seasonal window closing — first-class buys you predictable in-home dates and the free address correction that keeps your list clean. EDDM, by contrast, has no first-class option at all; it moves on the saturation timeline, which is fine for branding and poor for anything urgent.
Timing compounds with seasonality. Roofing demand isn't flat across the year — it climbs into spring and summer, spikes after weather, and softens in deep winter in cold climates. Two practical implications. First, plan in-home dates, not drop dates. Mail takes days to land; back the drop up so cards arrive when homeowners are already thinking about the roof (after the first hard storm of the season, or in late summer before fall). Second, the off-season is when targeted mail to your own book earns its keep — when inbound is slow, a maintenance-reminder and dead-estimate wave keeps the crew busy without the cost of fighting for fresh prospects in a crowded season. A roofer who only mails when they're already busy has the cadence backwards.
Design and offer: what makes either product convert
The product (EDDM vs targeted) decides who gets the card. The piece itself decides whether they act. A few hard-won points that apply to both:
- Bigger pieces get read. A 6x9 or larger postcard stands out in the box and clears EDDM's size requirement. Letter-size cards get lost.
- One offer, one action. Don't list eight services. Lead with the single most relevant reason this person is getting mail (aging roof, past customer, storm), and one clear next step.
- Local proof beats slogans. A real neighborhood reference, a local phone number, photos of crews and trucks, and a recognizable service area outperform generic "quality and integrity" copy every time.
- Make the roof the subject. "Roofs in [neighborhood] built in the early 2000s are reaching the end of their life" is more compelling than "Call us for all your roofing needs."
- A reason to respond now, honestly. Seasonal timing ("before fall storms," "book your pre-winter check") works without inventing fake deadlines. Don't fabricate scarcity.
- Repetition compounds. Most response comes from people who've seen you more than once. A single drop underperforms a planned 3–4 touch sequence to the same good list. This is another reason a good list matters more than a big blast — you can afford to touch a 1,500-home targeted list four times for less than blasting 6,000 homes once.
Common mistakes that cost roofers real money
A quick field guide to the errors that show up over and over:
- Judging EDDM on cost per piece. Already covered, but it's the #1 error, so it leads the list. Cost per job is the only number that matters.
- Mailing year-built lists and calling it "targeted." Year built includes re-roofed homes. Without roof-age and storm signals you're paying to mail new roofs with a targeted-mail postage rate — the worst of both worlds.
- Never mailing the house list. Your past customers and dead estimates are the highest-ROI mail you own, and most roofers never send to them. Start there.
- No tracking. No dedicated number, no QR, no CRM tagging. You'll never know what worked, so you'll keep guessing.
- One-and-done drops. Pulling the plug after one mailing because "it didn't work." Response builds with frequency; you measured the warmup, not the campaign.
- Mailing more than you can service. Generating 60 calls you can't return torches goodwill and money. Size the list to your capacity.
- Aggressive storm/claims copy. Deductible and "covered" promises are a license-and-lawsuit problem. Stay on documentation.
- Servicing area mismatch. Mailing routes 45 minutes from your shop because the postage was cheap. Windshield time eats your margin on every job you win there.
Buying and cleaning a list without getting burned
Most contractors who try targeted mail buy a list once, get a mediocre result, and quietly go back to EDDM. Usually the list was the problem, not the channel. A few things separate a list that pays from one that wastes money.
Know what you're actually buying. Consumer-data brokers sell from the same underlying property and consumer files, then mark it up. The cheap ones hand you a flat export with no deduplication, stale movers, and no ownership flag. The differences that matter: is it owner-occupied or does it include renters; is it deduplicated to one record per household; how recently was it refreshed (anything older than ~12 months is decaying); and can you suppress against your own customer file before you pay? If a vendor can't answer those, the list is a gamble.
Run basic hygiene before you print, every time. This is unglamorous and it saves real money:
- CASS / address standardization so the post office can actually deliver the piece (undeliverable mail is postage you lit on fire).
- NCOA (National Change of Address) processing to catch the homeowners who moved — you don't want to mail "your roof is aging" to a family that sold and left.
- Dedupe to one piece per address. Buying two lists and merging them without deduping is how you mail the same house three times in one drop.
- Suppress your own customers and recent jobs so you never send a re-roof prospect card to a roof you installed last year.
Don't confuse a big count with a good count. A vendor quoting you "22,000 matching homes" in a metro you can't service is selling reach, not relevance — the same trap as EDDM, just at a higher per-piece price. Cap the count to your service radius and your crew's capacity first, then sort that capped universe by likely roof condition and mail the top of it. A tight 1,800-home list you can work hard beats a 9,000-home list you skim.
The order of operations that works: start from your service-area geography, filter to owner-occupied single-family, run hygiene (CASS/NCOA/dedupe), suppress your customers, then rank what's left by roof-age range and per-roof storm exposure and mail from the top down until you hit your capacity. That sequence strips waste at every step instead of paying to mail it.
EDDM vs targeted by market type
The right answer shifts with the kind of market you work. Map yourself to the closest profile.
Steady residential, no major storm activity (re-roof / age-driven demand). Your demand comes from roofs wearing out, not weather. Targeting on roof age is everything here, because the only thing separating a buyer from a non-buyer is how old the roof is — and that's exactly the signal EDDM and year-built lists can't see. Lead with your own book, then age-targeted prospect mail. EDDM only for proximity around jobs.
Active storm / hail-alley market. Demand spikes after events and out-of-town crews flood in. Right after a confirmed severe event in a defined footprint, EDDM saturation of that footprint can be defensible because relevance is temporarily high. Between events — which is most of the calendar — you're back to age-driven demand and targeted mail wins. The contractors who survive hail markets are the ones who build an age-and-storm-targeted pipeline that pays between storms, instead of going dark until the next event. Targeted for the between-storm baseline; disciplined EDDM only inside a fresh, real footprint, with documentation-only copy.
Dense urban / high-rental mix. Carrier routes here are loaded with renters and multi-unit buildings you can't sell. EDDM's inability to exclude is most expensive in exactly this kind of market. Strongly favor owner-occupied targeted mail; EDDM bleeds badly here.
Rural / spread-out service area. Windshield time dominates your job cost, so mailing a far route that's cheap per piece can produce jobs that lose money in drive time. Targeting tightens the geography to where you can actually run profitably. Targeted, capped tight to your true service radius.
Brand-new crew, no data, no reputation. You have nothing to target with and no name recognition. EDDM around your first jobs builds both proof and a starting customer book. Use it deliberately as a bridge, and start capturing every customer and estimate into a CRM from day one so that within a year you have a house list and roof data to target with. EDDM bridge now; build the data to graduate to targeted.
A 90-day mail plan with real numbers
Here's a concrete allocation a mid-size residential roofer could run on, say, a $6,000/month mail budget (~$18,000 over the quarter). The point isn't these exact figures — it's the shape: own book first, targeted second, EDDM last and on purpose.
Month 1 — prove the cheap money first.
- Reactivation drop to your own list (past customers + dead estimates), ~1,500 addresses, mailed once: $0.65 all-in = **$975**. At a conservative 4% response and 25% close on a $12,000 ticket, that's ~60 responses, ~15 jobs.
- Targeted prospect drop, age-and-storm-ranked, ~6,000 addresses at $0.62 = **$3,720**. At 1.5% response / 25% close: ~90 responses, ~22 jobs.
- EDDM proximity around two active job sites, ~2,500 pieces at $0.38 = **$950**. Treat any jobs as a bonus; the goal is local proof.
- Total ≈ $5,645. Track every inbound by source.
Month 2 — re-touch the responders' neighborhoods and the same good list.
- Mail the same targeted list again (touch two) — frequency is where targeted mail compounds. Re-touching a known-good list often out-converts a brand-new blast at the same cost.
- Add a small second reactivation wave to anyone in the book who didn't respond in Month 1.
- Hold EDDM unless you opened new job sites worth saturating around.
Month 3 — reallocate toward the proven winner.
- Pull your real, source-tagged cost-per-job for each channel from Months 1–2.
- Shift the budget toward whatever produced the lowest cost per job at serviceable volume — for most shops that's the own-book reactivation, then targeted prospect, with EDDM trimmed to pure proximity.
- Expand the targeted list into adjacent neighborhoods that index high on aging roofs, rather than simply the next ZIP over.
At the end of 90 days you don't have an opinion about EDDM vs targeted — you have your own numbers, which is the only honest way to settle it. Almost every roofer who runs this discovers the same ranking: their book pays best, age-and-storm-targeted prospect mail pays next, and EDDM earns its keep only in the narrow proximity-and-branding role.
So which one — a straight answer
For most established residential and storm-restoration roofers, the priority order is:
- Mail your own book first — past customers and dead estimates. Highest response, lowest data cost, always worth doing. This isn't EDDM or prospect targeting; it's the layer above both and the one most crews skip.
- Targeted prospect mail second, built on roof-age-range and per-roof storm signals so you're hitting old roofs (not merely old houses) and suppressing the new ones. This is where the cost-per-job math beats EDDM in the typical case.
- EDDM third, on purpose — for proximity saturation around active jobs, long-game branding in a tight home market, genuine post-storm footprints, or as a bridge when you have no data yet.
EDDM isn't the cheap winner and targeted isn't always worth the premium. The product is downstream of the list, and the list is downstream of one question: which of these roofs actually has a reason to answer? Answer that well — with real roof-age and storm signals instead of year-built guesses — and the postage rate stops being the thing you optimize. The roofs do.
If you want to stop paying to mail roofs that don't need you, the move is to enrich your list with which-roofs-are-due data before the next drop. RoofPredict scores the roofs in your area by age range and the storms each one actually took, so your targeted mail lands on the houses that are worn out and skips the ones that aren't — your mail, your CRM, your streets, just aimed at the roofs with a reason to call. Hand it a street you already know and see if it reads the roofs the way you would.
FAQ
Is EDDM or targeted mail cheaper for roofing?
EDDM is cheaper per piece — often 30–45% less all-in — because there's no list to buy and the postage rate is lower. But targeted mail is frequently cheaper per signed job, because EDDM makes you pay to mail new roofs and rentals that will never need you. Compare cost per job, not cost per piece: pieces times response rate times close rate gives jobs, and total cost divided by jobs is the number that decides which one actually made money.
What response rate should I expect from roofing direct mail?
Plan conservatively. Generic EDDM saturation typically lands around 0.3–1.0% response. A relevant targeted prospect list (aging roofs, owner-occupied) runs roughly 1.0–2.5%. Your own list of past customers and dead estimates is the highest, often 3–8% or more because the trust already exists. These are responses (someone reaches out), not closed jobs — apply your own close rate, usually 20–30% on inbound mail inquiries, to estimate jobs.
Can I exclude specific houses with EDDM?
No. EDDM mails to every deliverable address on the carrier routes you select — you cannot suppress individual homes, new roofs, rentals, or your own past customers. That lack of exclusion is EDDM's defining limitation. If you need to skip houses (for example, roofs you know are new), you need targeted, list-based addressed mail instead.
Why is year built a bad way to target roofing mail?
Year built is when the house was constructed, not when the roof was last replaced. Asphalt roofs typically last 15–30 years, so most older homes have already been re-roofed at least once. Re-roofs rarely show up in Zillow, county records, or even permit data, so a list filtered on year built sweeps in many recently re-roofed homes you'll pay full price to mail. Roof-age estimates from aerial imagery plus per-roof storm exposure get you much closer to actual roof condition.
When does EDDM actually make sense for a roofer?
EDDM has a real but narrow sweet spot: saturating the 2–3 routes around an active job for proximity and social proof; long-game brand awareness in a tight home market you'll work for years; genuine post-storm footprints where most roofs in the area plausibly took damage; and as a quick bridge when you have no CRM or roof data yet. Use it on purpose for those, not as your default lead-gen channel.
How do I track whether my roofing mail worked?
Use a dedicated phone number per campaign or product so EDDM and targeted calls are separable, add a unique landing page or QR code per drop, and tag every inbound in your CRM with the source the day it arrives. After a 3–6 week response window, compute actual cost per job for each option and shift next month's budget toward the winner. Without tracking, you're guessing.
Can my roofing mail mention insurance and storm damage?
Carefully. You can say a storm moved through the area and that you'll inspect and document the roof's condition and prepare an accurate repair estimate. You cannot negotiate or handle the claim for a fee, interpret policy or coverage, promise a specific payout or approval, promise the deductible is waived or absorbed, advertise a free roof, or represent the homeowner against the insurer — those cross into unlicensed public adjusting and deceptive-advertising territory. Keep all copy on the documentation-and-estimate side; the homeowner files and the insurer decides coverage.
Should I mail my past customers or only chase new prospects?
Mail your past customers and old estimates first, every time. A house list of people who already trusted you responds several times higher than any prospect list and costs almost nothing in data. Reactivation mail — maintenance reminders, 'your roof is now N years old' nudges, and revisits to dead estimates that are years closer to due — is usually the highest-ROI mail a roofer can send, and it's the one most crews never run.
How many pieces should a roofing mail campaign be?
Size the campaign to what your crew can actually service in the response window, not to what your budget can print. A smaller, well-chosen list mailed 3–4 times beats a giant one-time blast, because response compounds with frequency and you avoid generating calls you can't return. Touching a 1,500-home targeted list four times often costs less and converts better than blasting 6,000 homes once.
Does RoofPredict replace my mail house or lead provider?
No. RoofPredict isn't a lead service and doesn't print your mail — it sharpens the outbound you already run. It reads aerial imagery for a roof-age range per address and models hail and wind per roof, then enriches your own list or CRM so you mail the roofs that are due and suppress the ones that aren't. Roof age comes back as a range (not an exact date) and storm modeling is odds (not proof of damage), so a roofer still confirms condition on the ladder.
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
- Every Door Direct Mail (EDDM) — usps.com
- USPS Postal Explorer — Domestic Mail Manual & Rates — pe.usps.com
- USPS Marketing Mail — usps.com
- ANA / DMA Response Rate Report (direct mail benchmarks) — ana.net
- NRCA — National Roofing Contractors Association — nrca.net
- IBHS — Insurance Institute for Business & Home Safety (hail & wind research) — ibhs.org
- NOAA Storm Prediction Center — severe weather data — spc.noaa.gov
- National Weather Service — storm events and warnings — weather.gov
- FTC — Advertising and Marketing (truth-in-advertising guidance) — ftc.gov
- Texas Department of Insurance — Public Adjusters — tdi.texas.gov
- U.S. Census Bureau — American Housing Survey (housing & roofing data) — census.gov
- International Residential Code (IRC) — ICC roofing provisions — codes.iccsafe.org
- U.S. Bureau of Labor Statistics — Roofers (occupational & industry data) — bls.gov
- RoofPredict — roofpredict.com
Related Articles
How to Target Apartment Complexes for Roof Replacement (Without Wasting a Season Chasing the Wrong Properties)
Multifamily roofs are bigger jobs with fewer competitors than residential, but the buyer, the timeline, and the sales motion are completely different. Here is how to find the apartment complexes whose roofs are actually due and get in front of the person who signs.
Which Old Roofing Leads Are Worth Re-Contacting (And Which to Let Die)
Most contractors sit on hundreds of old estimates and lost bids. Here is how to score that list, rank it, and call back only the doors actually worth a second knock.
How to Find HOA Roofing Contracts (and Win Them by Roof Age)
Where HOA roofing work actually comes from, how to find the communities whose roofs are aging out, and how to walk into a board meeting already knowing the answer.