July 28, 2026
The only five marketing numbers a home services owner needs to watch.

Cost per booked job, booking rate, speed-to-lead, revenue per source, and true ROAS — defined, computed, and benchmarked without the fluff.
Your agency's monthly report is twelve pages long. Impressions are up 34%, clicks are up 18%, cost per lead is down to $58, and there's a pie chart of engagement by device. Nowhere in those twelve pages is the number you'd actually run the business on: what did a booked job cost this month, and what revenue came back?
That's not an accident. Most reports are built from what ad platforms find easy to measure, not from what connects to your schedule. This guide covers the five numbers that do connect — cost per booked job, booking rate, speed-to-lead, revenue per lead source, and true return on ad spend. For each one: what it means in plain English, how to compute it from data you already have, and what an honest benchmark looks like.
The short version
Grade marketing on booked jobs and the revenue they produce, not on the activity upstream of them. Five metrics do that:
- Cost per booked job — total marketing spend ÷ jobs that landed on the schedule. The single best health number for your marketing.
- Booking rate — the share of leads that become booked jobs. The multiplier that decides what every lead is actually worth.
- Speed-to-lead — minutes from a homeowner's inquiry to a real response. The cheapest metric to improve and the fastest payback.
- Revenue per lead source — booked-job dollars by channel, next to what each channel costs. Decides where next month's budget goes.
- True ROAS — booked-job revenue ÷ ad spend, measured in your CRM instead of the ad platform's conversion column.
Impressions, clicks, raw cost per lead, and keyword rankings are inputs, not results. They can hint at what's wrong inside a channel, but none of them can tell you whether marketing made money — so none of them get to be the scoreboard.
Why doesn't my marketing report tell me if I made money?
Because the report is assembled from what the ad platforms can see, and the platforms can't see your schedule. Google knows a click happened. It doesn't know the click became a call, the call became a $6,800 system replacement, and the customer paid. Each vanity metric fails in its own specific way:
- Impressions — how many times your ad rendered on a screen. A homeowner scrolling past at a red light counts exactly the same as one who called and booked. No connection to revenue at all.
- Clicks and click-through rate — a click costs money; it doesn't earn any. A high click rate paired with a low booking rate usually just means the ad over-promises.
- Raw cost per lead — the dangerous one, because it sounds like an outcome. A $25 lead who never answers the phone is worth less than a $60 lead who books a $3,000 job, and CPL ranks them backwards.
- Keyword rankings — position three for 'AC repair near me' is worth whatever calls it produces, and nothing more. Track the calls; keep the ranking as a diagnostic.
Cost per lead isn't useless — it's half a metric. Divide it by your booking rate and it becomes cost per booked job, which is where we'll start.
What is cost per booked job?
Cost per booked job (CPBJ) is everything you spent on marketing in a period, divided by the number of jobs that marketing actually put on the schedule. Not leads, not calls, not 'opportunities' — jobs a truck rolled on.
Compute it in two passes. First blended: total marketing spend — ads, agency fees, tracking software — divided by total booked jobs from marketing. Then, once your attribution can support it, per channel: Google Ads spend ÷ jobs booked from Google Ads, and so on down the list. The blended number tells you whether marketing works; the per-channel number tells you where it works.
Here's why it beats cost per lead. Say Channel A delivers leads at $45 and Channel B at $80. Channel A's leads book at 25%; Channel B's book at 60%. Channel A really costs $180 per booked job and Channel B costs $133. Cost per lead told you to pour money into A. Cost per booked job tells you the truth.
Benchmarking honestly: there is no universal 'good' CPBJ. It depends on trade, market, and job mix — a $79 tune-up tolerates a very different acquisition cost than a $12,000 install. Two yardsticks are useful anyway. A rule of thumb that shows up across benchmark guides is to keep CPBJ under roughly 10–15% of average ticket on demand service, with more headroom on big-ticket replacement work. And your own trend — CPBJ this quarter versus last, per channel — is the comparison that should drive decisions.
For reference points rather than promises: in our published case studies, a Dallas–Fort Worth multi-trade operator was paying $332 per booked job before closing its attribution loop and $143 ninety days after, and a cold-start HVAC company launched at $168 per booked job on under $8,000 of ad spend in its first three weeks. Your numbers will differ. The point is that the metric is measurable and movable.
What's a good booking rate for a home services business?
Booking rate is the share of leads that end up as booked jobs. It has layers, and every layer leaks: the share of calls you answer at all, the share of answered calls your CSR converts to an appointment, and the share of form and message leads anyone follows up before they go cold.
Compute it per channel: booked jobs ÷ total inbound leads. Your phone system reports answered versus missed; your CRM reports booked versus not. If you only track one version, track calls — booked jobs ÷ total inbound calls, including the missed ones. Counting only answered calls flatters the number, and the flattering version is the one most shops quote.
Benchmarks, hedged appropriately: published CSR benchmarks generally put average call-to-booked rates somewhere in the 40s, with top-quartile teams north of 65% — treat the exact figures as directional, since most come from call-coaching and call-tracking vendors. Web forms are worse: industry online conversion for contractor sites commonly runs 10–20%, meaning roughly four out of five form leads never become jobs.
Booking rate matters because it multiplies everything upstream. At $150 per lead, a 75% booking rate makes a booked job cost $200. At 45%, the same $150 lead balloons to $333 per booked job. Nothing about the ads changed — the intake did. This is why fixing booking rate is usually cheaper than buying more leads.
Two leaks eat most booking rates. Missed calls are the first — an unanswered phone is a 0% booking rate, and the missed-call math shows what that costs a typical shop per year. Slow or absent follow-up is the second; a lot of operators convinced they have a lead problem actually have a follow-up problem.
How fast do you need to respond to leads?
Speed-to-lead is the time between a homeowner reaching out — call, form, chat, LSA message — and a real response: a human on the phone, a live text conversation, or a booking. An auto-reply email doesn't count. Nobody's AC got fixed by 'We have received your inquiry.'
Compute it from two timestamps: when the lead was created, and when the first real outbound response happened. Report the median, not the average, and cut it by hour of day — the overall number hides the after-hours gap, where response times can quietly go from minutes to twelve-plus hours.
The reference point everyone cites is the lead-response research — originally a mid-2000s study of B2B sales leads, replicated in various forms since — which found that the odds of reaching a lead collapse after the first five minutes; the much-quoted figure is a 21× drop in qualification odds between a 5-minute and a 30-minute response. Home services surveys are blunter: a large majority of homeowners report hiring the company that responded first, while benchmark roundups put average contractor response times in hours, sometimes days. The bar you have to clear is embarrassingly low.
A workable target: under five minutes during business hours, under an hour overnight. The reasoning is laid out in the 5-minute rule, and the overnight half of the problem — which is where most of the misses hide — in what happens to after-hours leads.
How do you measure revenue by lead source?
Revenue per lead source is the booked-job revenue each channel produced in a period, sitting next to what that channel cost. It answers the only budget question that matters: if you had one more dollar to spend, where would it earn the most?
The arithmetic is trivial — sum job revenue by source in your CRM. The hard part is that the source field has to be true. 'Source: Google' picked from a dropdown by a busy CSR is a guess, not attribution. And in home services most high-intent contacts still arrive by phone, which is exactly where source data goes to die.
Phone attribution takes call tracking with dynamic number insertion — each website visitor sees a unique tracking phone number, so when they call, the call ties back to the ad click or search that brought them. Web bookings need the click ID — the tag Google attaches to every ad click — captured and stored on the job. Get both right and every job in the CRM carries its real source automatically.
There is no external benchmark for this metric, and you should be suspicious of anyone selling one. The benchmark is internal: rank your own sources by booked revenue per dollar spent, then move budget from the bottom of the list toward the top each quarter. The full setup — attribution models, common pitfalls, what to do about referrals and repeat customers — is in our marketing attribution guide for home services.
What is true ROAS — and why is your ads dashboard wrong?
ROAS — return on ad spend — is revenue divided by ad spend. True ROAS uses booked-job revenue from your CRM. The ROAS in your Google Ads dashboard uses whatever the platform counted as a conversion: form fills, calls over 60 seconds, sometimes a pageview it decided was valuable — priced at whatever value someone typed into a settings field two years ago.
The gap is structural, not a rounding error. The platform counts a conversion the moment a lead is created; it has no idea whether the lead booked, what the job invoiced, or whether it was spam. And remember who's grading the homework — the platform reporting your ROAS is the same one selling you the clicks.
Compute true ROAS per channel: booked-job revenue attributed to the channel ÷ fully loaded channel cost, meaning spend plus management fees. Give jobs 30–60 days to close before judging a month — a replacement quote can book weeks after the click that started it.
For a benchmark, start from your gross margin rather than an industry table. At a 50% gross margin, a 2× ROAS is roughly breakeven before overhead — which is why the 3–5× targets that agency benchmark content clusters around really just mean 'comfortably above breakeven.' Run your own margin math before adopting anyone's target number.
The fix that makes true ROAS self-reinforcing is offline conversion tracking: pushing each booked job's revenue back into Google, Meta, and Bing against the originating click, so the platforms' automated bidding optimizes toward revenue instead of form fills. How that works, step by step, is in our offline conversion tracking guide.
How do you track these numbers without hiring an analyst?
None of this requires a data team. It requires five pieces of plumbing, most of which you already half-own:
- Your phone system's answered-versus-missed report. Answer rate is the first layer of booking rate, and the report already exists — most owners have just never pulled it.
- Call tracking with dynamic number insertion, so every call carries its real source instead of 'phone' being a channel.
- Click ID capture on your forms and booking flow. What a GCLID is and how to store it is a ten-minute read and mostly a one-time setup.
- A CRM source-field policy: no job gets closed without a real source attached. This one is discipline, not software.
- Offline conversion sync back to the ad platforms, so the true numbers also train the bidding — not just the monthly report.
You can wire a rough version of this with spreadsheets and stubbornness. Platforms like Peach automate the loop — calls, forms, and bookings land in the CRM with source attached, and booked revenue flows back to the ad platforms — but the metrics themselves are vendor-neutral. Track them on whatever stack you have.
How often should you check each metric?
Cadence matters because sample size matters. A 15-job week can swing any of these numbers 30% on pure noise, and the owner who re-plans the budget off one bad week does more damage than the owner who never looks at all.
- Weekly: booking rate and speed-to-lead. These are operations metrics — a bad week means a staffing or process problem you can fix on Monday.
- Monthly: cost per booked job and revenue per lead source. Enough volume to mean something, fresh enough to act on.
- Quarterly: true ROAS and budget reallocation between channels. Platform bidding needs learning time, and big-ticket jobs need runway to close.
That's the whole system: five numbers on one page, reviewed on a schedule. If your current reporting can't produce them, that isn't a reporting problem — it's an attribution problem, and it's fixable in weeks, not quarters.
FAQ
What is a good cost per booked job for home services?
There's no universal figure — it varies by trade, market, and job mix. A common rule of thumb in benchmark guides is to keep it under roughly 10–15% of average ticket for demand service, with more headroom on big-ticket replacements. Your own per-channel trend over time is a better yardstick than any industry table.
Is cost per lead a useless metric?
No — it's incomplete. It works as an early-warning light inside a single channel, but it says nothing about whether leads booked or what the jobs were worth, so it can't be the number you optimize spend against. Divide it by your booking rate and you get cost per booked job, which is the version worth managing.
What ROAS should a home services company aim for?
Start from your gross margin instead of an industry table: at about 50% gross margin, 2× is roughly breakeven before overhead, which is why the commonly published 3–5× targets amount to 'comfortably above breakeven.' Whatever target you pick, measure it with booked-job revenue from your CRM — platform-reported ROAS routinely overstates the real number.
Do I need special software to track these metrics?
You need three connections more than you need any particular product: call tracking that ties each call to its source, a CRM where every job carries that source, and click IDs captured on web leads. Some shops wire this together with spreadsheets and process discipline; attribution platforms automate it. The metrics are the same either way.
Want to skip the setup?
We do the CRM integration, ad-platform conversion sync, and booking-form setup for you. Most operators are live in 5–10 business days.
All articles