Free tool · For roofing contractors

Your cost per lead is lying to you.

A cheap lead isn't a cheap customer. Answer five quick questions — or just read the numbers we filled in — and see what a signed roofing job actually costs you.

↓These are pre-filled with typical roofing numbers. Drag the ones you know — leave the rest.
$3,000
Your total ad budget per month.
25
Form fills + calls you got last month. A rough count is fine.
25% · ~1 in 4
Roughly how many of those leads turn into signed jobs.
$11,000
Your typical roof. Don't overthink it.
30% · 7.5 / mo
Renters, out of your area, wrong service, dead numbers, no-shows. Count last month's.
You're paying $120 per lead.
$480
is what each signed job actually costs you.
Jobs won / month
6.3
Burned on junk / year
$17,550

Burn assumes $75 to chase one dead lead.

Want this breakdown sent to you?

Get your numbers plus the three levers that move cost-per-job the most.

Go deeper Gross margin and ROI · what a few more points of close rate is worth · the full junk-lead arithmetic

The rest of the picture

What that volume is actually worth.

35%
Pre-set to a typical roofing margin. What's left after materials + labor, before overhead.
Revenue / month$68,750
Jobs won / year75
Revenue / year$825,000
Gross profit / month · assumes 35% margin$24,063
After ad spend (pre-overhead)$21,063
Revenue per $1 spent$22.92

The lever nobody talks about

What better-qualified leads do to your math.

+0 pts → 25%

This isn't a promise. It's your own numbers at a higher close rate — a number that depends on your sales process and your market, not on us. We show it because verified, pre-qualified leads (the kind WonFlo sends) tend to close more often than shared, unverified ones, and even a few points is worth real money on the same ad budget.

The line cost-per-lead never shows you

What the leads that never close are costing you.

A lead that was never a job still cost you twice: once to buy the click, and again when somebody drove out to look at it. You set the junk share up top — set the second number here, and below is the arithmetic behind the burn figure.

$75
Fuel, truck time and the hour of somebody's day. Set it to $0 if you never drive out before qualifying.
Junk leads / month 7.5
Ad spend that bought them $900
Chasing them $563
Burned per month$1,463
Burned per year$17,550

Every figure above is your own arithmetic. No industry averages, no benchmarks — just your spend, your lead count and the two numbers you set. And flagging junk earlier doesn't hand all of it back: some of those visits you'd have made anyway. Treat it as the ceiling on what better qualification is worth to you.

WonFlo sends pre-qualified, scored leads — so more of them close. See how it works →

Pre-filled values are industry averages for context, not a guarantee of results. The close-rate scenario is illustrative — your numbers, at a close rate you choose. The junk-lead share and chase cost are starting placeholders, not averages — set them to your own.