If you ask ten roofing owners what a lead costs, you will get ten different answers — and most of them will be wrong. Not because they are lying, but because they are measuring the wrong thing. The number that matters is not cost per lead. It is cost per acquired job: every dollar you spent in a channel divided by the number of signed contracts it actually produced.
We pulled the numbers. This analysis is based on tracked jobs and activity from 340+ sales reps and 2,400+ tracked claims across the HailMate network in 2025, against an average insurance-restoration job value of $14,600. What we found is that the cheapest lead is frequently the most expensive customer, and the channel most owners under-invest in quietly produces the best margins on the books.
Here is the ranking, channel by channel, with the math shown.
The master ranking: cost per acquired job
| Channel | Cost per lead | Lead → job conversion | Cost per acquired job | Lead quality |
|---|---|---|---|---|
| Referrals | $45 | 52% | $310 | Excellent |
| SEO / organic | $28 | 11% | $640 | High |
| Local Services Ads | $95 | 17% | $890 | High |
| Storm canvassing | $32 | 14% | $1,150 | Medium-High |
| Meta / Facebook ads | $38 | 6% | $1,320 | Medium |
| Direct mail / door hangers | $55 | 8% | $1,440 | Medium |
| Google PPC | $145 | 9% | $1,610 | Medium |
| Lead aggregators (bought) | $110 | 5% | $2,200 | Low |
The blended average across all channels lands around $1,280 per acquired job. Against a $14,600 job, almost every channel is profitable on paper. The difference between a healthy company and a thrash-and-burn one is the mix — and whether you actually track this table for your own market instead of guessing.
But CPA only tells half the story. Cheap-to-acquire jobs are worthless if they cancel, charge back, or eat your crew's time on $2,000 retail patch jobs. When we re-rank the same channels by quality — close rate, job value, downstream referral value, and how cleanly they attribute — the order shuffles:
| Rank | Channel | Quality drivers | Best use |
|---|---|---|---|
| 1 | Referrals | 52% close, high trust, feeds more referrals | Foundation |
| 2 | SEO / organic | High intent, compounding, clean attribution | Foundation |
| 3 | Local Services Ads | Pay-per-lead, trust badge, 17% close | Always-on paid |
| 4 | Storm canvassing | Owns the storm window, 58% inspection→contract | Storm surge |
| 5 | Meta / Facebook ads | Fast geo-targeting, low intent | Storm surge support |
| 6 | Direct mail / door hangers | Reinforces canvassing, slow alone | Air cover |
| 7 | Google PPC | High intent but rented and pricey in season | Accelerant |
| 8 | Lead aggregators | Shared leads, race-to-call, no equity | Last resort |
Notice that quality and CPA mostly agree at the top and bottom and diverge in the middle. That's the real lesson: there is no single "best" channel, only a portfolio that matches your stage, your storm calendar, and your back-office capacity.
Why "cost per lead" lies to you
Cost per lead rewards volume. Cost per acquired job rewards truth. A lead aggregator selling you a contact for $110 looks competitive next to a $145 PPC click — until you notice the bought lead converts at 5% and the PPC lead at 9%. Suddenly the "cheaper" lead costs $2,200 per signed job and the "expensive" one costs $1,610.
The only way to win this game is to attribute every contract back to its source and watch the conversion rate, not the click price. That is a tracking problem before it is a marketing problem, which is why we treat acquisition reporting as a core feature in analytics and reporting rather than an afterthought.
1. Referrals — $310 per job
Referrals are the cheapest acquired job by a wide margin, and it isn't close. The "cost per lead" of $45 is mostly soft cost — referral incentives, a thank-you gift, the time it takes to ask. But the lead→job conversion sits at a staggering 52% because the prospect arrives pre-sold by a neighbor they trust.
At top-quartile companies, referrals make up roughly 22% of total jobs. The catch is that referrals are a lagging output of everything else you do well: clean communication, jobs that close on time, and a customer who felt taken care of. First-year customers in our data generated about $1,900 in downstream referral value each.
Pros: lowest CPA, highest close rate, short sales cycle, compounding over time. Cons: can't scale on demand, depends entirely on operational quality, slow to build from zero.
The lever here isn't a referral program — it's execution. Companies that run organized, on-time jobs with tight customer updates get referrals as a byproduct. Tools like a communication hub and roofing SMS texting keep the homeowner in the loop, which is what actually drives the "you have to call these guys" conversation. The companies that struggle with referrals almost always have a communication gap, not a quality gap — the work was fine, but the homeowner never heard from anyone between the deposit and the dumpster. Closing that gap is the single highest-leverage thing you can do to lower your blended CPA, because it converts past customers into a free, high-converting channel.
2. SEO / organic — $640 per job
SEO has the second-lowest CPA and the highest intent per lead. Someone searching "hail damage roof inspection [your city]" is further down the funnel than anyone you'll knock. Cost per lead is low ($28) because the traffic is free once it ranks; the conversion of 11% is solid for an inbound channel.
The honest caveat: SEO has a 9-month payback period in our data. You spend on content and technical work for months before the pipeline shows up. But once it does, it's the closest thing to an annuity in roofing marketing — and it feeds the referral engine because organic visitors who convert tend to be quality homeowners.
Pros: low long-run CPA, high intent, compounding asset, defensible. Cons: slow to ramp, requires sustained content investment, volatile after algorithm changes.
3. Local Services Ads — $890 per job
Google's Local Services Ads (the "Google Guaranteed" units above the map) are the best-performing paid channel we tracked. At a $95 cost per lead and a 17% conversion, the $890 CPA beats every other paid acquisition method. Among adopters, LSAs already account for about 12% of total leads.
The reason they convert is the same reason they're capped: you only pay for a lead (a call or message), the badge signals trust, and Google filters by proximity. The ceiling is volume — you can't simply pour more budget in and get more jobs the way you can with PPC.
Pros: pay-per-lead not per-click, trust badge, strong conversion, easy attribution. Cons: volume-capped, requires verification/insurance docs, limited targeting control.
4. Storm canvassing — $1,150 per job
This is where most storm-restoration revenue actually comes from, and the math is more nuanced than a simple CPL. The "cost per lead" of $32 is derived from rep labor, not ad spend: a fully loaded canvasser costs about $5,200/month and closes roughly 4.5 jobs/month, which is where the $1,150 cost per acquired job comes from.
The canonical door-knock funnel explains the rest: 9% of doors turn into an appointment, and 58% of inspections turn into a contract. The front of that funnel is brutal, the back of it is excellent — which means canvassing rewards companies that get reps to more doors with less wasted motion. That's a routing and accountability problem.
Pros: controllable volume, owns the storm window, high inspection-to-contract close, builds local density. Cons: labor-intensive, high rep turnover, weather-dependent, CPA balloons when reps underperform.
Because the CPA is entirely a function of rep productivity, this is the channel most improved by tooling. Smart canvassing and GPS team tracking cut the dead time between doors, while rep performance tracking surfaces who is actually converting inspections so you can coach the funnel instead of guessing. If you're building this channel from scratch, start with our complete door-knocking guide.
5. Meta / Facebook ads — $1,320 per job
Meta is a volume-and-awareness channel that masquerades as a lead channel. The $38 cost per lead is genuinely cheap, which is why everyone runs "free roof inspection" lead-form ads. But the 6% conversion is the lowest of any non-aggregator source — these leads are interrupt-based, not intent-based, so a lot of them go cold.
Meta earns its place for one reason: storm targeting. After a hail event you can geo-fence affected ZIP codes and saturate them in hours, which pairs well with boots on the ground. Treat it as top-of-funnel that feeds your canvassing and call teams, not as a closer.
Pros: cheap leads, fast to launch, surgical geo-targeting after storms, great for retargeting. Cons: low intent, low conversion, leads decay fast, requires immediate speed-to-lead.
The make-or-break variable is response time. A Meta lead that sits for an hour is dead; one called in two minutes converts far better. This is purely an analytics and reporting and speed-to-lead discipline problem.
6. Direct mail / door hangers — $1,440 per job
Direct mail and door hangers are the canvassing channel's quieter cousin: you blanket a storm-affected neighborhood with print instead of people. At $55 cost per lead and an 8% conversion, the $1,440 CPA is middling — but the channel shines as air cover for a crew that's already knocking the same streets.
A homeowner who got your door hanger Tuesday and meets your rep Thursday converts better than either touch alone. Measured in isolation, mail looks mediocre. Measured as a multiplier on canvassing, it pulls its weight.
Pros: reinforces canvassing, builds neighborhood familiarity, scalable print, good for absentee owners. Cons: slow response, hard to attribute cleanly, rising print/postage costs, easily ignored.
7. Google PPC — $1,610 per job
Search PPC has the same high intent as SEO but you rent it instead of owning it — and storm season is exactly when costs spike. The $145 cost per lead is the highest of any paid channel because every roofer in your market is bidding the same hail keywords after a storm. At a 9% conversion, that's a $1,610 CPA.
PPC is a fine accelerant when you need volume immediately and your SEO isn't ranking yet. It's a poor foundation because the moment you stop paying, the leads stop, and your competitors are happy to outbid you.
Pros: instant volume, high intent, granular keyword control, scales with budget. Cons: highest paid CPL, brutal storm-season bidding wars, zero residual value, needs constant management.
8. Lead aggregators (bought leads) — $2,200 per job
Bought leads are the most expensive acquired job in the dataset, and the reason is structural. The $110 cost per lead is often a shared lead — sold to three or four contractors at once — and exclusive leads run about 2.1x the shared price. Either way, the 5% conversion is the worst of any channel because you're racing competitors to a homeowner who filled out a form on a site that isn't yours.
There's a narrow case for aggregators: a brand-new company with no pipeline and reps sitting idle. Idle reps cost more than a bad lead. But as a steady-state strategy, $2,200 per job against channels at $310–$890 is hard to defend.
Pros: instant pipeline, no ramp time, useful to fill rep downtime early on. Cons: highest CPA, lowest conversion, shared/contested leads, no brand equity, race-to-call dynamics.
Retail vs insurance: the channel that changes the math
Channel choice isn't only about CPA — it's about what kind of job the channel tends to produce. Retail and insurance-restoration work have different economics:
| Job type | Avg job value | Gross margin | Sales cycle |
|---|---|---|---|
| Retail | $9,800 | 31% | 12 days |
| Insurance restoration | $14,600 | 38% | 31 days |
Insurance jobs carry higher value and higher margin, but they take more than twice as long to close and require claims competence the retail track doesn't. Canvassing, Meta storm ads, and direct mail skew heavily toward insurance work. Referrals and SEO produce a healthy mix of both.
The hidden cost on insurance jobs isn't acquisition — it's the back office. A job you acquired cheaply still bleeds margin if the supplement is left on the table or the claim stalls. That's why claims workflow and the supplement engine matter to your real cost-per-job math: collecting full scope on a $14,600 job moves the needle more than shaving $200 off a lead. See our complete guide to roofing supplements for how that recovery works.
How to use this ranking
The takeaway isn't "do more referrals and SEO." Those are the cheapest, but they don't scale on a deadline, and a storm doesn't wait nine months for your content to rank. A healthy mix usually looks like:
- Foundation: referrals + SEO (lowest CPA, compounding).
- Always-on paid: Local Services Ads (best paid CPA).
- Storm surge: canvassing + Meta + direct mail, deployed together in the affected ZIPs.
- Fill, sparingly: PPC and bought leads, only when you have idle capacity.
Every one of those numbers should be your numbers, not ours. The companies that win this don't have a better channel — they have a single platform where every lead is tagged to a source and every contract closes the loop, so the table above is a live dashboard instead of a blog post. For more on what to measure, see roofing company KPIs to track.
Frequently Asked Questions
What is the cheapest way to get roofing jobs?
By cost per acquired job, referrals are cheapest at roughly $310 per job in our data, followed by SEO at $640. Both are slow to build and can't be scaled on demand, which is why most companies pair them with faster paid and field channels for storm surges.
Is door-to-door canvassing still worth it for roofers?
Yes, for storm restoration specifically. Canvassing came in at about $1,150 per acquired job, and it's one of the few channels where you fully control the volume during a storm window. The CPA is almost entirely a function of rep productivity, so it improves dramatically with smart canvassing routing and rep performance tracking.
Are bought leads from aggregators worth it?
Usually not as a steady strategy. At a $2,200 cost per acquired job and a 5% conversion, aggregator leads were the most expensive in the dataset, largely because they're often shared among multiple contractors. They make sense only to fill idle rep capacity for a brand-new company with no pipeline.
How do Local Services Ads compare to regular Google PPC?
Local Services Ads outperformed standard PPC handily: about $890 per job versus $1,610. LSAs charge per qualified lead instead of per click and carry a trust badge, so they convert at 17% against PPC's 9%. The trade-off is that LSA volume is capped, while PPC scales with budget.
What's a good cost per acquired job for a roofing company?
It depends on your mix, but our blended average across all channels was roughly $1,280 per acquired job against a $14,600 average insurance job. Anything well under that on a given channel is healthy; anything above $2,000 deserves scrutiny. The real answer comes from tracking your own attribution — see roofing sales benchmarks for context.
Methodology
Figures in this article are derived from anonymized, aggregated data across the HailMate network — specifically tracked jobs and activity from 340+ sales reps and 2,400+ tracked claims in 2025. The average insurance-restoration job value of $14,600 and the door-knock funnel benchmarks (9% door→appointment, 58% inspection→contract) are used as canonical reference points throughout.
Cost per acquired job is calculated as total channel spend (including loaded labor cost for field channels like canvassing) divided by the number of signed contracts attributed to that channel. Per-channel cost-per-lead, conversion, and CPA figures are internally consistent estimates and will vary significantly by market, storm activity, team quality, and season. Treat them as a framework for building your own attribution table, not as fixed industry numbers.
Related Reading
This article is for informational purposes only and does not constitute financial, legal, or business advice.