cpl · metrics · reporting · strategy
Why cost per lead is the wrong metric for a local service business
Cost per lead is a reporting convenience, not a business number. The arithmetic that turns a $45.00 lead into a $229.59 paying customer.
cpl · metrics · reporting · strategy
Cost per lead is a reporting convenience, not a business number. The arithmetic that turns a $45.00 lead into a $229.59 paying customer.
Cost per lead is the number most Google Ads reporting leads with, because it is the number the platform can produce without help. “You got 50 leads this month at $45.00 each” is a true sentence. It is also not a business answer.
Nobody deposits a lead. You deposit a paid invoice, and everything between the lead and the invoice is a place where the real cost of a customer goes up.
Start with what the dashboard shows:
Now walk the same 50 leads through the steps your business actually goes through. These rates are illustrative, not from a specific account, and you should replace them with your own:
| Step | Rate | Real cost at this stage |
|---|---|---|
| Click to lead | 15% | $45.00 per lead |
| Lead to attended appointment | 70% | $64.29 per attended appointment |
| Appointment to booked job | 35% | $183.67 per booked job |
| Booked job to paid invoice | 80% | $229.59 per paying customer |
A $45.00 lead is a $229.59 customer. That is a factor of five, and it is not hidden or unusual. It is what happens when four ordinary drop-off rates multiply: 0.70, then 0.35, then 0.80 leaves 19.6% of the leads standing.
Fifty leads become 35 appointments, then 12 booked jobs, then 9 or 10 paid invoices. If your average ticket is $400.00, that month produced roughly $3,900.00 in revenue on $2,250.00 in spend. Whether that is a good month depends entirely on your margin, which is a number the ad platform has never seen.
An operator who never sees your booking calendar cannot report past the lead. That is a data problem before it is a competence problem: the platform knows a form was submitted, and nothing after that is visible to it unless someone deliberately connects the two.
The fix is not a better dashboard. It is a monthly step where you say which tracked enquiries became work and what the work was worth. Ten minutes. Without it, every number stops at the enquiry no matter how the report is formatted.
| Metric | Formula |
|---|---|
| Cost per booked job | Total ad spend ÷ booked jobs |
| Revenue per ad dollar | Confirmed job value ÷ ad spend |
| Close rate | Booked jobs ÷ qualified leads |
| Repeat value | Initial ticket × expected repeat frequency |
Cost per booked job is the one to lead with. It is the number that changes decisions, because it is the only one you can hold against your own margin and get an answer.
Spend $2,000.00, report 40 leads, and the cost per lead is $50.00. If 8 of those leads became jobs, the cost per booked job is $250.00. Both numbers are true. Only one of them tells you whether to spend another $2,000.00 next month.
I count conservatively. Every untracked job is your upside, not my credit.
Start here
Send what you have. A missing number is not a blocker, working it out is part of the audit. No contracts, ever. I reply within 12 hours.
Send the numbers
Spend, leads, and what you suspect is going wrong. I reply within 12 hours.