Rooftop

Home / Blog / Article

Economics · 8 min read

Roofing cost per acquisition: the number most contractors calculate wrong.

Cost per lead is the metric vendors want you to optimise. It’s also the one that hides where your money actually goes.

Ask a roofing contractor what their leads cost and you’ll usually get a confident, specific answer. Ask what a signed job costs to acquire and the room goes quiet. That gap is where margin disappears.

Why cost per lead misleads

Cost per lead measures the price of entering the funnel. It says nothing about the shape of the funnel. Two sources at identical prices can differ by a factor of five in what they eventually cost per signed contract.

Source A — cheap shared leads

Cost per acquisition: roughly $2,270.

Source B — exclusive booked appointments

Cost per acquisition: roughly $1,020. Source B costs six times more per unit and delivers jobs at less than half the acquisition cost.

These are illustrative figures to show the mechanics of the calculation, not published Rooftop performance data. Run the arithmetic on your own numbers — that’s the entire point of the article.

The costs contractors leave out

How to calculate it properly

Over a fixed window — a quarter works better than a month, because roofing is seasonal — total everything spent on generating work, add loaded estimator hours spent on appointments that produced no contract, then divide by the number of contracts signed from that spend. Then split it by source.

The ratio that actually matters

Once you have CPA, compare it to average job value:

What to do with the number

Kill your worst source. Not shrink it — kill it. The spend redeployed to your best channel almost always outperforms the marginal volume you lose.

Measure show rate separately. It’s the biggest lever between spend and revenue, and the one most contractors never isolate.

The short version

Cheap leads are only cheap at the point of purchase. Everywhere downstream they cost more than they saved. The contractors who grow profitably are usually the ones paying the most per unit and the least per job.

Price a channel that bills on inspections.

Only pay for appointments your team actually gets to inspect.

Scroll to Top