Skip to main content

Is Direct Mail Worth It for Roofing Companies? An Honest Numbers Breakdown

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

Every roofing owner I talk to has a direct mail story, and it is almost always one of two: either "we mailed 10,000 postcards and got three calls, never again," or "a guy down the road mails the same neighborhood four times a year and it's half his business." Both stories are true. The difference between them is not the postcard, the printer, or even the offer. It is who got the mail.

So the honest answer to whether direct mail is worth it for a roofing company is: it depends entirely on whether you can put the right piece in front of a roof that is actually due for work. Mail to a random ZIP code and you are paying to land on brand-new roofs, rentals where the owner lives three states away, and homes that just got replaced by the competitor last spring. Mail to the homes most likely to need a roof in the next 12 to 24 months, and the same budget produces a completely different P&L.

This breakdown walks through the real math — cost per piece, response rates you can actually expect, cost per booked job, and breakeven — then gets into the operational stuff that decides whether you land in the "never again" camp or the "half my business" camp: list quality, design, timing, frequency, tracking, and the mistakes that quietly torch budgets. No invented success stories, no magic response rate. Just the numbers and the workflow.

The short answer, then the math

Direct mail is worth it for a roofing company when three things are true at the same time:

  1. Your list is targeted to roofs likely to need work (by age, by storm exposure, or both) instead of "everyone in the ZIP."
  2. Your average job value and close rate are high enough that a small fraction of a percent response still clears your cost.
  3. You track it well enough to know the answer, so you can cut what loses and double down on what wins.

When any one of those is missing, mail tends to lose money slowly and quietly, which is the worst way to lose money because you don't notice for two seasons.

Let me show you why with roofing's actual unit economics, because roofing is one of the few trades where direct mail math is genuinely forgiving — if you target.

Why roofing is different from a pizza coupon

Most direct mail benchmarks you'll read come from retail, restaurants, and e-commerce, where a "conversion" is worth $20 to $200. The Data & Marketing Association's long-running response-rate work has pegged house-list direct mail response in the low single digits and prospect-list response well under 1% for years. People hear "under 1% response" and assume mail is dead.

For a $30 pizza, a 0.3% response on a 50-cent postcard is a disaster. For a roof, it is often a strong campaign. The reason is the value of a single yes.

Work it through. Say your average residential reroof is worth $14,000 in revenue, and on a clean job your gross margin (before marketing and overhead) is 30%, or $4,200. That single job can fund a lot of postcards. The question is never "what's my response rate" in a vacuum — it's "how many pieces do I have to mail to book one job, and does that cost less than the margin on the job?"

The cost-per-piece reality

Before response rate, you need your true all-in cost per mailed piece, because almost everyone underestimates it. Here's how it stacks up for a standard roofing postcard campaign as of 2026.

Cost component Typical range per piece Notes
Printing (6x9 or 6x11 postcard, 4/4, gloss) $0.05 – $0.14 Drops fast with volume; jumbo sizes cost more
List / data $0.02 – $0.30 Saturation lists are cheap; targeted/filtered lists cost more but waste less
Mail design / setup (amortized) $0.01 – $0.05 One-time design spread over the drop
Postage $0.20 – $0.42 This is usually the biggest line — see below
Mail house handling / addressing $0.02 – $0.06 Skipped if you self-mail, but then it's your time
All-in per piece $0.35 – $0.85 Most targeted roofing campaigns land $0.55 – $0.75

Postage is where people get surprised. The two paths that matter for roofers:

  • USPS Marketing Mail (standard bulk): lower per-piece, but you need a permit or a mail house, minimum quantities (typically 200 pieces), presorting, and it is not guaranteed delivery timing. Best for large saturation or targeted drops.
  • Every Door Direct Mail (EDDM): USPS's route-based product. You buy whole carrier routes, no individual addresses needed, no mailing permit required for the Retail version, and the per-piece postage is set by USPS for EDDM. It is cheap and simple — but it is a saturation tool by design. You mail the entire route, new roofs and all. Check the current EDDM and Marketing Mail rates directly at usps.com because they adjust periodically; don't budget off a number you saw two years ago.

The tradeoff is the whole ballgame. EDDM is the cheapest per piece but the most expensive per qualified roof reached, because you're paying to hit every house on the route whether it needs you or not. A filtered, address-level targeted list costs more per piece but can dramatically lower your cost per job. We'll quantify that.

A worked cost example

Say you mail 10,000 pieces at an all-in $0.60 each. That's a $6,000 drop. With a $4,200 margin per job, you need 1.43 jobs from those 10,000 pieces just to break even on the mail. That's a response-to-booked-job rate of 0.0143% — roughly 1.4 booked jobs per 10,000 pieces.

That is a low bar. The catch is that "booked job" is several steps downstream of "response," and every step leaks. Let's build the funnel honestly.

Run the math with your own numbers, not mine

Before you trust any benchmark in this breakdown, plug in your own figures, because a roofer doing $9,000 average jobs at a 20% net margin lives in a different universe than one doing $22,000 jobs at 35%. Here's the one-line breakeven formula every owner should be able to do in their head:

Pieces you can mail per job = (Margin per job) ÷ (All-in cost per piece)
Breakeven response-to-job rate = 1 ÷ (Pieces you can mail per job)

Work an example at three different shop sizes, all at $0.60 per piece:

Your shop Avg job Margin % Margin $ Pieces you can mail per job Breakeven pieces→job rate
Smaller / repair-heavy $9,000 22% $1,980 3,300 0.030%
Mid residential reroof $14,000 30% $4,200 7,000 0.014%
Premium / full-roof $22,000 35% $7,700 12,833 0.008%

Read that right-hand column carefully, because it reframes the whole "is mail worth it" question. The premium shop only needs to convert about 1 in every 12,800 mailed pieces into a sold job to break even on the mail. The repair-heavy shop needs roughly 1 in 3,300 — more than three times the conversion. Same channel, very different difficulty. If your average job and margin are low, mail can still work, but your targeting has to be tighter and your follow-up sharper because you have far less room. If your average job is high, mail is forgiving enough that even a sloppy campaign can clear — which is exactly why high-ticket roofers sometimes get away with bad mail habits and then give bad advice to everyone else.

The number you should walk away with is your "pieces I can mail per job." Tape it to the wall. Every campaign either beats it or loses money, and there's no opinion involved.

The real funnel: from drop to dollars

Direct mail people love to quote a single "response rate." For roofing you need four numbers, because the gap between a phone ringing and a contract signed is where campaigns live or die.

Pieces mailed
   ↓  Response rate (call / scan / form / "saw your card")
Responses
   ↓  Lead-to-appointment rate (did they let you on the roof?)
Inspections / appointments
   ↓  Appointment-to-sold rate (your sales close rate)
Jobs sold
   ↓  Average job value × margin
Gross profit

Realistic, non-inflated planning ranges I'd use for a residential reroof postcard to a decently targeted list:

Funnel stage Conservative Typical (good targeting) Strong
Response rate 0.3% 0.7% 1.5%+
Response → appointment 25% 40% 55%
Appointment → sold 25% 35% 50%
Net pieces → sold job ~0.02% ~0.10% ~0.41%

Those are planning numbers, not promises — your actual figures depend on list, market, offer, and how fast you call people back. But run them.

At "typical" (0.7% response, 40% set, 35% close): 10,000 pieces → 70 responses → 28 appointments → ~10 jobs sold. At $4,200 margin that's $42,000 gross profit on a $6,000 spend. Roughly a 7:1 gross return before overhead.

At "conservative": 10,000 pieces → 30 responses → 7.5 appointments → ~1.9 jobs. About $7,900 margin on $6,000 — barely positive, easily negative once you load in sales payroll and the fact that some of those "jobs" were repairs, not reroofs.

That conservative column is exactly where the untargeted "never again" stories come from. The mailer wasn't bad. The math was thin and the list was a coin flip, so variance dragged it under the line.

Cost per appointment and cost per job — the numbers to actually watch

Response rate is a vanity metric. The two numbers that run your business are cost per appointment (CPA) and cost per acquisition / per sold job (CAC). Same $6,000 drop:

Scenario Appointments Cost per appointment Jobs Cost per sold job
Conservative 7.5 $800 1.9 ~$3,160
Typical 28 $214 9.8 ~$612
Strong 82 $73 41 ~$146

Compare cost-per-sold-job to other channels honestly. Shared internet leads from a lead marketplace can run $30–$100+ per lead (not per job), and that same homeowner is often sold to several of your competitors at once, so your close rate craters and your real cost per job can balloon past these mail numbers. A well-targeted mail job at $600 all-in, that nobody else is fighting you for, is frequently the cheaper acquisition — and it's yours, not rented from a platform reselling the same name five times.

That's the core case for mail. Not that it's cheap per piece. That a roof you mailed and won is a customer you own.

How direct mail stacks up against the other channels

"Is mail worth it" is really a relative question — worth it compared to what? You have a finite marketing budget and a handful of channels competing for it. Here's an honest, roofer's-eye comparison of where mail sits.

Channel Typical cost basis Exclusivity Speed to first job Best for
Targeted direct mail $0.35–$0.85/piece; ~$150–$800/sold job Yours alone Weeks (slower first touch, compounds) Owning a neighborhood, storm footprints, reactivating your book
Shared internet leads $30–$100+/lead, sold to multiple roofers None — resold to 3–5 competitors Fast Filling slow weeks if you can close fast
Exclusive / pay-per-appointment leads $200–$500+/appointment Usually exclusive Fast Predictable appointment flow at a price
Google / paid search Cost-per-click bid; $50–$200+/lead in roofing Yours, but you compete on bid Days High-intent storm/repair searches
Door knocking Labor + payroll Yours alone Immediate Storm response, tight canvassing
Referrals / past customers Near-zero hard cost Yours alone Variable The cheapest jobs you'll ever get
Yard signs / wraps Low, one-time Ambient Slow / passive Reinforcing the mail and door work

The pattern worth noticing: the channels that produce owned, exclusive work — mail, door knocking, referrals, your past-customer list — are the ones that build a business you control. The channels that are fast and easy — shared leads, marketplaces — hand you a customer who is, that same hour, being pitched by three other roofers. There's nothing wrong with buying a few leads to fill a slow week. But a marketing mix that's only purchased leads means you're renting your entire customer base from a platform that can raise prices, change rules, or sell to a new competitor across town tomorrow.

Mail's weakness is honest to name: it's slower to first job and it demands discipline most shops don't have (targeting, frequency, tracking, fast follow-up). Its strength is that the work is yours, the cost per job is often lower than people assume, and it compounds — a neighborhood you've mailed consistently for two years knows your name, and that familiarity is an asset no lead marketplace can sell you.

The right answer for most growing residential roofers isn't "mail instead of everything else." It's mail as the owned backbone — your own streets and your own customer book worked deliberately — with paid leads and search layered on to fill gaps. Mail is the channel that makes you self-sufficient. The others are tools you rent.

The single biggest lever: the list

If you take one thing from all of this, take this: 80% of your direct mail result is the list, not the postcard. A mediocre postcard to a great list beats a beautiful postcard to a bad list every time. So the real question underneath "is direct mail worth it" is "how good can I make my list?"

Here's the hierarchy of roofing lists, worst to best.

1. Pure saturation (EDDM, whole ZIP, "everyone in this radius")

You mail every door. Simple and cheap per piece. The problem: a typical neighborhood has roofs of every age. If 6–8% of homes are realistically in the replacement window in a given year, you're paying to mail the other 90%+ that aren't. Saturation can still work in a homogeneous subdivision where every roof went on the same year (think a 1998 build-out where everything is hitting end-of-life together) — that's the one case where "everyone" is targeted, because the homes self-select by build year. Outside that, saturation is the lazy option.

2. Demographic / homeowner-filtered

List brokers can filter by owner-occupied vs. rental, length of residence, home value, age of home, and income. This is a real improvement — cutting renters and very new construction alone removes a chunk of waste. "Age of home" is the one people lean on as a roof-age proxy. It's better than nothing, but be honest about its flaw: year built is not roof age. A 1995 house may have been reroofed in 2018 and you'd never know from public data. Census American Community Survey data and county assessor records tell you when the house was built, not when the roof was last replaced. Re-roofs are invisible to that data. You will mail brand-new roofs that happen to sit on old houses, and skip 12-year-old roofs on newer houses that are actually closer to due.

3. Storm-triggered

After a verified hail or high-wind event, you mail the affected footprint. Storm data from NOAA's Storm Prediction Center and the National Weather Service, plus hail-swath products, tells you where a storm passed. This can be powerful because timing is everything in storm restoration — but raw storm maps have the same blind spot in reverse: a hail swath tells you where it hailed, not which specific roofs that hail actually wore out. Two roofs on the same block, same storm: one is 3 years old and shrugged it off, one is 19 years old with brittle granules and a marginal hailstone finished it. The swath treats them identically. You over-mail the new roofs and under-prioritize the old ones that the storm genuinely pushed over the edge.

4. Roof-age + storm modeled, address by address

The best list answers the actual question — which roofs are due — by combining how old each roof likely is with what weather each roof has actually taken. This is where targeting stops being a proxy and starts being the signal. More on how to build it below.

The practical takeaway: every step up this list costs more per piece and wastes less. A saturation list might be $0.02/record; a tightly filtered or modeled list might be $0.10–$0.30/record. People see the higher data cost and flinch. Wrong frame. If a 5-cent-more-expensive record cuts your wasted pieces in half, your cost per job drops, which is the only cost that pays your bills.

A quick worked comparison: saturation vs. targeted

Say your budget is fixed at $6,000.

  • Saturation: $0.50 all-in → 12,000 pieces. But only ~7% are realistically near due, so ~840 "qualified" roofs get mailed, buried among 11,160 that don't care. Effective response on the qualified ones gets diluted; overall response sits low.
  • Targeted (roof-age + storm): $0.70 all-in → 8,571 pieces, but ~60–70% are genuinely in or near the replacement window. You mailed fewer doors and reached more qualified roofs — and the message can be specific because you know why you're knocking.

Fewer pieces, more qualified roofs, higher response and close because the homeowner reading it actually has an aging or storm-worn roof. That's how the same $6,000 lands in the "half my business" camp instead of the "never again" camp.

List hygiene: the boring stuff that quietly eats your budget

Even a great list rots if you don't maintain it, and undelivered mail is 100% wasted spend with zero chance of response. A few hygiene basics that separate pros from amateurs:

  • Run NCOA (National Change of Address). USPS-licensed processing updates addresses for people who've moved and flags the undeliverable. Roughly 1 in 9 Americans moves in a given year; on an un-scrubbed list that's a meaningful chunk of your postage hitting forwarding limbo or the dead-letter pile. Most mail houses run NCOA as standard — confirm yours does.
  • Use CASS-certified addressing. It standardizes and validates addresses so they qualify for automation postage rates and actually deliver. Bad address formatting both costs you cheaper postage and risks non-delivery.
  • Suppress your current customers and active jobs unless the piece is specifically for them. Mailing a "free roof inspection" offer to a homeowner whose roof you replaced last month makes you look like you don't know your own book.
  • Suppress recent responders across drops so you're not annoying the people already in your pipeline with cold-prospecting cards.
  • De-dupe at the household level. Two records for the same address means two cards in one mailbox — wasteful and it reads as spammy.
  • Keep rentals out unless you specifically want them. The mailbox owner isn't the decision-maker on the roof, so owner-occupied filtering matters.

None of this is glamorous, but a list with 12% undeliverables is a campaign that lit 12% of its postage on fire before a single homeowner read a word. Ask your mail house to report your delivery/return rate; if they can't or won't, that tells you something.

Where lists come from

Practically, a roofing mail list is assembled from some combination of:

  • List brokers / data providers — consumer and property databases you filter by the demographic and property attributes above. Cheap, broad, and limited to public/build-date signals.
  • Your own CRM — past customers and old, un-won estimates. This is the most underrated and most profitable list you own, and almost nobody works it hard enough (more below).
  • Property/assessor data — county records for year built, owner-occupancy, last sale. Foundational but, again, year built is not roof age.
  • Storm/weather data — event footprints from NOAA sources to define a storm-response drop area.
  • Roof-condition scoring — aerial-imagery-derived roof age and per-roof storm modeling that ranks actual due-ness rather than proxying off build date.

Most roofers stop at the first one (broker list) and never seriously work the second one (their own CRM), which is backwards — the cheapest, warmest, highest-converting mail you can send goes to people who already know you.

Where RoofPredict fits — turning the list into the right list

This is the part of the workflow we built for. RoofPredict scores the roofs in an area by two things at once: a roof-age range estimated from aerial imagery, and the storms each individual roof has actually taken, modeled per address rather than read off a swath map. The output is a ranked list of the homes most likely to be due — which is exactly the list you want to feed a mail drop, instead of "everyone in the ZIP" or "every house built before 2005."

Why that matters specifically for mail economics:

  • It attacks the year-built blind spot. Because the age estimate comes from the roof in the imagery rather than the house's build date, a re-roofed home reads differently than an original roof on the same-age house. You stop paying postage to land on roofs that were replaced two years ago.
  • It models the storm on each roof, not only where it passed. A hail map shows you where it hailed; pairing storm exposure with roof age points you at the roofs a storm likely wore out — the older, more brittle ones — rather than treating every house under the swath the same.
  • It enriches the list you already own. Mailing your own past-customer and old-estimate list? Scoring it by current roof age and recent storm exposure tells you which of those old contacts are worth a fresh piece now versus which can wait. That's reactivating money already in your book.

Be clear about the honest limits, because this is a trade where overclaiming gets you laughed off the jobsite. Roof age comes back as a range, not a move-in date — it narrows the field, it doesn't replace a ladder. Storm exposure is odds, a prioritization signal, not proof of damage; the inspection still decides. And it is not a lead service — nobody is handing you a homeowner who raised their hand. It sharpens the outbound you already do: which doors to knock, which addresses to mail, which of your old contacts to call. You still have to mail a good piece, answer the phone fast, and close. What it changes is who's on the list — and on a channel where 80% of the result is the list, that's the lever that moves the P&L.

Use it to build the mail list, then run the rest of the playbook below.

The list you already own: mailing your CRM

The single most profitable direct mail you can send isn't to strangers. It's to the people already in your database — past customers, homeowners you gave an estimate to and never won, leads that went cold, neighbors of jobs you completed. They know your name, you have their address for free, and they convert at multiples of a cold list. Yet most roofers' CRMs are graveyards.

Four database mailings that print money relative to their cost:

  1. Old un-won estimates. You quoted a roof 18 months ago and lost on price or timing. A lot of those roofs are now closer to genuinely failing, the homeowner's situation changed, or the competitor's "cheaper" job is already curling. A simple "still thinking about your roof?" follow-up to two or three years of dead estimates is close to free money. Scoring that list by current roof age and recent storm exposure tells you which of those old quotes are worth a stamp now versus which can wait — you're not re-mailing 800 dead leads blindly, you're hitting the 200 whose roofs actually moved closer to due.
  2. Past customers for the second roof / referral. A homeowner you reroofed eight years ago isn't due themselves yet, but they trust you and they have neighbors. A periodic "how's your roof holding up + here's a referral offer" piece keeps you top of mind and turns one job into the street.
  3. "Neighbor of a job" drops. When you finish a roof, mail the surrounding 50–100 homes a card: real local proof, a photo of the actual completed job, "we just replaced a roof on [street]." Proximity plus social proof makes this one of the highest-response cold-ish drops in roofing.
  4. Maintenance / inspection reminders. A light-touch annual "time for your roof checkup" to past customers generates repair work, catches problems early (which builds trust), and keeps the relationship warm for the eventual reroof.

The beauty of CRM mail is the economics flip in your favor: no list cost, higher response, higher trust, higher close. If you're asking whether mail is worth it and you haven't mailed your own database in the last year, you have not actually tested mail — you've skipped the easiest win on the board.

Designing a roofing mail piece that gets a response

List first, always. But once the list is right, the piece still has to earn a response. Roofing direct mail fails in design more from being generic than from being ugly. Here's what consistently matters.

Format and size

  • Postcards beat letters for cold roofing prospecting. No envelope to open, the message lands in the two seconds someone holds it over the recycling bin. Use them for first-touch.
  • Letters (in an envelope) can outperform for warm lists — past customers, an established neighborhood where your yard signs are up, or a follow-up. A real-looking envelope gets opened; a personal-feeling letter converts a warm contact better than a slick postcard.
  • Size matters for cut-through. A 6x11 jumbo postcard costs more in print and postage than a 4x6 but it doesn't get lost in the stack. For a high-value product like a roof, the bigger format usually earns its keep. Test it against your standard size.

The message hierarchy

A homeowner gives your card about two seconds. In that window they need to get: this is about my roof, this person is local and real, and here's the one thing they want me to do. In order of importance:

  1. A specific, relevant hook — not "We do roofs!" Something tied to why this house: the age of the neighborhood, a recent storm date, a visible cue. Specific beats clever.
  2. Local proof — a local phone number, a real company name, a photo of an actual crew or a job in their area, a license number. Roofers fighting storm-chaser reputations win by looking unmistakably local and permanent.
  3. One clear call to action — a free inspection, a roof-age check, a no-pressure estimate. One. Not a free inspection and a financing offer and a referral program crammed on one card.
  4. An easy, trackable response path — a dedicated phone number, a QR code to a simple landing page, a short URL. (Tracking comes up again below; build it into the design from the start.)

What to put on the offer

  • "Free roof inspection" is the workhorse. It's low-friction and honest.
  • "Free roof-age / roof health check" can outperform "inspection" because it sounds less like a sales visit and more like information — and if you can hand the homeowner an actual report on their roof, you stand out hard.
  • Seasonal hooks ("before winter," "after the [month] storm") add urgency without faking a deadline.

Headlines that work vs. headlines that don't

The difference between a card that gets glanced at and one that gets read is usually the headline. Generic, company-centered headlines lose. Specific, homeowner-centered, "why this house" headlines win. Some patterns:

Weak (company-centered, vague) Stronger (homeowner-centered, specific)
"ABC Roofing — Quality Roofs Since 1998" "Roofs in [neighborhood] are reaching the age they typically need replacing."
"We Do Roofing!" "Is your roof one of the older ones on [street]? Find out free."
"Call Us For All Your Roofing Needs" "[Month]'s storm came through your area. We'll inspect and document your roof at no charge."
"Best Prices In Town" "We just replaced a roof two doors down. Want yours looked at while we're in the area?"

The right-hand versions all do the same thing: they answer the homeowner's instant question — why are you mailing me? — with a real, specific reason tied to their roof or their street. That reason is exactly what good targeting data gives you. If your list is "everyone in the ZIP," you can't write the strong headline because you don't actually know why this house. If your list is roofs that are genuinely older or storm-exposed, the headline writes itself.

Keep the body short. A roofing postcard is not a brochure. Headline, one or two proof points, one offer, one clear way to respond, license number, done. White space beats clutter.

Storm and insurance language: stay on the right side of the line

This matters legally, and it's where a lot of roofers create real exposure on a postcard without realizing it. You absolutely can mail in a storm-affected area and offer to inspect and document roof damage. What you cannot do — in most states this crosses into unlicensed public adjusting and/or deceptive advertising — is use your mail piece to:

  • Promise or imply you'll "handle," "negotiate," or "maximize" the insurance claim for the homeowner.
  • Interpret their coverage or tell them what their policy "should" pay.
  • Promise a specific approval or payout.
  • Advertise a "free roof" or that you'll waive, absorb, eat, or cover the deductible — deductible-rebating is illegal in many states and the FTC and state regulators treat "free roof" claims as deceptive.
  • Represent the homeowner against their insurer.

The safe and still-powerful frame on a postcard: "Storm came through? We'll inspect your roof, document any damage thoroughly, and give you an accurate, written repair estimate you can bring to your insurer." You document and you estimate; the homeowner files and the insurer decides coverage. That's a legitimate, valuable offer that keeps you clear of unlicensed-adjusting rules. Check your own state's public-adjuster statute and deductible laws (your state Department of Insurance — TDI in Texas, and equivalents elsewhere — publishes them) before any storm/claims piece goes to print. A compliant card that documents and estimates beats a flashy "FREE ROOF — WE HANDLE EVERYTHING" card that gets you a regulator's letter.

Timing and frequency: the two most underrated variables

A good piece to a good list still underperforms if it lands at the wrong time or only once.

Timing

  • Seasonality. Roofing demand and homeowner attention swing hard by season and region. Spring and early summer (post-winter damage, pre-storm-season prep) and fall ("before winter") are generally strong windows. Mail to arrive ahead of the buying impulse, not during the peak when every competitor's card is in the same stack.
  • Storm timing. In restoration, speed is real but so is patience — the homeowners who don't act in the first frantic week are still there in week four when the out-of-town crews have moved on. A second, later drop to a storm footprint catches the procrastinators with far less competition.
  • Lead time. Marketing Mail and EDDM are not overnight. Build in delivery time, especially for storm response. Plan the drop the day the storm hits, not the day you decide to react.

Frequency — the one most roofers get wrong

The number-one direct mail mistake in roofing is mailing a neighborhood once, getting a mediocre response, and quitting. Repetition is how mail compounds. The homeowner who tosses card #1 isn't in the market yet. Card #3, four months later, lands the week their neighbor's roof gets torn off and suddenly they're paying attention.

A realistic frequency plan for a target neighborhood you believe in: 3 to 6 touches a year, spaced 6–10 weeks apart, same area, consistent branding so you become the familiar name. The first drop is rarely the winner. Budget for the sequence or don't start — a single drop is the most expensive way to mail because it pays full freight for none of the compounding.

This is also why the "we tried mail once and it didn't work" verdict is nearly meaningless. One drop tests almost nothing. You're testing a list, a piece, an offer, a season, and getting zero benefit of repetition, all in a single sample with huge variance. You haven't tested direct mail; you've bought one lottery ticket and concluded the lottery is rigged.

Tracking: if you can't measure it, you can't say if it's worth it

Half the roofers who tell me mail doesn't work cannot actually tell me what their mail did, because they never tracked it. Then the question "is it worth it" is unanswerable by definition. Set up tracking before the first drop.

Minimum viable tracking

  • A dedicated, trackable phone number on the mail piece (a call-tracking line), separate from your main line. Now every call you can attribute to mail is unambiguous.
  • A unique QR code / short URL to a simple landing page, so digital responders are captured too. A surprising share of "saw your postcard" people Google you instead of calling — without a landing path you'll miscredit those to "web."
  • Ask every single inbound: "How'd you hear about us?" and log it in your CRM. Imperfect, but it catches the people who saw the card and called your main number anyway.
  • A campaign code on the piece ("mention code ROOF-0624") for a small extra discount or priority scheduling, which both incentivizes mention and tags the source.

The numbers to log per campaign

Metric How to get it What it tells you
Pieces mailed Mail house invoice Denominator for everything
Total cost All-in (print + data + postage + design) The real spend
Responses Tracking number + QR + "how'd you hear" Top-of-funnel pull
Appointments set CRM Whether the offer + list match
Jobs sold CRM The number that matters
Revenue & margin Job costing Whether it cleared
Cost per appointment Cost ÷ appointments Channel efficiency
Cost per sold job Cost ÷ jobs Compare across all channels
Return on ad spend Gross profit ÷ cost The verdict

Log this per drop, per list, per design. After three or four campaigns you'll see patterns — this subdivision pulls, that one doesn't; the jumbo card beats the standard; storm-footprint drops crush evergreen drops in your market or vice versa. That's when mail stops being a gamble and becomes a dial you turn.

A 30-day plan to test direct mail without lighting money on fire

If you've never run mail properly, here's a contained way to get a real answer instead of a one-drop coin flip.

  1. Pick one tight, high-confidence target area. A neighborhood you already believe is due — older roofs, recent storm, homes you've sold near before. Small enough to mail repeatedly. Don't spray a whole city.
  2. Build the best list you can for it. Filter out renters and obvious new construction at minimum; better, score the roofs by age and storm exposure so you're mailing the homes actually near due, rather than the ones that merely sit on old-built lots.
  3. Set a real budget for a sequence, not a single drop. Plan 3 touches over ~5 months to the same list. If you can only afford one drop, mail a smaller area three times rather than a big area once.
  4. Design one strong, specific, trackable piece. One hook, one CTA, dedicated number + QR, local proof, license number. If it's a storm piece, keep the claims language compliant — document and estimate, never "handle the claim" or "free roof."
  5. Stand up tracking before the drop. Call-tracking number live, landing page up, CRM field for source, "how'd you hear" scripted for whoever answers the phone.
  6. Drop, then answer the phone like your business depends on it. Speed-to-response wrecks more roofing mail ROI than any other single thing — a card that works and a voicemail that doesn't is money set on fire. Same-ring or fast callback.
  7. Run the full sequence before judging. Do not quit after touch one. Tally responses, appointments, and jobs after the third drop.
  8. Calculate cost per sold job and ROAS. Compare to your other channels honestly. Then scale the winners, kill the losers, and tighten the list.

Run that and you'll have a real, defensible answer to whether mail is worth it for your company, in your market — which is the only answer that counts.

Common mistakes that make roofers wrongly conclude "mail doesn't work"

  • Mailing once and quitting. The cardinal sin. One drop tests nothing and forfeits all compounding.
  • Saturating a ZIP with no targeting. Paying postage to land on new roofs and rentals, then blaming the postcard.
  • Using year-built as roof age. Re-roofed homes are invisible to public build-date data; you mail brand-new roofs and skip due ones.
  • No tracking. Can't tell mail responders from word-of-mouth, so the campaign is unmeasurable and every verdict is a guess.
  • Slow phone response. Generating responses you never convert because nobody answered fast.
  • A cluttered piece with five offers. One hook, one CTA. Confusion kills response.
  • Non-compliant storm/claims language. "Free roof," "we'll waive your deductible," "we handle your claim" — legal exposure and a credibility hit, not a smart offer.
  • Judging on response rate instead of cost per job. A 0.4% response can be a great campaign in roofing; a 1.2% response to a bad list that doesn't close can lose money. Watch cost per sold job.
  • No frequency, no consistency. Different design and different area every time, so you never build neighborhood familiarity or learn what works.

So — is it worth it?

For a roofing company that targets the right roofs, mails a sequence, tracks honestly, and answers the phone, direct mail is one of the few channels where you acquire a customer you actually own — not a shared internet lead resold to five competitors, not a homeowner you have to out-shout three other trucks for after a storm. The unit economics are forgiving precisely because one reroof is worth thousands, so even a fraction-of-a-percent response can return multiples on the spend.

For a roofing company that buys a saturation list, mails once, doesn't track, and lets calls hit voicemail, direct mail is a reliable way to lose money slowly and then tell everyone mail is dead.

Same channel. The variable is execution, and the heaviest part of execution by far is the list. Get the list right — the actual roofs that are due, by age and by the storms they've taken, address by address — and the rest of the playbook is just discipline. That's the difference between the two stories every owner has heard, and it's entirely within your control.

FAQ

What response rate should a roofing company expect from direct mail?

Plan for 0.3% to 1.5%+ depending heavily on list quality, with well-targeted roofing campaigns often landing around 0.5% to 1%. But response rate alone is misleading in roofing. Because one reroof is worth thousands, a 0.4% response can be highly profitable while a 1.2% response to a list that doesn't close can lose money. Track cost per sold job, not response rate alone.

How much does direct mail cost per piece for a roofing campaign?

All-in (printing, list/data, design, postage, and mail-house handling) typically runs $0.35 to $0.85 per piece, with most targeted roofing postcard campaigns landing around $0.55 to $0.75. Postage is usually the largest single line. EDDM is the cheapest per piece but mails every door on a route; address-level targeted lists cost more per piece but usually lower your cost per actual job.

Is EDDM or a targeted mailing list better for roofers?

EDDM (Every Door Direct Mail) is cheaper and simpler per piece but it's a saturation tool — you mail the entire carrier route, including brand-new roofs and rentals. A targeted, address-level list costs more per piece but reaches far more roofs that are actually near due, which usually produces a lower cost per sold job. The exception is a uniform subdivision where every roof went on the same year; there, saturation is effectively targeted.

Why is the mailing list more important than the postcard design?

Roughly 80% of a direct mail campaign's result comes from who receives it, not how the piece looks. A plain postcard to a list of genuinely due roofs beats a beautiful postcard mailed to random homes. The list determines whether you're paying postage to reach roofs that need work or roofs that were replaced last year, so list quality is the single biggest lever on mail ROI.

Can I use the home's year built to find old roofs to mail?

Only loosely. Year built (from county assessor or Census data) tells you when the house was built, not when the roof was last replaced. Re-roofs are invisible to that data, so you'll mail brand-new roofs sitting on old houses and skip 12-year-old roofs on newer houses. Estimating roof age from current aerial imagery, ideally paired with storm exposure, targets the roofs that are actually due rather than just the oldest-built lots.

How many times should I mail the same neighborhood?

Mailing once is the most common and most expensive mistake because it forfeits all the compounding of repetition. Plan 3 to 6 touches per year to a target neighborhood, spaced about 6 to 10 weeks apart, with consistent branding. The homeowner who tosses your first card may act on the third when their own roof starts leaking or a neighbor's gets replaced.

What can and can't I say about insurance on a roofing mailer?

You can offer to inspect, document damage, and provide an accurate written repair estimate the homeowner brings to their insurer. You cannot legally promise to handle, negotiate, or maximize the claim, interpret their coverage, promise a specific approval or payout, advertise a 'free roof,' or offer to waive or absorb the deductible — those cross into unlicensed public adjusting and deceptive advertising in many states. Document and estimate; the homeowner files and the insurer decides. Check your state Department of Insurance rules before printing any storm piece.

How do I track whether direct mail is actually working?

Before the first drop, set up a dedicated call-tracking phone number, a unique QR code or short URL to a landing page, and a CRM field for source, and script 'how did you hear about us?' for whoever answers the phone. Log pieces mailed, total cost, responses, appointments, jobs sold, revenue, cost per appointment, and cost per sold job per campaign. Without tracking, the question of whether mail is worth it is literally unanswerable.

How does direct mail compare to buying roofing leads online?

Shared internet leads often cost $30 to $100+ each and are sold to several competitors at once, which drives down your close rate and inflates your true cost per job. A well-targeted mail job that nobody else is fighting you for is frequently a cheaper acquisition and, importantly, a customer you own rather than one rented from a platform reselling the same name. The catch is that mail requires good targeting and disciplined follow-up to get there.

How does RoofPredict help with direct mail targeting?

RoofPredict scores the roofs in an area by an estimated roof-age range (from aerial imagery) and by the storms each individual roof has actually taken, modeled per address rather than read off a swath map, then ranks the homes most likely to be due. That ranked list is what you feed your mail drop instead of 'everyone in the ZIP' or 'every house built before 2005,' and it can also score your own past-customer list to flag who's worth a fresh piece now. It's not a lead service and roof age is a range, not an exact date — it sharpens the targeting of the outbound you already do.

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 Every Door Direct Mail (EDDM)usps.com
  2. USPS Business Mail Prices and Postageusps.com
  3. USPS Marketing Mailusps.com
  4. U.S. Census Bureau American Community Survey (Year Structure Built)census.gov
  5. NOAA Storm Prediction Centerspc.noaa.gov
  6. National Weather Serviceweather.gov
  7. NOAA National Centers for Environmental Information - Storm Events Databasencdc.noaa.gov
  8. Insurance Institute for Business & Home Safety (IBHS) - Hail and Roofingibhs.org
  9. Federal Trade Commission - Truth in Advertisingftc.gov
  10. Texas Department of Insurance - Public Insurance Adjusterstdi.texas.gov
  11. National Roofing Contractors Association (NRCA)nrca.net
  12. U.S. Bureau of Labor Statistics - Roofers Occupational Outlookbls.gov
  13. USPS Postal Explorer - Mailing Standardspe.usps.com
  14. RoofPredictroofpredict.com

Related Articles