Mailbots

Roofing Direct Mail vs Google Ads: Real Numbers From Real Companies

Mar 31, 20265 min readBy Mailbots Team

Every roofing company owner has the same question: "Where should I spend my marketing budget?"

The two most common answers are Google Ads and direct mail. Both generate leads. Both cost money. But the economics are wildly different โ€” and most roofers have never seen them compared honestly.

Let's fix that with real numbers.

Google Ads for Roofers: The Real Numbers

Roofing has the highest Google Ads cost of any home service vertical. Here's what contractors are actually paying:

Average metrics (industry-wide):

  • Cost per click: $40-$65
  • Click-to-lead conversion rate: 3-5%
  • Cost per lead: $187 (average), $250+ in competitive metros
  • Lead-to-appointment rate: 40-60%
  • Appointment-to-contract rate: 25-40%
  • Cost per signed contract: $600-$1,500

Why it's so expensive:

  • Every roofer, plus Angi, Thumbtack, and HomeAdvisor, bids on the same keywords
  • "Roof repair near me" and "roofing contractor [city]" are among the most expensive local service keywords in Google's auction
  • CPC spikes 50-100% after major storms (when demand is highest)
  • Lead aggregators bid up prices and resell leads to multiple contractors

What Google Ads does well:

  • Captures active demand (people searching right now)
  • Scalable budget (spend more = more impressions)
  • Measurable (click tracking, call tracking)

What Google Ads does poorly:

  • Creates pre-season demand (nobody searches for roofing in January)
  • Generates exclusive leads (many leads also contact competitors)
  • Provides predictable costs (auction prices fluctuate constantly)
  • Delivers a reasonable CAC for repair work ($187 lead for a $500 repair is underwater)

Direct Mail for Roofers: The Real Numbers

Now let's look at handwritten postcards. These aren't the glossy junk-mail postcards you've seen (or sent). These are real pen-and-ink cards that look personally written.

Average metrics (handwritten postcards):

  • Cost per postcard: $1.35 (includes postage)
  • Response rate: 2-2.5% (split-tested; handwritten outperforms printed by 5.4x)
  • Cost per lead: $54-$67
  • Lead-to-appointment rate: 70-80% (they called YOU, not a marketplace)
  • Appointment-to-contract rate: 30-50%
  • Cost per signed contract: $135-$225

Why it's cheaper:

  • No auction โ€” postage is a fixed cost
  • No middlemen inflating prices
  • Leads are exclusive (nobody else gets them)
  • Higher close rates reduce the funnel waste

What direct mail does well:

  • Creates demand before the homeowner starts searching
  • Targets specific home ages and neighborhoods
  • Generates exclusive leads with high close rates
  • Costs the same on the busiest storm day as it does in January

What direct mail does poorly:

  • Slower than Google (5-7 days for delivery vs. instant clicks)
  • Requires a mailing list (need to source addresses)
  • Can't capture someone actively Googling "emergency roof repair"

Head-to-Head: $5,000 Budget Comparison

Let's see what each channel produces with the same $5,000 monthly budget:

Google Ads: $5,000/Month

StageNumber
Budget$5,000
Avg CPC$50
Clicks100
Lead conversion rate4%
Leads26-27
Cost per lead$187
Appointment rate50%
Appointments13
Close rate33%
Signed contracts4-5
Revenue ($13K/contract)$52,000-$65,000
ROI10-13x

Handwritten Direct Mail: $5,000/Month

StageNumber
Budget$5,000
Cost per card$1.35
Cards mailed3,703
Response rate2%
Leads74
Cost per lead$67
Appointment rate75%
Appointments55
Close rate40%
Signed contracts22
Revenue ($13K/contract)$286,000
ROI57x

Same budget. 4-5 contracts from Google vs. 22 contracts from direct mail.

Now, those direct mail numbers assume you can actually handle 22 new roofing jobs in a month. If you're a 3-crew shop, you might cap at 12-15 per month. Scale your mailing accordingly. But the point remains: dollar for dollar, handwritten direct mail generates dramatically more roofing contracts than Google Ads.

"But Google Leads Are Ready to Buy Right Now"

This is the strongest argument for Google Ads, and it's valid. Someone searching "roof replacement [city]" is actively in the market. A postcard recipient might not be.

Two responses to this:

1. Readiness doesn't equal profitability. A "ready to buy" lead who's getting 4 other quotes closes at 25%. A postcard lead who called you โ€” and only you โ€” because they got a personal-feeling card closes at 40-50%. The postcard lead is more profitable despite being less "ready."

2. Direct mail creates demand that never reaches Google. When you mail a postcard to a homeowner with a 17-year-old roof, they might call you directly. That's a lead Google never sees. You've intercepted the customer before they enter the Google funnel โ€” before your competitors even have a shot.

The best roofing companies use both channels, but they allocate budget based on ROI, not habit. If Google is delivering contracts at $1,000 each and direct mail is delivering them at $200 each, the optimal strategy is obvious: shift budget toward mail until the marginal returns equalize.

The Quality Gap Nobody Measures

Cost per lead is easy to measure. Lead quality is harder. But it matters enormously.

Google Ads leads:

  • Are comparison shopping (they clicked multiple ads)
  • Want the lowest price (the internet trained them to shop around)
  • Have no relationship with you (you're one of several strangers)
  • Close at lower rates and often pressure you on price

Handwritten postcard leads:

  • Responded to a personal-feeling message (they feel a connection)
  • Aren't comparison shopping (they called the person who wrote to them)
  • Are predisposed to trust you (the card felt human, not corporate)
  • Close at higher rates and are less price-sensitive

This quality gap means your average contract value on postcard leads is often higher than Google leads. Homeowners who call you from a personal card are less likely to grind you on price.

The Seasonal Advantage

Google Ads is reactive. You pay when homeowners search. If nobody's searching in February, you get no leads.

Direct mail is proactive. You choose when to mail. Pre-season campaigns (February-March for spring, August-September for fall) generate leads when your competitors aren't advertising.

This means:

  • Lower material costs (supply chains aren't strained)
  • Better scheduling (you choose the job timeline, not the customer's emergency)
  • Higher margins (less competition = less price pressure)
  • Predictable pipeline (you control volume, not Google's algorithm)

The Practical Recommendation

If you're spending $5,000+/month on Google Ads: Take $2,000 and test handwritten direct mail for 2 months. Target homes 15+ years old in your top zip codes. Measure cost per signed contract from each channel.

If you're spending nothing on marketing: Start with direct mail. $675 sends 500 handwritten postcards. At a 2% response rate and 40% close rate, that's 4 signed contracts worth $52,000. Then add Google LSAs for emergency/active-search leads.

If you're spending on Angi/HomeAdvisor: Stop. The math on shared leads is terrible for roofing. $150-$300/lead shared with 3-5 contractors vs. $67/lead exclusive from a postcard. This isn't a debate.

The right marketing mix for most roofing companies: 60% direct mail (pre-season + storm + radius), 30% Google LSAs (active searchers), 10% referral program. Adjust based on your data.

Test the direct mail side at Mailbots.ai. Pen-and-ink postcards, $1.35/card, per-piece delivery tracking. No monthly fees, no contracts. Start with 500 cards and let the numbers speak for themselves.

Ready to get started?

Join hundreds of real estate investors getting 5.4x higher response rates with pen-and-ink direct mail.

Roofing Direct Mail vs Google Ads: Real Numbers From Real Companies | Mailbots