Cost Per Acquired Customer in Roofing (Channel Comparison)
A channel-by-channel breakdown of real per-customer acquisition cost in 2026 residential roofing. CPL × close rate math, channel rankings, and what to actually use.
The single number that determines whether your roofing business is profitable is cost per acquired customer (CAC). Not per-lead cost. Not close rate. CAC.
Most roofers don't actually know their CAC. They know what they pay for leads — but not what they pay per closed deal. This post is the channel-by-channel breakdown in 2026, with the math worked through transparently.
CAC vs CPL — why the distinction matters
CPL (cost per lead) is what marketing pages quote. CAC (cost per acquired customer) is what determines your margins.
The relationship:
CAC = CPL ÷ Close Rate
Example:
- $50 CPL × 5% close rate = $1,000 CAC
- $250 CPL × 25% close rate = $1,000 CAC
Same CAC. Same business outcome. Different vendor pitches.
If your average ticket is $13,400, a $1,000 CAC means 7.5% of revenue goes to customer acquisition. That's a healthy margin. A $2,400 CAC at the same ticket means 18% — getting tight on a residential roofing P&L.
The channels worth using are the ones with the LOWEST CAC, not the lowest CPL.
Channel-by-channel CAC math
For a typical residential roofer at $13,400 average ticket. Numbers based on 2026 industry data.
Angi / HomeAdvisor (shared leads)
- Per-lead cost: $40-80
- Close rate: 3-5%
- CAC: $800-2,400
Comments: mature contractor CAC keeps rising. The structural problem is sharing 5-7 ways. Most shops at this CAC are over 15% acquisition cost on their tickets.
Modernize (shared leads)
- Per-lead cost: $30-65
- Close rate: 4-7%
- CAC: $600-1,800
Comments: modestly better than Angi but same model. Often the first stop for shops leaving Angi.
Modernize Pro (exclusive)
- Per-lead cost: $130-220
- Close rate: 15-25%
- CAC: $600-1,400
Comments: exclusive model, but per-customer cost not dramatically better. The premium per-lead price offsets the higher close rate.
Service Direct (exclusive)
- Per-lead cost: $150-280
- Close rate: 18-30%
- CAC: $500-1,500
Comments: mid-pack CAC. Better than shared marketplaces, much worse than direct or LSA.
Google LSAs
- Per-lead cost: $25-80
- Close rate: 30-50%
- CAC: $100-400
Comments: the structurally best paid-lead channel. Volume capped by search demand in your area, but per-customer economics excellent.
Direct AI prospecting (Roofbird-style)
- Effective per-lead cost: $2-8 amortized (subscription cost spread across pipeline)
- Close rate: 15-25% with door-knock follow-up
- CAC: $50-300
Comments: the cheapest channel when execution is solid. Requires field canvassing capacity.
Local SEO + Google Business Profile
- Per-lead cost: $0 (DIY) or $500-1500/mo agency
- Close rate: 40-60% on inbound organic
- CAC: $100-400 at maturity
Comments: slowest ramp (3-6 months), best long-term economics. Compounding asset.
Referral programs (with $200 incentive)
- Per-lead cost: $200 per closed referral (incentive payout)
- Close rate: 40-60% on referrals
- CAC: $50-200
Comments: cheapest channel for shops with 100+ past customers. Severely underused.
The honest CAC ranking
| Channel | Typical CAC | Margin impact (on $13.4k ticket) |
|---|---|---|
| Referrals (with $200 incentive) | $50-200 | 0.4-1.5% |
| Direct AI prospecting | $50-300 | 0.4-2.2% |
| Google LSAs | $100-400 | 0.7-3% |
| Local SEO (mature) | $100-400 | 0.7-3% |
| Service Direct (exclusive) | $500-1,500 | 3.7-11% |
| Modernize Pro (exclusive) | $600-1,400 | 4.5-10% |
| Modernize (shared) | $600-1,800 | 4.5-13% |
| Angi/HomeAdvisor (shared) | $800-2,400 | 6-18% |
The 16-48x spread between best and worst is what makes channel selection a margin-defining decision, not a marketing nuance.
What's a "good" CAC for residential roofing?
Industry benchmarks for a typical $13,400 ticket:
- Under 5% ($670 CAC): excellent — top quartile of residential roofers
- 5-10% ($670-1,340): healthy — most growing shops sit here
- 10-15% ($1,340-2,010): acceptable — margins getting tight but workable
- Over 15% ($2,010+): structural problem — typically too dependent on shared lead marketplaces
If your CAC is over 10%, the fix isn't negotiating better lead prices. It's switching to channels with structurally better economics.
The math nobody runs
A worked example. Say you spend $5,000/month on Angi leads. Get 100 leads at $50 each. Close 4 = $1,250 CAC per closed customer.
The "alternative channels" math:
The same $5,000/month split:
- $1,000/mo into Roofbird subscription ($199) + tools
- $4,000/mo into LSAs at $50/lead × 35% close → ~28 customers/mo
- Total closed: 28 vs Angi's 4
- CAC: $179 vs Angi's $1,250
The 7x difference in closed customers per dollar is structural. The shops doing this math reallocate budget accordingly.
The audit nobody runs
If you've never calculated CAC by channel:
Step 1: Pull 90 days of marketing spend by channel.
Step 2: Pull closed customers attributed to each channel (use your CRM data).
Step 3: Divide spend by closed customers for each channel.
Step 4: Sort highest-to-lowest CAC.
Step 5: Cut spend on the highest-CAC channel. Reallocate to lowest.
Most shops doing this audit find Angi/HomeAdvisor is dramatically more expensive than they thought. The audit pays for itself in the next month's reallocation.
What "blended CAC" should look like
If you're running a multi-channel mix, your weighted-average CAC is:
Blended CAC = Total marketing spend ÷ Total customers acquired
For a healthy mid-sized residential roofer:
- 30% direct prospecting (CAC ~$150)
- 25% LSAs (CAC ~$250)
- 20% referrals (CAC ~$150)
- 15% local SEO organic (CAC ~$200)
- 10% paid surge during storms (CAC ~$500)
Weighted-average: ~$215 CAC.
That's a 4-10x improvement over pure-Angi reliance. Achievable with 6-12 months of channel diversification.
How to drop CAC by 50% in 90 days
If you're stuck at high CAC, the 90-day playbook:
Days 1-30: Apply for Google Guaranteed (LSA prerequisite). Start a Roofbird trial. Audit your past customer list for referral program targets.
Days 31-60: LSAs go live. Direct prospecting becomes weekly habit. Send referral program email to past customers.
Days 61-90: Reduce Angi spend by 50%. Reallocate to LSAs + direct prospecting. Measure CAC by channel.
Typical outcome: CAC drops 40-60% over the 90 days as cheaper channels prove out and you cut spending on expensive ones.
What to do this week
- Calculate your actual current CAC by channel
- Sort by CAC — highest to lowest
- Identify the worst channel (almost always Angi if you're on it)
- Pick ONE cheaper channel to test for 30 days
- Cut the worst channel's spend by 30% to fund the test
The shops who win on margins aren't the ones with the most channels. They're the ones with the LOWEST blended CAC. Channel selection is a margin lever most roofers ignore.
Roofbird's free trial lets you test direct AI prospecting against your existing channels. 25 scored leads in your service area, no card.
— Jake
Written by
Jake Thompson
Have a question about anything in this post? Reach the Roofbird team at support@roofbird.ai.
Try Roofbird — 25 free leads in your area
See a sample dashboard for DFW first, no signup needed. Trial loads 25 free pre-scored leads in your own service area.
More for roofers
How to Generate Roofing Leads Without Cold Calling: 7 Methods Ranked by Cost and Close Rate
Seven proven ways to generate roofing leads without cold calling — ranked by realistic cost-per-lead and close rate. From free GBP optimization to satellite roof scoring. No shared leads, no phone room.
How Solo Roofing Contractors Get Leads Without Angi or HomeAdvisor (7 Methods That Actually Work)
Seven proven ways to generate roofing leads without paying Angi or HomeAdvisor's marketplace tax — ranked by cost, effort, and lead quality for solo contractors and small crews.
Best Alternatives to EagleView for Roofing Measurements and Lead Generation (2025)
Honest breakdown of EagleView alternatives for roofers — Hover, Roofr, Nearmap, GAF QuickMeasure, and AI prospecting tools. Covers both measurement accuracy and lead generation, because most comparison articles only cover one.