cpbj · metrics · strategy · revenue · roi

How to calculate your cost per booked job

The exact formula for Cost Per Booked Job (CPBJ), why cost-per-lead lies to you, and how to reconcile platform reports with actual booked work.

Google Ads reports: “You got 50 leads at $40.00 each.” Your booking calendar: “You got 12 jobs.”

Between those two numbers is where most businesses lose money without knowing it.

Why cost-per-lead is a broken metric

A “lead” is a form fill, a phone call, a WhatsApp message. It’s an enquiry.

A “booked job” is a customer with a date on the calendar.

If 50 leads become 12 jobs, your real cost per booked job is (50 × $40.00) / 12 = $166.67, not $40.00.

For a $500.00/ticket business, $166.67 per job is healthy. For a $150.00/ticket business, it’s a loss.

That’s why cost-per-lead is useless without a conversion rate into booked jobs.

The CPBJ formula

CPBJ = Total ad spend ÷ Total booked jobs

Real example from a cleaning client:

  • Monthly spend: $2,800.00
  • Platform reported: 42 leads at $66.67 each
  • Actual booked jobs from those leads: 9

CPBJ: $2,800.00 ÷ 9 = $311.11 per booked job

The platform said $66.67. The business paid $311.11 for each real customer.

How to get the “booked job” count right

Most businesses overcount or undercount. Here’s the strict definition:

A booked job is:

  • A new customer (not a repeat)
  • Has a Scheduled date/time
  • They committed (doesn’t have to be paid yet, but it’s on the calendar)
  • They know the price (or at least the range)

Not a booked job:

  • “We’ll get back to you”
  • “Send me a quote”
  • A form fill with no follow-up confirmation

The three rates that determine CPBJ

Track these monthly:

1. Enquiry rate (cost per lead)

Spending $2,800.00 / 42 leads = $66.67 per lead

2. Close rate (leads → jobs)

9 booked jobs / 42 leads = 21.4% close rate

3. CPBJ (the only number that matters)

$2,800.00 / 9 jobs = $311.11 per booked job

The diagnostic check: is your CPBJ healthy?

CPBJ only makes sense against your ticket value and margin.

The formula:

Break-even CPBJ = Average ticket × Gross margin

For a $500.00 ticket with 40% margin: Break-even CPBJ = $500.00 × 0.40 = $200.00

If your CPBJ is $311.11, you’re losing $111.11 on every new customer you acquire.

The same business at 60% margins: Break-even CPBJ = $500.00 × 0.60 = $300.00

CPBJ $311.11 vs break-even $300.00 = barely breaking even.

How to improve CPBJ without spending less

You don’t lower CPBJ by cutting budget. You lower it by affecting the three rates:

To lower cost per lead:

  • Better ads (higher CTR = lower CPC)
  • Better keywords (high-intent terms cost more, but convert better)
  • Exact match over broad

To raise close rate (the biggest lever):

  • Answer faster (calls answered in under 30 seconds have 3-4x higher booking rates)
  • Follow up twice on every form fill
  • Quote on the first call, don’t just “get back to them”
  • Remove pricing objections. Someone asking “what is the range?” is close to buying, not being difficult.

To raise ticket value:

  • Package add-ons (“deep clean + windows”)
  • Membership/recurring service options
  • Seasonal upsells

The monthly CPBJ review you should run

Every month:

  1. Count booked jobs from ads (ignore platform reports, count the calendar)
  2. Calculate CPBJ (total spend ÷ booked jobs)
  3. Compare to break-even CPBJ
  4. If above break-even: Check close rate first, then ticket value, then CPL
  5. If below break-even: You can scale. Increase budget 20% next month.

The nasty surprise most owners discover

Platform: “42 leads at $66.67” Owner: “The ads are working” Reality: 21% close rate × $500.00 ticket × $2,800.00 spend = CPBJ $311.11, margin 40% = $3,111.10 loss per month

The ads “worked” at getting leads. They failed at making money.

Bottom line: The only metric that tells you if your ads are working is Cost Per Booked Job. Everything else is an input into that number.

I count conservatively. Every untracked job is your upside, not my credit.

Start here

Three numbers are enough to start.

  1. What the last marketing attempt cost, all-in
  2. What a booked job is usually worth
  3. How many jobs you can take on now

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

What is happening with your advertising?

Spend, leads, and what you suspect is going wrong. I reply within 12 hours.

No contracts. I reply within 12 hours.

Start with a number