Cost per booked job: definition, formula, and dashboard example

Cost per booked job tells you exactly what you paid in marketing and lead-generation spend for each job that made it onto the schedule. Here is how to calculate it, what moves it, and how to watch it in real time.

By Datacube content engineAutogeneratedJuly 8, 2026

Formula

Cost per booked job = total marketing spend ÷ number of booked jobs

Add up every dollar spent on the lead sources you are measuring (ads, call tracking, lead aggregators, etc.) for a given period. Divide by the number of jobs that actually booked from those sources during the same window. The result is what each booked job cost you to generate.

Track cost per booked job by channel so you know which sources are efficient and which are eroding margin. An all-in number masks huge variation across Google Ads, LSA, Yelp, and referral.

What is cost per booked job?

Cost per booked job (CPBJ) is the marketing and lead-generation cost your company incurs for each job that lands on the schedule. It is a bridge between your marketing budget and your operations output: it answers the question every owner eventually asks after reviewing an ad invoice: how many booked jobs did that actually produce?

The metric matters most when you are running more than one paid channel. A company spending across Google Ads, local service ads, and a lead aggregator will usually find that each channel delivers a very different cost per booked job, even if the aggregate looks acceptable. Without visibility at that level, budget decisions are guesswork.

Why it is different from cost per lead

Cost per lead stops at the inquiry. Cost per booked job keeps going through the CSR or online-booking funnel and only counts when the job is on the calendar. That distinction matters because a channel with a low cost per lead but a poor booking rate can end up with a higher cost per booked job than a premium channel your team converts well. Cost per lead optimizes the ad. Cost per booked job optimizes the business.

How the math works

To calculate it, divide the marketing spend on a source by the number of jobs booked from that source. Comparing it channel by channel is the point: two channels can look fine inside a healthy total budget while one quietly costs far more per booking than the other, which is where you move spend. Datacube's marketing board pulls booked jobs, leads, and campaign revenue by source from the CRM (in ServiceTitan, the Campaign Summary report); because ad spend lives in the ad platforms rather than the CRM, cost per booked job is derived by dividing the spend you connect by those booked jobs.

Who owns it and how often to review it

The marketing leader or GM owns cost per booked job as a budget-allocation signal. Review it monthly by channel as a standard budget line, weekly if you are running active tests between sources, and immediately when a new channel goes live. Do not wait for the month-end invoice cycle to find out a channel ran hot.

What causes CPBJ to rise

Cost per booked job rises when spend increases without a matching lift in bookings, or when bookings fall without a cut in spend. The usual culprits: ad costs inflate (competitive season), lead quality drops (wrong audience targeting), or the CSR funnel leaks (high abandoned call rate, undertrained reps, understaffed phones during peak). A rising CPBJ with flat spend is almost always a booking-funnel problem, not an ad problem.

Cost per booked job by channel: a July example

ChannelAd spendLeadsBooked jobsBooking rateCost per booked job
Google Ads$8,000624065%$200
Local service ads$3,200282279%$145
Lead aggregator$2,40018633%$400
Referral / organic$0141393%$0
Total / blended$13,6001228166%$168

Warning

Data visibility gap: ad spend and CRM bookings in separate systems

Most home-service companies track ad spend in Google Ads or a marketing platform and track booked jobs in their CRM. When those two data sets never meet, cost per booked job exists only as a manual spreadsheet exercise done weeks after the period closes. By the time you find out the lead aggregator cost $400 per booking last month, you have already paid for another month of it. Connecting spend data and CRM booking data into one dashboard is what turns this into a live operating metric instead of a retrospective invoice review.

Reading cost per booked job movement

Targets vary by trade, average ticket, and channel mix. Use these as directional signals against your own baseline, not as universal benchmarks.

  • CPBJ trending down with flat or rising booked-job volumeBetter booking conversion or more efficient ad delivery; protect this channel
    Good
    Current
    Target
  • CPBJ rising while spend is flatBooking rate may be dropping; check CSR performance and call handling
    Watch
    Current
    Target
  • One channel more than 2x the CPBJ of your best channelReallocate budget unless that channel serves a strategic segment
    Watch
    Current
    Target
  • CPBJ exceeds average gross profit per jobMarketing is producing jobs that cost more to acquire than they earn; review immediately
    Poor
    Current
    Target
  • CPBJ stable but average ticket decliningAcquisition efficiency holds, but revenue per booking is eroding
    Watch
    Current
    Target
  • CPBJ on a new channel within 20% of your best channel after 60 daysNew channel is proving out; consider scaling the budget
    Good
    Current
    Target

Info

A note on targets

There is no single universal cost-per-booked-job number that applies across trades. A plumbing company running emergency calls will have a very different CPBJ than a roofing company chasing storm estimates. Set your target relative to your average ticket and gross margin: if a booked job yields $800 in gross profit, your CPBJ ceiling is not the same as a company where the average job yields $250. For trade-specific guidance, see the dedicated cost-per-booked-job benchmark resource.

Cost per booked job on a live marketing dashboard

How CPBJ appears on a datacube marketing board alongside spend, bookings, and booking rate by channel, so an owner or marketing leader can reallocate budget without waiting for a month-end report.

Dashboard preview

Figures are illustrative. Your datacube board reflects your own connected ad platforms, call tracking, and CRM booking data.

How to lower cost per booked job without cutting lead volume

  1. 01

    Break CPBJ out by channel

    An aggregate number hides which sources work. Calculate CPBJ for each paid channel separately before making any budget decisions. Connect your ad spend data and CRM booking data so the calculation is automatic, not a monthly spreadsheet project.

  2. 02

    Fix the booking funnel before cutting ad spend

    If CPBJ is rising because booking rate is low, cutting ad spend does not solve the problem: it just means fewer leads leaking from the same funnel. Audit your CSR call handling, your abandoned-call rate, and your after-hours coverage first. A booking-rate gain converts existing spend into more booked jobs without buying more leads.

  3. 03

    Reallocate budget toward your lowest-CPBJ channels

    Once you have channel-level data, shift budget incrementally from your highest-CPBJ sources toward the efficient ones. Watch CPBJ and booked-job volume together: a channel with a low CPBJ but a low ceiling on lead volume may not absorb more budget cleanly.

  4. 04

    Set a CPBJ ceiling relative to your average ticket

    Work backwards from margin: if a booked job yields $600 in gross profit on average, decide the maximum fraction of that you are willing to spend on acquisition. That fraction is your CPBJ ceiling. Jobs booked above that threshold cost more to generate than the business model can sustain at scale.

  5. 05

    Review CPBJ alongside marketing ROI

    Cost per booked job tells you what bookings cost. Marketing ROI tells you what those bookings returned. Track both together to catch the scenario where CPBJ looks acceptable but the jobs being booked are low-ticket. See the marketing ROI page for how these KPIs interact.

Owner takeaway

  • Cost per booked job is a budget-allocation tool, not just a reporting line. Use it to decide where to put next month's marketing dollars, not to explain where last month's went.
  • A high CPBJ is almost as likely to be a booking-funnel problem as an ad-cost problem. Check booking rate by channel before moving budget.
  • The blended number lies. One channel costing $400 per booking alongside one costing $145 averages to something that looks fine while one of them destroys margin.
  • Set your ceiling from your margin, not from a benchmark. What counts as too high depends on what the average booked job is worth to your business.

Cost per booked job FAQs

See what your marketing spend is actually producing

Connect your ad platforms, call tracking, and CRM to a datacube marketing dashboard and watch cost per booked job update by channel, in real time, so you can reallocate budget before the month is over.

Keep exploring

Go deeper

Dig deeper