Cost Per Booked Job Calculator
CPL is a vanity metric. The number that actually runs your business is cost per booked job. Input your CPL, follow-up rate, and close rate to see yours in real time.
Your Funnel Numbers
Average cost to generate one lead. Published Home & Home Improvement average on Facebook: $42.95 (WordStream/LocalIQ 2026).
What % of leads actually book on your calendar. Use your own; 30-50% is a planning assumption, not a benchmark.
What % of appointments turn into paying customers. Use your own; 25-45% is a planning assumption, not a benchmark.
Average revenue per booked job.
Revenue minus job costs (materials + labour) ÷ revenue. Sets how much a booked job can afford.
Cost Per Booked Job
$307
Effective close rate: 14.0% — of every 100 leads, ~14 become paying customers.
Gross profit per job: $1,600. Plan (a quarter): $400 · half line: $800.
“Booked job” here means a paying job (signed or deposit taken), not a booked appointment.
Room to Scale
Each booked job costs 19% of the gross profit it earns — within the rule-of-thumb quarter. If you have crew capacity, raise spend in steps and watch this number.
Talk through this number
Free 60-second application to talk through these numbers.
Common Questions.
Why does cost per booked job matter more than cost per lead?
A $15 lead that closes 8% of the time ($188/job) is worse than a $30 lead that closes 25% of the time ($120/job). CPL alone can be misleading — a lower CPL sometimes means lower-intent leads. Cost per booked job captures the full funnel.
What's a good cost per booked job for home services?
It depends on job value, so judge it against the gross profit a job earns rather than a flat number (the calculator does this when you enter job value and margin). A workable planning guardrail is about a quarter of the gross profit a job earns: hypothetically, a $12,000 roof at 30% gross margin earns $3,600, so plan on about $900 per booked job (half line $1,800), while a $300 service call at 50% margin earns $150: plan on about $40, and above about $75 it rarely leaves enough for overhead (this site's rule of thumb). The same $400 is fine on the roof and ruinous on the service call.
How do I improve my cost per booked job?
Three levers, usually in this order: (1) improve speed-to-lead — Harvard Business Review's 2011 study found firms that tried to contact a lead within an hour were about 7 times as likely to qualify a lead; (2) tighten appointment-setting script + booking friction; (3) improve offer so more leads self-qualify before becoming appointments.
Does this tool factor in management fees or just ad spend?
Just ad spend (CPL). Management fees are separate and vary by agency and scope; add yours to get total cost of ownership. For total cost per customer, divide total monthly spend by booked jobs.
Why does my actual CPBJ differ from what I calculate here?
Usually one of three things: (1) you're measuring over too short a window — a week or two is mostly noise, so use at least a month and ideally the 90-day window described below; (2) you're counting unqualified leads in your CPL (fake form fills, wrong numbers); (3) team follow-up quality varies by day/week — measure your best week vs your worst week and the gap reveals your follow-up variance. Clean these three before trusting the math.
What should I do if my cost per booked job is too high for the jobs it wins?
Three-step fix, in order: (1) FOLLOW-UP: implement automated SMS + call within 5 minutes of lead submit (often the biggest single lift available); (2) OFFER: use the Offer Grader tool to identify weak offer elements that are attracting price-shoppers; (3) CREATIVE: rotate in 2-3 new creative variations to break out of audience fatigue. It's tempting to jump to #3 first — that's backwards. Fix #1 and #2 before spending on new creative.
How does this compare to my industry's typical cost-per-acquisition?
Use this as a self-benchmark, not external comparison. Industry CPA reports average across hundreds of accounts at all skill levels — a $400 'average' includes both $150 winners and $800 underperformers. Your goal: beat your own previous quarter's CPBJ, then beat that quarter's. Comparing to 'industry average' often produces complacency at mediocre numbers. Aim to keep improving on your own numbers, and judge them against the gross profit each job earns.
How should I weigh cost-per-booked-job against the lifetime value of the customer?
Weigh it against lifetime gross profit, not just the first job — as far as you trust your repeat rate. Hypothetically, at a 40% margin a $400 cost per booked job is 83% of a $1,200 first job's $480 gross profit (the tool flags that as over half the gross profit), but if that customer really averages 3 jobs over 5 years ($3,600, or $1,440 of gross profit), it's about 28% of lifetime gross profit — close to the comfortable quarter. For trades with strong customer retention or recurring revenue (HVAC service contracts, lawn care, pest control), a higher CPBJ is justified by long-tail revenue. For one-time trades (roofing replacement, solar install), the first job needs to carry more of the math. Run the LTV Calculator (/tools/ltv-calculator) first to know your real LTV; for repeat-business trades, the lifetime maths can change the answer a lot.
What's the right way to calculate cost-per-booked-job when leads come from multiple ad platforms?
Build a unified attribution view, not platform-specific reports. Standard contractor stack: Meta + Google LSA + Google Search + organic. The calculation: TOTAL ad spend (across all platforms) ÷ TOTAL booked jobs that came from any paid source = blended cost-per-booked-job. Then segment per-platform to see which is most efficient: Meta-attributed CPBJ, LSA-attributed CPBJ, etc. Critical: don't double-count jobs across platforms. A customer who clicked your Meta ad, then later searched 'your business name' on Google and clicked LSA, gets attributed to LSA in last-click models — but Meta deserves credit too. Use a CRM source field that captures 'first touch + last touch' or run a quarterly survey of new customers asking 'what was the FIRST place you saw us?' to calibrate the multi-touch picture. Last-click, single-platform CPBJ numbers tend to understate Meta's contribution, because Meta often introduces people who convert later through search.
Should I include management fees and creative production costs in cost-per-booked-job, or keep them separate?
For internal decisions: include them. For comparing campaigns: exclude them. Two different views serve different purposes. INCLUSIVE CPBJ (ad spend + agency fees + creative production ÷ booked jobs): tells you the TRUE cost of every customer. Use this for pricing decisions and ROAS targets. EXCLUSIVE CPBJ (ad spend only ÷ booked jobs): the usual way to compare campaign efficiency. Use this when an agency reports 'we hit a $150 cost per booked job' — to translate to your business reality, add their retainer + your creative costs. Example: agency says $150 CPBJ on $5K ad spend (33 jobs). Add $2K agency retainer + $500 creative = $7,500 / 33 jobs = $227 inclusive CPBJ. That's the real number for your bookkeeping. Track both numbers; report inclusively to yourself, exclusively to vendors.
How do I read my cost-per-booked-job trend line — is a 10% month-over-month rise a red flag?
Depends on context. Build a 3-tier alert system (the thresholds are a rule of thumb): (1) GREEN ZONE (CPBJ within 10% of baseline) — normal week-to-week noise; ignore; (2) YELLOW ZONE (CPBJ 10-25% above baseline for 3+ weeks) — early warning. Investigate creative fatigue, audience saturation, or seasonal drift. Don't change anything yet, but flag for review; (3) RED ZONE (CPBJ >25% above baseline for 2+ consecutive weeks) — actionable problem. Run the 60-minute diagnostic: check tracking, creative fatigue, landing page, follow-up speed. Compare CPBJ to baseline AND to last year's same-week CPBJ — if both are off, it's a real account issue; if only the recent baseline is off, it might be seasonal recovery toward last year's number (do nothing). Pausing on green or yellow movements causes needless learning-phase resets that can take weeks to recover from. Trust the 3-tier system; act on red zone, watch yellow zone, ignore green zone.
What's the right way to set CPBJ targets for my team or agency — fixed or flexible?
Range-based, not fixed. Fixed targets ('hit $300 cost-per-booked-job') trigger panic + bad decisions when normal market noise causes a temporary spike. Range-based targets ('keep CPBJ between $250-$400') reflect reality + give the team room to optimize without panic-pausing campaigns. Build the range using your 90-day historical data: floor = best month's CPBJ; ceiling = worst month's CPBJ × 1.1 (10% margin for noise). Action triggers: (1) below floor for 14+ days = scale UP budget; (2) above ceiling for 14+ days = pause + diagnose; (3) within range = leave alone, focus on creative iteration not budget changes. Update the range quarterly as your data improves. A single 'target CPBJ' where any deviation is treated as a problem leads to constant fiddling that prevents algorithm stability. Range-based targets give you a stable operating zone with explicit triggers for action.
How does my CPBJ trend tell me whether to invest in better creative vs better follow-up vs better landing page?
Decompose CPBJ into its three components + identify which is dragging. CPBJ = (CPL) × (1 / lead-to-appointment rate) × (1 / appointment-to-job rate). Three diagnostic patterns: (1) HIGH CPL but normal close rate = creative + audience problem (refresh creative + try new audience); (2) NORMAL CPL but low lead-to-appointment rate = follow-up speed or qualification problem (audit response time + script); (3) NORMAL CPL + appointment rate but low close rate = sales presentation or pricing problem (review proposals + sales script). Random fixes waste money; the decomposition tells you where to invest. Run this calculator with your numbers and with your own best month's numbers — the gap shows you which component is most off. Fix the biggest gap first, recalculate, then move to the next biggest. Sequential fixes vs random fixes = night-and-day difference in efficiency.
What's the right way to communicate CPBJ to my agency or in-house team without creating defensiveness?
Frame it as joint accountability, not blame. Three communication tactics: (1) SHARE THE FRAMEWORK first — get team buy-in on 'cost per booked job is the metric we optimize against' BEFORE introducing specific numbers. Explain why CPL alone is misleading; ask their feedback. Now you're aligned on metric definition; (2) PRESENT historical CPBJ as a SHARED context — 'Our 90-day CPBJ is $385. Last quarter it was $340. Let's understand what changed.' Not 'why is your CPBJ up?' Past-tense + we-language vs accusatory; (3) FOCUS the conversation on UPSTREAM levers, not blame — 'What can we test this month to drive CPBJ down?' is forward-looking + collaborative. 'Why didn't you hit target?' is backward + adversarial. The goal: team treats CPBJ as a shared metric to improve together, not a stick to beat them with. Metrics shared as blame make agencies defensive and push them to write justifications instead of improving. Frame it right + the conversation shifts from CYA to optimization.
How does my CPBJ math change when I have RECURRING repeat customers (HVAC tune-up subscribers, lawn-care recurring clients)?
Recurring customers dramatically lower CPBJ over their lifetime. Standard CPBJ (single-job math): ad spend ÷ booked jobs. Recurring-CPBJ (lifetime math): ad spend ÷ EXPECTED LIFETIME bookings from each customer. Example: $300 ad cost to acquire a pest-control customer who books quarterly visits at $150 each for 24 months = 8 booked services × $150 = $1,200 lifetime revenue from $300 acquisition. Judge the $300 against lifetime gross profit, not per-visit revenue: at a 50% margin the customer brings $600 of gross profit, so $300 is half of it — right on the half line, and double the quarter you'd plan for. Recurring customers do justify a higher bid than one-visit thinking suggests, but only if they really stay; check your own retention before bidding up. Bidding as if every recurring customer is one-and-done leaves growth on the table. Work out both numbers: this calculator gives the first-job view (enter the first job's value), and the LTV Calculator (/tools/ltv-calculator) gives lifetime gross profit and the matching bid ceiling. Use the first for short-term decisions and the second for the ceiling in your scaling strategy.
Sources
The published figures on this page come from the studies below. The funnel-rate ranges and the quarter-of-gross-profit guardrail are rules of thumb, not benchmarks. Last verified 2026-09-26.
- 1WordStream / LocalIQ — Facebook Ads Benchmarks 2026
2026. Home & Home Improvement lead campaigns: $42.95 cost per lead.
- 2Harvard Business Review — The Short Life of Online Sales Leads (Oldroyd, McElheran & Elkington)
March 2011 · Audit of 2,241 US companies, plus analysis of 1.25 million leads at 29 B2C and 13 B2B US companies. Firms that tried to contact a lead within an hour were nearly 7 times as likely to qualify it as those that waited longer.
Related Tools & Guides
Keep going — these pair well with this calculator.