Every roofing company has the same problem: storm season is a goldmine, and the other 7-8 months are a grind.
You spend Q2 and Q3 drowning in work. By November, the phone stops ringing. Your crew sits idle. Your best guys start looking for winter work. By February, you're wondering if you should have saved more during the busy months.
This feast-or-famine cycle kills more roofing companies than bad workmanship ever has.
Here's how to build a pipeline that generates leads every month of the year โ using a system that costs less than $2,000/month and doesn't depend on storms.
Why Most Roofing Marketing Is Seasonal (And Broken)
The typical roofing marketing playbook:
- Wait for storms
- Door-knock and mail the affected neighborhoods
- Book 3 months of work
- Profit
- Slow months hit โ panic
- Spike Google Ads budget to compensate
- Pay $187/lead during the quietest months (terrible efficiency)
- Repeat
This is reactive marketing. You're waiting for external events to generate demand. When storms happen, you feast. When they don't, you starve.
The alternative: proactive marketing that generates leads year-round, independent of weather.
The 12-Month Roofing Mail Calendar
Here's a month-by-month direct mail plan that keeps your pipeline full regardless of storm activity:
January: New Year Inspection Push
Target: Homes 15+ years old in your primary zip codes Volume: 500 postcards Message: "New year, good time to check your roof. Free inspections โ let's make sure you're set for whatever 2026 brings." Cost: $675
January is dead for most roofers. That's exactly why you mail now. Zero competition for attention. Homeowners are in "new year, handle my to-do list" mode.
February-March: Pre-Storm Season
Target: Homes 12+ years old in storm-prone areas Volume: 1,000 postcards (split across 2 drops) Message: "Storm season starts in [X weeks]. Your roof is [age] years old. A 30-minute inspection now could save an emergency later." Cost: $1,350
This is your most important campaign of the year. Pre-season bookings fill your March-April calendar before the storm chasers arrive.
April-May: Spring Maintenance + Radius
Target: Dual campaign โ cold outreach + radius mail from spring jobs Volume: 500 cold + radius cards from completed jobs (variable) Message (cold): Gutter/flashing/vent boot inspection offer tied to spring rains Message (radius): "We just finished a roof on your street..." Cost: $675 + radius
Spring rains create urgency for waterproofing-related issues. This isn't replacement-level work necessarily, but $500-$2,000 repair jobs keep the crew busy and build your customer base for future replacements.
June-August: Storm Response (If Applicable)
Target: Storm-affected neighborhoods (HailTrace data) Volume: As needed โ 500-5,000 per storm event Message: Storm-specific inspection offer with insurance education Cost: Variable
This is your bread and butter. But the difference between you and the roofers who only do storm work: you already have a full calendar going into storm season. You're adding storm contracts on top of a healthy baseline, not depending on storms for survival.
September: Fall Pre-Winter Campaign
Target: Homes 15+ years old, especially those with known leak-prone roof types Volume: 500 postcards Message: "Winter is hard on older roofs. Ice dams, snow load, and freeze-thaw cycles โ if your roof has weak spots, winter finds them. Free pre-winter inspection." Cost: $675
September is when smart homeowners prepare for winter. Your postcard catches them in planning mode.
October-November: Customer Reactivation
Target: Past customers who haven't booked in 18+ months Volume: 200-300 postcards Message: "Hey [Name], it's been a while since we worked on your roof. Want us to do a quick check before winter? We like to keep an eye on our work." Cost: $270-$405
Past customers are your highest-converting audience. A reactivation campaign generates callbacks at 4-6% response rate โ 2-3x higher than cold outreach.
Even if the inspection doesn't lead to a job, you've maintained the relationship. That customer will call you first when they do need work, and they'll refer friends in the meantime.
December: Referral Program Push
Target: All customers who completed a job in the past 12 months Volume: 200-400 postcards Message: "Thanks for a great year. If you know anyone who needs roofing work, send them our way โ we'll give you $200 toward any future service." Cost: $270-$540
December is relationship maintenance. The referral ask costs you $200 in future credits per referral, but each referred customer has a customer acquisition cost of near zero and a lifetime value of $12,000+.
The Annual Budget
| Month(s) | Campaign | Volume | Cost |
|---|---|---|---|
| January | New Year inspection | 500 | $675 |
| Feb-March | Pre-storm season | 1,000 | $1,350 |
| April-May | Spring maintenance + radius | 500+ | $675+ |
| June-Aug | Storm response | Variable | Variable |
| September | Pre-winter | 500 | $675 |
| Oct-Nov | Customer reactivation | 250 | $338 |
| December | Referral push | 300 | $405 |
Annual base cost (excluding storm campaigns): ~$4,118
That's $343/month for a year-round roofing pipeline.
Add radius mail from completed jobs (50 cards per job, average 8 jobs/month = 400 cards/month = $540/month) and your total annual direct mail budget is approximately $10,600.
The Revenue Math
Using conservative estimates (1.5% response on cold, 3% on warm, 30-40% close rate):
From cold prospecting (2,500 cards/year): 37 leads โ 12-15 contracts โ $156,000-$195,000
From radius mail (4,800 cards/year): 120 leads โ 40-48 contracts โ $520,000-$624,000
From reactivation (250 cards/year): 10 leads โ 6-8 contracts โ $78,000-$104,000
From referral program (300 cards + credits): 15-20 referrals โ $195,000-$260,000
Total annual revenue from direct mail: $949,000-$1,183,000 Total annual mail budget: $10,600 ROI: 89-112x
Even if these numbers are wildly optimistic and you cut them by 75%, you're still looking at $237,000-$296,000 in annual revenue from $10,600 in postcards. A 22-28x return.
The Key: Consistency
The roofers who build year-round pipelines aren't doing anything complicated. They're mailing postcards every month. That's it.
No fancy marketing stack. No $5,000/month agency retainer. No complex digital funnel. Just handwritten postcards to targeted homeowners, month after month.
The consistency is what makes it work. A one-time blast gets you a one-time result. A 12-month system builds familiarity, reputation, and compound referrals.
After year one, your target neighborhoods know your name. After year two, you're the default roofer for those zip codes. That's a moat that no Google Ads budget can replicate.
Start With Month 1
Don't try to build the full 12-month calendar today. Start with whatever month you're in. Send 500 postcards to homes with aging roofs in your best zip code.
Track the responses. Measure cost per lead. Close the deals. Then do it again next month.
Mailbots.ai โ real pen-and-ink postcards, $1.35/card, per-piece delivery tracking. No monthly platform fees, no contracts. Build a roofing pipeline that works in January just as well as July.

