The Shift from Clicks to Profit
Most agencies report on ‘visibility’ and ‘impressions’. But for a service business, these are vanity metrics. What matters is the Cost per Booked Job.
The one number under it all
Cost per booked job = ad spend ÷ booked jobs. Said the other way: your cost per lead divided by your close rate. A $50 lead at a 25% close rate is a $200 booked job. The same $50 lead at a 10% close rate is a $500 booked job — same ad, very different business.
Knowing your max CAC
Gross profit per job = average ticket × gross margin. Your max CAC is the slice of that profit you’re willing to spend to win the job and still come out ahead. Spend less than max CAC and the channel makes money; spend more and you’re buying jobs at a loss.
With the numbers above, a $50 lead becomes a $200 booked job and leaves $100 in profit — healthy. Push cost per lead to $90 and the booked job costs $360, more than the $300 it earns. The ad still “works” on the surface; the business quietly loses money on every job. That line only moves in your favor if LTV — repeat service, maintenance plans, referrals — pays back the gap over time.
Why it matters
- Budget guardrails. Knowing your max CAC turns “is this expensive?” into a yes/no rule, not a gut feeling.
- Channel stress testing. Some channels scale almost linearly (Google Ads, LSA — more budget, more leads up to a ceiling). Others saturate fast (one city’s Map pack). Unit economics tells you which channel can absorb the next $1,000 without blowing past max CAC.
- Founder sanity. You finally see where every dollar goes — and you can say no to a channel before it drains the month.
The most common mistakes
- Chasing CPL while close rate quietly drops — cheaper leads that book less are not cheaper jobs.
- Counting revenue instead of gross profit — a $600 job at 20% margin is not the same as one at 50%.
- Ignoring LTV for repeat-service trades (HVAC maintenance, recurring cleaning) — your real max CAC is higher than a single job.
This is the math we run before scaling any spend. If a channel can’t pay back, we say so — that’s the whole point of starting with economics instead of clicks.