If your marketing report leads with "cost per lead," ask a follow-up question: how many of those leads actually became booked jobs? In most home-service businesses we look at, the answer varies enormously by channel and by lead source — which means cost per lead alone can make a bad channel look good and a good channel look bad.
Here's a simple example. Say a Google Ads campaign produces leads at $40 each, and a Local Services Ads campaign produces leads at $65 each. On cost per lead, the Google Ads campaign wins easily. But if the Google Ads leads close into booked jobs at 15% and the LSA leads close at 40% — because LSA leads have already seen your reviews and Google Guarantee badge before they ever call — the real cost per booked job flips the comparison entirely: roughly $267 per booked job from Google Ads versus roughly $163 per booked job from LSA. The "cheaper" channel was actually the more expensive one, once you follow the lead all the way to a signed job.
The formula, and why it's harder than it looks
Cost per booked job is straightforward in concept:
Total spend on a channel ÷ number of booked jobs from that channel = cost per booked job
The math isn't the hard part. The hard part is getting the inputs right, because it requires connecting three things that usually live in three different systems: your ad platform (spend), your call tracking or form data (leads), and your CRM or job-scheduling system (which leads actually became paying customers).
Most businesses can tell you spend and lead count easily. Far fewer can tell you, by channel, which specific leads turned into a signed job and how much that job was worth. That gap — the missing link between "lead" and "job" — is the single most common blind spot we find in a marketing analytics audit.
What you need in place to actually calculate this
Call tracking with dynamic number insertion, so every call is attributed to the specific ad, keyword, or page that generated it — not just "phone calls," but phone calls from campaign X.
Form tracking tied to UTM parameters, so web form submissions carry the same channel-level attribution as calls.
A CRM stage that marks "booked job" or "closed-won" distinctly from "lead" or "quote sent," and a habit of actually moving records through those stages consistently — the data is only as good as the discipline behind it.
A way to tie a CRM record back to its original marketing source — this is the step most businesses are missing, and it's usually the reason cost per booked job can't be calculated cleanly yet.
If any of these pieces are missing, the honest answer is: you can't calculate a real cost per booked job yet, and any number claiming to be one is a rough estimate dressed up as precision. That's a legitimate, common starting point — the fix is building the tracking, not pretending the number already exists.
What good cost-per-booked-job reporting looks like
A trustworthy report doesn't just show one blended number. It breaks cost per booked job down by channel, so you can see that search ads are producing jobs at one cost while paid social is producing them at another, and direct mail at a third. It shows the close rate by channel alongside the cost, because a channel with a high cost per lead but a very high close rate might still be your best-performing source. And it's honest about data gaps — if a channel's booked-job data isn't reliably connected yet, a good report says so rather than filling the gap with a guess dressed up as a real number.
Why this changes how you spend
Once you can see cost per booked job by channel, budget decisions get much clearer. You stop asking "which channel gets the most clicks" and start asking "which channel actually fills my schedule for the least money" — which is the only question that was ever supposed to matter. Channels that look expensive on a cost-per-lead basis sometimes turn out to be your best investment once you follow the money all the way to a signed job, and channels that look cheap sometimes turn out to be quietly burning budget on leads that were never going to close.
If you don't currently know your cost per booked job by channel, that's a normal place to start — and usually the first concrete deliverable worth building before any conversation about increasing ad spend.

