Skip to main content

Direct Mail Benchmarks for Roofing Companies: Response Rates, Costs, and ROI That Actually Hold Up

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

Most roofing companies that try direct mail quit after one drop, and almost always for the same reason: they had no idea what a normal result looked like, so when 8,000 postcards produced four phone calls, they assumed the channel was dead. It wasn't dead. Four calls on a cold saturation drop to the wrong neighborhoods is roughly what the math predicts. The problem was never the mailbox. It was that nobody set a benchmark before the truck left the printer, so there was no way to tell a bad list from a bad offer from a perfectly ordinary first attempt.

Direct mail is one of the few acquisition channels in roofing where the inputs are knowable, the costs are fixed before you spend a dollar, and the results can be measured to the address. That makes it benchmarkable in a way that, say, door-knocking productivity or referral velocity never quite are. But the benchmarks floating around the internet are mostly cross-industry averages pulled from reports that lump roofers in with banks, dentists, and furniture stores. A 4.4% average response rate means nothing to you if you don't know whether your campaign should be above or below it, and why.

What follows is the set of numbers that actually matter for a roofing operation, the ranges you should expect at each stage of the funnel, the worked math to turn a response rate into a cost per signed job, and the operational details that separate a mailing that pays for itself from one that quietly drains your marketing budget. We'll keep every claim grounded in either published data or arithmetic you can verify yourself, because the fastest way to lose money in this channel is to believe a vendor's hero stat without checking whether it applies to a 6,000-piece roofing drop in your county.

The Only Four Metrics That Matter (and the Trap of the Fifth)

Roofers drown in vanity numbers. Impressions, reach, "touches," brand lift. None of it pays a crew. For direct mail there are exactly four metrics that decide whether you keep mailing, and one seductive metric you should treat with suspicion.

1. Response rate. The percentage of recipients who take the action you asked for, usually a call, a text, a QR scan, or a form fill. This is the number every benchmark report quotes, and it's the most misunderstood, because "response" gets defined differently by every vendor. A scan is not an appointment. A call is not a sale.

2. Cost per response (or cost per lead). Total campaign cost divided by the number of responses. This is where most roofers should actually anchor, because it normalizes for response rate, piece cost, and list size all at once.

3. Cost per appointment. Total cost divided by the number of qualified inspections you actually got on the calendar. Responses that never convert to a roof on a ladder are noise.

4. Cost per acquisition (cost per signed job). Total cost divided by closed contracts. This is the only number your bank account feels.

The seductive fifth metric is return on ad spend (ROAS) expressed as a single multiple, like "7x." It's seductive because it sounds like a verdict. It's dangerous because a roofing job's revenue is huge relative to its piece cost, so even a mediocre campaign can post a flashy ROAS while losing you money on a fully-loaded basis once you subtract material, labor, commission, and overhead. Always run ROAS on gross profit, never on revenue. A 7x return on revenue at a 30% gross margin is really a 2.1x return on the dollars you can actually keep, and once you take out sales commission and the cost of the appointments that didn't close, it can quietly slip under break-even.

The rest of this piece walks each metric from top to bottom, with the ranges you should hold yourself to.

Direct Mail Response Rate Benchmarks: What the Data Actually Says

The headline figure cited across the industry comes from the Association of National Advertisers (which absorbed the old Data & Marketing Association), and it puts average direct mail response somewhere in the low-to-mid single digits across all industries, far above email. Recent ANA/DMA reporting has shown overall direct mail response in the neighborhood of 4 to 5 percent, versus a fraction of a percent for email. That's a real, repeatedly-measured gap, and it's the reason the channel refuses to die.

But that 4-to-5 percent blended figure hides the single most important fact in this entire topic: response rate depends overwhelmingly on whether you mail to people who already know you (a house list) or to strangers (a prospect list).

List type Typical response range What it means for roofers
House list (past customers, prior estimates, warranty base) 5% to 9% Your repair customers, people you bid and lost, expired-warranty homeowners
Targeted prospect list (filtered by data) 1% to 4% Cold homeowners selected by age, ownership, roof signals
Saturation / EDDM (every door, no filter) 0.5% to 2% Carrier-route blasts with no targeting

Those ranges are consistent with published cross-industry benchmarks, and they map cleanly onto roofing reality. The mistake nearly every contractor makes is to run a saturation EDDM blast, see a 0.7% response, and conclude "direct mail gets under 1%." No. You ran the lowest-response variant of the channel and then judged the whole channel by it.

Why roofing sits where it sits

Roofing has two structural features that pull its numbers around. First, the purchase is infrequent and expensive, so at any given moment only a small slice of any neighborhood is in-market. A roof lasts a long time. Asphalt shingle roofs, the dominant residential material, run roughly 15 to 30 years depending on product, ventilation, and climate, with around 20 years as a common planning figure. That means in a random street of 100 homes, maybe three to six are realistically due in a given year. If your list is random, your ceiling is low no matter how good the postcard is, because you're paying to reach 94 mailboxes that have no reason to care.

Second, roofing has a storm overlay. After a verified hail or wind event, the in-market share of a neighborhood can spike for a season because damage compresses years of aging into a single afternoon. That's why storm-response mail outperforms steady-state mail so dramatically, and why timing beats creative almost every time.

The practical takeaway: your response rate is mostly determined before you write a single word of copy. It's set by who's on the list. Chasing a better headline when your list is a random carrier route is polishing the wrong thing.

Cost Benchmarks: What a Roofing Mail Piece Actually Costs

Response rate is meaningless without cost, because a 2% response on a $1.50 piece can lose money while a 1% response on a $0.45 piece prints. Here's the all-in cost stack, built from the parts you actually pay for.

Postage

Postage is the floor, and it's the one number you can look up rather than guess. For saturation mail, USPS Every Door Direct Mail (EDDM) Retail postage sits around $0.24 to $0.25 per piece, with rate changes nudging it toward roughly $0.26 in mid-2026. EDDM has real constraints: a daily cap of 5,000 pieces per ZIP code under the retail program, carrier-route granularity (you mail whole routes, not chosen addresses), and a flat per-piece rate regardless of piece size as long as it meets EDDM dimensions. Nonprofit EDDM is cheaper but irrelevant to a for-profit roofer.

For targeted mail to a specific address list, you're in USPS Marketing Mail or First-Class territory. Marketing Mail letters and postcards run materially higher than EDDM per piece once you account for automation and presort, and First-Class postcards higher still, but you gain the ability to mail exactly the addresses you choose and to get forwarding and return service. The tradeoff is the whole game: EDDM is cheap postage on an untargeted list; address-level mail is pricier postage on a list you control.

Printing and design

A standard 4x6 postcard prints for pennies at volume; an oversized 6x9 or 6x11 card costs more but commands the mailbox. Design is usually a one-time or amortized cost. As a planning rule, blended print-plus-design for a quality oversized roofing postcard lands somewhere in the $0.10 to $0.40 per-piece range depending on volume, stock, and finish, on top of postage.

Data and list

A saturation EDDM run has effectively zero list cost. A targeted list costs money per record, and a list enriched with property and roof-age signals costs more, because the targeting is the value. This is the line item roofers most often try to zero out, and it's exactly the wrong place to economize, for reasons the math below makes brutally clear.

The all-in per-piece ranges to plan against

Campaign type Realistic all-in cost per piece Notes
EDDM saturation, simple 4x6 $0.35 to $0.55 Cheapest to send, lowest response
EDDM saturation, oversized card $0.45 to $0.75 Better mailbox presence, still untargeted
Targeted address list, oversized card $0.70 to $1.25 List + higher postage, far better response
Targeted + roof-age/storm enrichment, oversized card $0.90 to $1.50+ Highest cost per piece, lowest cost per appointment

Notice the inversion that traps so many contractors: the cheapest mail per piece is usually the most expensive mail per appointment. We'll prove that next.

Worked Example: Turning Benchmarks Into a Cost Per Signed Job

Numbers in a table don't convince anyone. Let's run three realistic 6,000-piece roofing campaigns end to end and watch where the money actually goes. We'll use a consistent funnel so the comparison is fair:

  • Response rate (the call/scan/form)
  • Appointment rate: share of responses that become a real inspection on the calendar. Assume 50% across all three, since once someone calls, your booking process is the same.
  • Close rate: share of inspections that sign. Assume 30% across all three, again holding sales skill constant.
  • Average job gross profit: $4,000 (a roughly $14,000 job at a ~30% gross margin; adjust to your own numbers).

Campaign A: EDDM saturation blast

  • 6,000 pieces at $0.45 all-in = $2,700 spend
  • Response rate 0.8% = 48 responses
  • Appointments at 50% = 24 inspections
  • Closes at 30% = 7.2 jobs, call it 7
  • Gross profit: 7 x $4,000 = $28,000

Metrics:

  • Cost per response: $2,700 / 48 = $56
  • Cost per appointment: $2,700 / 24 = $113
  • Cost per signed job: $2,700 / 7 = $386
  • Return on spend (gross profit basis): $28,000 / $2,700 = 10.4x

That looks fantastic. Hold that thought.

Campaign B: Targeted address list, oversized card

  • 6,000 pieces at $1.00 all-in = $6,000 spend
  • Response rate 2.5% = 150 responses
  • Appointments at 50% = 75 inspections
  • Closes at 30% = 22.5 jobs, call it 22
  • Gross profit: 22 x $4,000 = $88,000

Metrics:

  • Cost per response: $6,000 / 150 = $40
  • Cost per appointment: $6,000 / 75 = $80
  • Cost per signed job: $6,000 / 22 = $273
  • Return on spend (gross profit basis): $88,000 / $6,000 = 14.7x

Campaign C: Targeted plus roof-age and storm enrichment

  • 6,000 pieces at $1.30 all-in = $7,800 spend
  • Response rate 4.0% = 240 responses
  • Appointments at 50% = 120 inspections
  • Closes at 30% = 36 jobs
  • Gross profit: 36 x $4,000 = $144,000

Metrics:

  • Cost per response: $7,800 / 240 = $33
  • Cost per appointment: $7,800 / 120 = $65
  • Cost per signed job: $7,800 / 36 = $217
  • Return on spend (gross profit basis): $144,000 / $7,800 = 18.5x

What just happened

The "expensive" campaign per piece was the cheapest campaign per signed job and produced five times the gross profit of the "cheap" one. Per-piece cost went up 2.9x from A to C, but cost per signed job dropped 44%, from $386 to $217, and total profit went from $28,000 to $144,000.

This is the central lesson of roofing direct mail benchmarks, and it's the thing every "how much does a postcard cost" article gets backwards. You don't optimize cost per piece. You optimize cost per appointment, and the lever that moves it most is list quality, not postage. The reason is simple arithmetic: postage and print are linear in piece count, but response rate multiplies the entire output of the funnel. A list that doubles your response rate effectively halves every downstream cost.

A caution so you don't mistake illustration for promise: those response rates (0.8%, 2.5%, 4.0%) are plausible mid-range values, not guarantees. Your close rate and job profit are yours to know. The point of the model isn't the specific outputs, it's the shape: better targeting compounds, and it compounds hardest at the bottom of the funnel where the dollars are biggest.

The Break-Even Benchmark Every Roofer Should Memorize

Forget industry averages for a second. The only response rate that matters is your break-even response rate, and you can compute it in about ninety seconds. Here's the formula:

Break-even responses = Total campaign cost / (Appointment rate x Close rate x Job gross profit)

Then: Break-even response rate = Break-even responses / Pieces mailed

Work it with Campaign B's structure. Cost $6,000. Appointment rate 50%, close rate 30%, job gross profit $4,000. The value of a single response is 0.50 x 0.30 x $4,000 = $600. To break even you need $6,000 / $600 = 10 responses. On 6,000 pieces, that's a break-even response rate of 10 / 6,000 = 0.17%.

Let that sink in. At those economics you only need about one response per 600 mailboxes to not lose money. The benchmark you should fear isn't "4.4% average" from a national report. It's your own break-even line, and for most roofing operations it's shockingly low because the gross profit per job is so large relative to a mail piece. The implication is liberating: you don't need a home-run campaign. You need a list good enough to clear a fraction of a percent, and almost any non-random list can.

Build this into a one-page calculator before you ever approve a mailing. Plug in your real appointment rate, real close rate, and real job profit. Print the break-even response rate at the top of the campaign brief. Then judge every drop against that number instead of against a stranger's benchmark.

Mailing the Right Roofs: Where Targeting Data Earns Its Keep

Everything above points to one conclusion: list quality is the dominant variable, and "list quality" in roofing means mailing roofs that are actually closer to due. The cheap way to filter is by data anyone can buy: homeowner (not renter), length of residence, home value band, year built. Those help, and you should use them. Year built is a crude proxy for roof age, but it's badly noisy, because the roof on a 1998 house may have been replaced in 2012 after a storm, or never touched and well past its life. Year built tells you the house's age, not the roof's age.

This is exactly the gap where roof-specific targeting data changes the cost-per-appointment math. RoofPredict reads aerial and satellite imagery to estimate a roof-age range per address, house by house, and layers in storm physics modeled per roof, so wind and hail exposure is scored for that specific structure rather than smeared across a whole ZIP code. Instead of mailing a carrier route and hoping, you rank the actual addresses by how likely the roof is worn out, from age plus what the weather did to it, and you mail the top of that list first. It's the difference between Campaign A and Campaign C in the model above, and the model shows what that difference is worth.

Two honest limits, because anyone who tells you otherwise is selling. First, an age estimate from imagery is a range, not a birth certificate. It narrows the field hard, it does not certify that a given roof is exactly 19 years old. Second, a storm model is odds, not proof. It tells you which roofs were most likely stressed by a given event so you know where to look first; it does not prove damage exists or that any particular roof will qualify for anything. The value is in the ranking and the routing, getting your inspectors and your mail in front of the roofs most likely to be due, so the people you knock and the people you mail are the people most likely to say yes. You still have to climb the ladder and document what's actually there.

Used this way, the data isn't a magic lead source. It's a list-enrichment layer that raises the numerator (responses, appointments) faster than it raises the denominator (cost), which is the only thing that moves cost per appointment in the right direction. You can feed your own house list and your own mailing list through it, keep your CRM, and just mail smarter.

Format Benchmarks: Postcard vs. Letter vs. Oversized

Format is the second-biggest lever after the list, and the data is fairly consistent. Across published benchmarks, oversized formats outperform standard postcards, and postcards generally outperform plain letter-sized envelopes for cold prospecting, largely because a postcard delivers the offer with zero friction (no envelope to open) while an oversized piece dominates the day's mail stack physically.

For roofing specifically, here's how the common formats stack up in practice:

Format Relative response Relative cost Best use
4x6 postcard Baseline Lowest High-volume saturation, brand reminder
6x9 / 6x11 oversized postcard Higher than 4x6 Moderate Cold prospecting, the workhorse for roofing
Letter in #10 envelope Mixed; can lag postcards cold Moderate-high Warm house-list follow-up, claims-documentation offers
Dimensional / lumpy mail Highest per piece, smallest volume Highest Tiny high-value target lists, commercial roofs

The oversized postcard is the default workhorse for residential roofing prospecting for a reason: it gets the most response per dollar across most lists. Reserve letters for warmer audiences where a longer, more personal message earns its keep, like a homeowner you already inspected, or a documentation-and-estimate offer where you genuinely need room to explain the process.

A cheap and underused multiplier: USPS Informed Delivery. It emails tens of millions of subscribers a grayscale preview of the day's mail each morning, and those daily-digest emails post open rates far above normal marketing email. For automation-eligible mail carrying a valid Intelligent Mail Barcode, you can attach a color image and a clickable link to your piece's preview at no extra postage. That turns one postcard into a physical piece plus a digital touch the same morning, sometimes before the card physically lands. It costs essentially nothing to add and lifts response on mail you were already sending. If your mail house isn't setting it up for you, ask why.

Offer and Creative Benchmarks (and the Compliance Line You Cannot Cross)

List sets the ceiling; offer determines how much of that ceiling you capture. The benchmarks here are about clarity and specificity, not cleverness.

What lifts roofing response, consistently:

  • A specific, plausible reason to act now tied to something real (a recent verified storm in their area, the age band of homes on their street, a seasonal inspection window) beats a generic "call us for a free estimate."
  • One offer, one action. A free inspection or a free roof-age report, not a menu. Confused recipients don't respond.
  • A response path that matches the recipient. Phone for older demographics, QR plus text for younger. Put both on the card; track which fires.
  • Local proof. A neighborhood name, a recognizable cross-street, a real local phone number. Specificity reads as legitimacy.
  • A deadline or scarcity that's actually true. "We're working your area through July" is fine if it's true. Fake countdowns erode trust fast.

Now the part that gets roofers fined or sued, and where you must hold the line no matter how well it might "convert." If your mail touches insurance, storms, or claims, you are walking a regulated path. A roofer may inspect a roof, document damage thoroughly with photos, and prepare an accurate, Xactimate-aligned estimate to repair their own scope of work, and state facts about that scope to a carrier. That's legitimate, and it's a strong, honest offer to put on a card: thorough documentation and a real estimate the homeowner can use.

What you may not put on a mail piece, because for a fee it crosses into unlicensed public adjusting in most states, and because it's simply false:

  • Do not say or imply you will "handle," "manage," "fight," or "negotiate" the insurance claim for the homeowner.
  • Do not interpret their policy or promise what is or isn't covered.
  • Do not promise a specific payout, an approval, or that the claim "will" be approved.
  • Do not promise the deductible will be waived, absorbed, eaten, or made to disappear. That's both an adjusting/illegal-inducement problem and, depending on the state, insurance fraud.
  • Do not advertise a "free roof" or "no out-of-pocket roof."
  • Do not represent the homeowner against their insurer.

The compliant frame, and the one to actually print: you document the roof thoroughly, write an accurate repair estimate, and hand it to the homeowner; the homeowner files the claim and the insurer decides coverage. You capture the same in-market intent ("my roof might be storm-damaged and I don't know what to do") and you answer it on the documentation-and-estimate side, which is exactly the side you're licensed and qualified to be on. Teaching this do-not-say list to your sales team isn't just legal hygiene; the compliant offer also tends to read as more credible to homeowners who've grown wary of "free roof" pitches.

Timing and Seasonality Benchmarks

Timing moves response more than copy does, and roofing has two clocks.

The seasonal clock. Buying interest tracks weather and daylight. Late winter into spring is when homeowners start noticing winter damage and planning, and demand builds through summer. Deep winter is slow for installs in cold climates but can be a smart, low-competition window to mail for spring booking. The benchmark instinct to fight: don't only mail at peak. At peak, every roofer in the county is in the mailbox and on the doorstep, so your response per dollar can actually fall even as raw demand rises, because share-of-voice collapses. Mailing the shoulder seasons often produces a better cost per appointment because you own the mailbox.

The storm clock. This one overrides everything. After a verified hail or wind event, the in-market share of affected neighborhoods jumps, and the window is short, because national and out-of-town crews flood in within days. Speed-to-mailbox after a storm is one of the highest-leverage moves in the channel. This is where modeled, per-roof storm exposure earns its cost twice over: it tells you which streets inside a broad warning polygon actually took the worst of it, so you mail the genuinely-affected blocks first instead of the whole county. You compress your spend onto the addresses with the highest odds of being due, while the window is open.

A practical cadence benchmark for steady-state (non-storm) prospecting: a single drop underperforms a sequence. Plan on three touches over six to nine weeks to the same targeted list, varying the offer or angle each time, because a meaningful share of responses come on the second and third impression, not the first. A one-and-done mailing is the single most common reason roofers conclude "mail doesn't work." They quit at touch one, right before the channel pays.

Tracking Benchmarks: If You Can't Attribute It, You Can't Manage It

A campaign you can't measure is a donation. Roofers routinely waste the entire benchmarking opportunity by mailing without tracking, then arguing about whether it worked. Build tracking in before the drop.

Minimum viable tracking stack:

  1. A unique inbound path per campaign. A dedicated tracking phone number (call-tracking line) that forwards to your normal line, plus a unique QR code and a campaign-specific landing URL. Now every response is attributable.
  2. A field in your CRM for source = this mailing. Every lead, appointment, and signed job tagged to the drop. Without this, your close-rate and cost-per-job numbers are guesses.
  3. A holdout or staggered control when you can. If you mail a large enough list, hold back a random slice and compare booked jobs from mailed vs. unmailed addresses over the same period. This separates mail-driven jobs from jobs you'd have gotten anyway, which is the difference between real ROI and self-congratulation.
  4. Match-back on signed contracts. Periodically match your signed-contract addresses against the addresses you mailed. Some customers won't mention the postcard but mailed-address overlap reveals influence the phone log misses.

The benchmark dashboard for every drop, filled in within 60 to 90 days:

Metric Where it comes from Your target
Pieces mailed Mail house receipt n/a
Total spend (all-in) Print + postage + list + tracking n/a
Responses Tracking number + QR + form Beat break-even rate
Cost per response Spend / responses Trend down drop over drop
Appointments CRM n/a
Cost per appointment Spend / appointments Your primary KPI
Signed jobs CRM, match-back n/a
Cost per signed job Spend / signed jobs Below gross profit by a wide margin
ROAS on gross profit (Jobs x job GP) / spend > break-even with margin

The discipline that separates operators from gamblers: you let the cost-per-appointment number, not your gut, decide whether the next drop goes to the same list, a better list, or a different format. Two or three measured drops give you a baseline. From there you're optimizing against your own history, which is the only benchmark that's truly yours.

The attribution honesty check most roofers skip

There's a subtle trap in attribution that inflates every roofer's reported ROI: counting jobs you would have won anyway. If a past customer's neighbor was already going to call you because of word of mouth, and they happened to also get your postcard, your tracking number logs it as a mail win. It wasn't, fully. This is why the holdout group matters so much, and why serious operators run one whenever list size allows.

Here's the mechanics. Before the drop, randomly split your targeted list into a mail group (say 90%) and a holdout (10%) that gets nothing. Over the next 90 days, count signed jobs from addresses in each group, then normalize per thousand addresses. If the mailed group signs 6 jobs per thousand and the holdout signs 1.5 per thousand from your other channels, the true incremental lift from mail is 4.5 jobs per thousand, not 6. Your honest cost per incremental job is total spend divided by incremental jobs, which is always higher than the naive number. It's also the only number that tells you whether to keep spending, because it isolates what mail actually caused.

Most roofers will resist holding back 10% of a good list, because it feels like leaving money on the table. The reframe: that 10% is buying you the truth about the other 90%, and the truth is worth far more than the handful of jobs you might forgo from a small holdout. Run it on at least your first two or three campaigns until you trust your numbers, then you can relax it.

Setting realistic windows for slow-cycle responses

Roofing has a long consideration cycle, which mangles attribution if you close the books too early. A homeowner who gets your card in March may not act until a leak appears in a June storm, then call the number they saved. If you measured the campaign at 30 days and declared it a flop, you missed the jobs that close in months two through four. Benchmark practice: take a first read at 30 days, a working read at 60, and a final read at 90 to 120 days, and keep the tracking number live the whole time. For non-storm prospecting, expect a meaningful tail of responses well past the drop date. For storm-response mail the curve is the opposite, fast and front-loaded, because the need is urgent and the competition is racing you.

What Pros Get Wrong: A Field Guide to the Expensive Mistakes

After enough campaigns, the failure modes rhyme. Here are the ones that cost the most, and the fix for each.

Judging the channel by a saturation blast. Covered above, but it's the number-one error, so it leads the list. EDDM saturation is the floor of the channel's performance. If your first and only test is an untargeted blast and it disappoints, you've learned nothing about what a real targeted, sequenced campaign would do. Fix: never let your first test be pure saturation.

Optimizing cost per piece instead of cost per appointment. The worked example proved the cheapest piece is usually the most expensive appointment. Fix: put cost per appointment at the top of every report and let it govern spend.

Mailing once. The response curve builds across touches. Fix: budget for three touches before you start, or don't start.

No tracking number, no CRM tag. You cannot benchmark what you don't measure. Fix: the four-part tracking stack above, set up before the drop, not after.

Year-built as a roof-age proxy. A 25-year-old house may have a 3-year-old roof. Targeting purely on year built guarantees you mail re-roofed homes and skip storm-aged ones. Fix: use actual roof-age-range and storm signals where you can, or at minimum combine year built with storm history rather than using it alone.

Chasing creative when the list is the problem. Roofers will A/B test headlines on a random carrier route for months. The headline isn't your ceiling; the list is. Fix: fix the list first, then optimize creative against a list that can actually respond.

Counting revenue, not gross profit, in ROI. A 7x revenue return at 30% margins, minus commissions and unconverted appointments, can be a loss. Fix: ROAS on gross profit, always.

Crossing the compliance line for a short-term response bump. "We'll get your roof approved" and "no deductible" convert in the moment and can end with a regulatory complaint, a chargeback fight, or a fraud allegation. Fix: the compliant documentation-and-estimate frame, taught to the whole sales team, with the do-not-say list posted where reps can see it.

Quitting during the slow season instead of mailing into it. Shoulder-season mail often beats peak-season mail on cost per appointment because the mailbox is less crowded. Fix: keep a steady, sequenced presence and surge on storms, rather than only spending when everyone else does.

How Direct Mail Benchmarks Compare to Your Other Channels

Benchmarks only mean something in context, and the most useful context is your own channel mix. A cost per appointment of $80 sounds good or bad only relative to what knocking, PPC, lead aggregators, and referrals cost you. Here's how the channels typically line up for residential roofing, so you can place mail correctly.

Channel Typical cost behavior Control over targeting Speed Where it wins
Door knocking Cheap in cash, expensive in labor and rep turnover High (you choose streets) Slow per door Storm response, dense neighborhoods, strong closers
Direct mail (targeted) Predictable, fixed before spend High with good data Medium, builds over touches Reaching homes you can't knock, staying top of mind
Paid search (PPC) Variable, auction-driven, rises in storm season Medium (keyword, geo) Fast Capturing active high-intent searchers
Purchased / shared leads High per lead, often resold to competitors Low Fast Filling a slow calendar, with thin margins
Referrals and reviews Lowest cost, slowest to scale None Slow Long-term margin, you can't turn it up on demand

Direct mail's strategic slot is specific: it reaches homeowners you can't efficiently knock, it's controllable and predictable in a way auction channels aren't, and it compounds with door knocking because a knocked street that also got mail converts better than either alone. The benchmark you want isn't "is mail cheaper than PPC," it's "does mail lower my blended cost per appointment across the whole mix." Often it does, precisely because it works the same target list as your knockers and your storm response, reinforcing them rather than competing.

A blended-funnel benchmark worth tracking: take a targeted neighborhood, mail it and knock it in the same window, and compare its cost per appointment to a comparable neighborhood you only knocked. The lift from adding mail to a knocked area is usually larger than the mail's standalone numbers suggest, because the two touches together overcome the homeowner's default of ignoring both. That synergy is invisible if you only ever measure mail in isolation.

List Sourcing and Data Hygiene Benchmarks

Since the list is the dominant lever, it deserves its own standards. A clean, well-targeted list of 4,000 outperforms a dirty, broad list of 10,000 on nearly every metric that matters, and it costs less in postage and print to boot.

Targeting filters, ranked by impact for roofing:

  1. Roof-age range and per-roof storm exposure (highest impact, hardest to source) puts you in front of roofs actually closer to due.
  2. Verified storm history for the address narrows to neighborhoods a hail or wind event actually hit.
  3. Owner-occupied removes renters who can't authorize a roof.
  4. Home value band aligns the list with the jobs you want and can finance.
  5. Length of residence (often 5+ years) skews toward homeowners with both roof age accumulating and equity to spend.
  6. Year built as a weak last resort, useful only combined with the above, never alone.

Data hygiene checks before you mail, with target thresholds:

  • Deduplicate by address and by household. Mailing the same home three cards in one drop is wasted spend and looks careless. Target: zero in-drop duplicates.
  • Run NCOA (National Change of Address) so you're not mailing people who moved. Stale lists waste 2% to 4% of spend on vacancies and movers on older data.
  • Suppress your existing customers from cold prospecting drops, or better, mail them a different, warmer message. A current customer getting a "we're new to your area" card erodes trust.
  • Suppress recent quotes and no-sales into a dedicated nurture track rather than the cold list, since their message is different.
  • Standardize addresses to USPS format (CASS certification) so they qualify for automation postage and actually deliver. Target: 95%+ deliverable, CASS-certified.

The benchmark instinct to build: treat the list as a living asset, not a one-time purchase. Append responses, appointments, and outcomes back onto the records so each drop teaches you which segments of the list actually convert. Over a year, the addresses and segments that book jobs become obvious, and you reallocate spend toward them. A list you learn from beats a list you rent and forget, every time.

This is also the cleanest place to put per-roof data to work without buying leads or changing your CRM. You take your own mailing list or farm area, rank it by roof-age range and modeled storm exposure, mail the highest-probability addresses first, and let the lower-probability tail wait for a later touch or a storm trigger. You're not buying somebody's resold lead. You're sequencing your own list by which roofs are most likely due, which is exactly the move the cost-per-appointment math rewards.

A 30-Day Plan to Set Your Own Benchmarks

Benchmarks from a report are a starting estimate. Benchmarks from your own funnel are the truth. Here's how to get yours in a month.

Week 1: Build the math. Compute your value-per-response (appointment rate x close rate x job gross profit) and your break-even response rate, using your real numbers. Write them at the top of a one-page campaign brief. Set up call tracking, a QR code, a campaign landing page, and a CRM source field.

Week 2: Build the list. Don't saturate. Pull a targeted list of homes most likely to be due, ranked by roof age range and storm exposure where you have that data, length of residence and home value where you don't. Aim for a list size you can fully follow up on with the crew and phone capacity you actually have. A smaller list you can chase beats a huge list you can't.

Week 3: Design one strong offer and one strong format. Oversized postcard, single clear offer (free inspection or free roof-age report), one primary action, local proof, both phone and QR. Compliant language if storms or claims are anywhere near the message. Set up Informed Delivery on the drop.

Week 4 and beyond: Mail, then mail again. Send touch one. Schedule touches two and three at roughly three-week intervals with a varied angle. Fill in the benchmark dashboard at 30, 60, and 90 days. Let cost per appointment decide what the next list and format look like.

Do that twice and you'll have something no benchmark report can give you: a defensible, measured cost per appointment and cost per signed job for your market, your offer, and your close rate. That number, not a national average, is what tells you how hard to push the channel.

The Bottom Line on Roofing Direct Mail Benchmarks

The averages are real but secondary. Yes, direct mail beats email by a wide margin; yes, house lists run 5 to 9 percent and cold targeted lists 1 to 4 percent and saturation under 2 percent; yes, oversized postcards beat standard ones and three touches beat one. Memorize those as guardrails. But the number that actually runs your business is your own break-even response rate, and for most roofers it's a small fraction of a percent because a single signed roof is worth thousands in gross profit against a sub-dollar mail piece. That's the quiet good news: you don't need a heroic campaign, you need a list good enough to clear a low bar, sequenced enough to let the response curve build, and tracked well enough to prove it.

The biggest lever, by a wide margin, is mailing roofs that are genuinely closer to due. Cheap per-piece, untargeted mail is almost always the most expensive mail per appointment. If you can rank the actual addresses by roof-age range and modeled storm exposure, and mail the top of that list first, you raise response faster than you raise cost, which is the only thing that pulls cost per appointment down. That's where a list-enrichment layer like RoofPredict fits: not as a lead vendor, but as the data that tells you which roofs to put your postcard and your ladder in front of first, house by house, with honest limits stated plainly. Roof age comes back as a range, not a date. Storm exposure comes back as odds, not proof. You still climb the roof and document what's there, and on anything touching insurance you stay firmly on the documentation-and-estimate side and off the claims-handling side. Mail the right roofs, sequence the touches, track to the address, and judge every drop against your own cost per appointment. Do that, and direct mail stops being a gamble and becomes one of the few acquisition channels in roofing you can actually run on numbers.

FAQ

What is a good direct mail response rate for a roofing company?

It depends entirely on the list. Mailing your own house list (past customers, prior estimates, expired warranties) commonly runs 5% to 9%. A targeted prospect list filtered by good data runs roughly 1% to 4%. An untargeted saturation or EDDM blast often comes in under 2% and sometimes under 1%. The blended cross-industry average of around 4% to 5% is mostly useful as a rough guardrail, not a target, because your actual rate is set by who's on the list more than by anything on the postcard.

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

All-in (postage plus print plus list plus tracking), plan on roughly $0.35 to $0.55 per piece for a simple EDDM saturation card, $0.45 to $0.75 for an oversized EDDM card, $0.70 to $1.25 for an oversized card to a targeted address list, and $0.90 to $1.50 or more when the list is enriched with roof-age and storm data. EDDM Retail postage alone sits around $0.24 to $0.26 per piece. The cheapest per-piece option is usually the most expensive per booked appointment, so don't optimize on piece cost alone.

How do I calculate my break-even response rate for a roofing mailer?

First find the value of one response: appointment rate x close rate x job gross profit. For example, 50% x 30% x $4,000 = $600 per response. Then divide total campaign cost by that value to get the number of responses you need to break even. A $6,000 campaign needs $6,000 / $600 = 10 responses. Divide that by pieces mailed for your break-even response rate: 10 / 6,000 = about 0.17%. Because a signed roof is worth so much relative to a mail piece, most roofers' break-even rate is a small fraction of a percent.

Is EDDM or a targeted mailing list better for roofing?

EDDM is cheaper per piece because you skip list costs and pay low saturation postage, but you mail every door on a carrier route with no targeting, which caps your response rate. A targeted address list costs more per piece but typically produces a much lower cost per appointment because the response rate is far higher. Run the math on cost per appointment, not cost per piece, and a targeted list usually wins. EDDM makes most sense for broad brand presence or for blanketing a small, genuinely storm-hit area fast.

Why did my direct mail campaign get such a low response?

The most common cause is an untargeted list, usually a saturation blast where most recipients have no reason to need a roof right now. Other frequent causes are mailing only once instead of sequencing three touches, a vague offer with multiple competing actions, no tracking so you undercounted real responses, and mailing at peak season when every competitor is also in the mailbox. Fix the list first, then sequence and offer, before you blame the channel.

What metric should roofers actually track for direct mail?

Cost per appointment is the best single operating metric, because it captures piece cost, response rate, and booking quality together while filtering out responses that never turn into a roof on a ladder. Track cost per signed job too, since that's what your bank account feels, and express return on ad spend on gross profit rather than revenue so a high-margin-looking campaign doesn't hide a real loss once you subtract material, labor, and commission.

How does roof-age and storm data improve direct mail results?

Standard targeting data like year built is a noisy proxy because a 25-year-old house can have a 3-year-old roof. Roof-specific data estimates a roof-age range per address from aerial imagery and models storm exposure for each individual roof, so you can rank actual addresses by how likely the roof is worn out and mail the top of that list first. That raises response faster than it raises cost, which is what pulls cost per appointment down. The limits are real: age comes back as a range, not an exact date, and storm exposure is odds, not proof of damage.

Can I advertise help with insurance claims on a roofing postcard?

Stay strictly on the documentation and estimate side. You can offer to inspect the roof, document damage thoroughly with photos, and prepare an accurate repair estimate the homeowner can use. You cannot, for a fee, say you will handle, negotiate, or fight the claim, interpret their policy or coverage, promise a payout or approval, promise the deductible will be waived or absorbed, or advertise a free roof. Those cross into unlicensed public adjusting and, in the case of deductibles, can be insurance fraud. The compliant frame: you document and estimate, the homeowner files, and the insurer decides coverage.

How many times should I mail the same roofing list?

Plan on three touches over roughly six to nine weeks for steady-state prospecting, varying the offer or angle each time. A meaningful share of responses arrive on the second and third impression, so a single one-and-done drop systematically underperforms and is one of the main reasons contractors wrongly conclude mail doesn't work. After a verified storm, the timing logic flips toward speed, mail the genuinely affected blocks fast while the window is open and before out-of-town crews flood in.

What is USPS Informed Delivery and should roofers use it?

Informed Delivery is a free USPS service that emails tens of millions of subscribers a grayscale preview of their incoming mail each morning, and those daily-digest emails see open rates well above typical marketing email. For automation-eligible mail with a valid Intelligent Mail Barcode, you can attach a color image and a clickable link to your mailpiece's preview at no extra postage. It turns one postcard into a physical plus digital touch the same morning. It costs essentially nothing to add and lifts response on mail you're already sending, so yes, ask your mail house to set it up.

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. ANA/DMA Response Rate Reportana.net
  2. USPS Every Door Direct Mail (EDDM)usps.com
  3. USPS Informed Delivery for Business Mailersusps.com
  4. USPS Advertise with Mailusps.com
  5. USPS Postal Explorer (Notice 123 Price List)pe.usps.com
  6. NRCA Roofing Resources and Guidelinesnrca.net
  7. IBHS FORTIFIED Roof and Storm Researchibhs.org
  8. NOAA National Centers for Environmental Information (Storm Events)ncei.noaa.gov
  9. NOAA Storm Prediction Centerspc.noaa.gov
  10. Federal Trade Commission, Advertising and Marketing Guidanceftc.gov
  11. Texas Department of Insurance, Public Adjuster Informationtdi.texas.gov
  12. U.S. Census Bureau, American Housing Surveycensus.gov
  13. International Code Council (IRC / IBC)iccsafe.org
  14. RoofPredictroofpredict.com

Related Articles