The Marketing Scorecard for Home Services
This scorecard tracks booked jobs, not leads, for HVAC, plumbing, electrical, roofing and similar trades. It connects ad spend to the phone, the phone to the dispatch board, and the dispatch board to technician capacity. The owner, the CSR lead, the dispatcher and the media buyer each own rows, and the whole thing takes 20 minutes a week.
Why this scorecard exists
Why a generic scorecard fails in the trades
A generic marketing scorecard counts leads and stops there. In home services a lead is a phone call that may or may not get answered, may or may not get booked, and may or may not turn into a truck in a driveway. If the scorecard ends at form fills and calls, the media buyer looks great while the schedule sits half empty. The number that pays the technicians is booked jobs, and everything upstream only matters as a step toward it.
Measuring a trade business is different because the funnel runs through people and a calendar. A missed call at 4:45 on a Friday is a lost job, not a lost lead, and the dispatcher can see the gap before anyone in marketing does. Demand is seasonal in ways that swamp any week-over-week comparison, so the only fair baseline is your own history for the same weeks last year. And there is a hard ceiling on the other end: if the techs are booked out ten days, more leads do not become more revenue, they become cancellations.
When the scorecard is live, the conversation changes. The owner stops asking why the phone is quiet and starts asking why answer rate slipped on Tuesday afternoons. The media buyer stops defending cost per lead and starts working from cost per booked job by channel. The CSR lead sees booking rate next to their name every Monday. Spend goes up when the board has room and comes down when it does not, and every one of those moves is a rule on the sheet instead of a gut call.
The scorecard
11 numbers. Every one has an owner.
| Metric | What it means | How to set the target | Owner | Cadence | Red flag |
|---|---|---|---|---|---|
| Booked jobs by source Every other number on this sheet is a step toward this one, and it is the first row the owner reads. | The count of jobs actually placed on the dispatch board this week, split by where the customer came from (Google Ads, Local Services Ads, organic search, repeat, referral, direct). | Take your booked-job count for the same week last year and the trailing 4-week median, and set the target at whichever is higher. Reset it every quarter as capacity changes. | Office manager | Weekly | Two consecutive weeks below target with call volume flat or up triggers a booking-rate review with the CSR lead before anyone touches ad spend. |
| Cost per booked job by channel Cost per lead hides the channels that send tire kickers and rewards the ones that send calls nobody books. | Media spend in each paid channel divided by the jobs that channel actually put on the board, not the leads it generated. | Start with your trailing 8-week median for each channel, then tighten the target 10 percent a quarter for any channel that keeps beating it. Channels under the target get budget first. | Media buyer | Weekly | Any channel running 25 percent above its own 8-week median for two weeks straight gets a search-term, geography and dayparting review before its next budget change. |
| Speed-to-lead on forms and missed calls In the trades the customer is usually calling more than one company, and the first one to answer tends to get the truck roll. | The minutes between a web form submission or a missed call and the first human callback or text, measured from the CRM or call-tracking log. | Pull your last 90 days of form and missed-call timestamps, find the median callback time, and set the target at half of it. Tighten again once the team holds it for a month. | CSR lead | Daily | Any single day where median callback time exceeds the target gets a same-day check of who was on the queue and whether after-hours routing fired. |
| Call answer rate Paid media can drive the phone all day and it means nothing if a third of those calls go to voicemail. | The share of inbound calls during business hours picked up by a person, from call tracking or the phone system, with voicemail and abandoned calls counted as missed. | Take your trailing 4-week answer rate by hour of day, find your worst two hours, and set the target so those hours match your best hours. Track the daily number against that. | CSR lead | Daily | Answer rate below target for two days in a row triggers a staffing and call-routing review, and the media buyer pauses budget increases until it recovers. |
| Booking rate on answered calls This is the number that separates a phone problem from a marketing problem, and it belongs to the front desk, not the ad account. | Answered calls that end with a job on the schedule divided by all answered calls that were real service requests, with spam and vendor calls excluded. | Score a sample of recorded calls to get your true baseline, then set the target at your best CSR's trailing 4-week rate. The whole team works toward that person's number. | CSR lead | Weekly | A drop of more than 10 percent from the trailing 4-week rate triggers a call-recording review of 20 unbooked calls and a coaching session that week. |
| Local Services Ads share of booked jobs LSA pay-per-lead pricing behaves differently from search ads, and if it quietly becomes half your paid volume the rest of the budget needs to know. | Booked jobs that came through Google Local Services Ads as a share of all paid booked jobs, alongside the LSA lead dispute rate. | Set a share range from your own trailing 12 weeks, wide enough that normal week-to-week swings stay inside it. The point is to notice a shift, not to force a number. | Media buyer | Weekly | Share moving outside the range for two weeks, or disputed leads climbing above your own 8-week median, triggers a review of LSA hours, service categories and the dispute log. |
| Review velocity Reviews decide the LSA ranking and the map pack, and a slow week is visible weeks before the ranking drop is. | New Google reviews earned this week, with the count of jobs completed alongside it so you can see reviews per completed job. | Divide your reviews earned over the last 90 days by jobs completed to get your review-per-job rate, then set the target at that rate plus one review a week. Raise it once the ask is built into the tech's close-out. | Service manager | Weekly | Two weeks in a row below target, or any new one-star review, triggers a check that the review request is firing at job close and a same-day response to the negative review. |
| Seasonal pacing vs own history A cool week in July or a warm week in January will swing a trade business more than any campaign change, and last-week comparisons cannot tell the two apart. | This week's calls, booked jobs and spend shown as a percentage of the same week last year, not as a change from last week. | Set the target as a growth multiple on last year's same week, using the growth you actually hit over the last quarter. A week that lands below last year with spend at or above last year is the signal. | Owner | Weekly | Booked jobs below the same week last year for three consecutive weeks, with spend flat or up, triggers a full channel-by-channel review in the next weekly meeting. |
| Technician capacity vs lead flow Spend only turns into revenue when there is a truck to send, and over-filling the board turns marketing wins into cancellations and bad reviews. | Booked hours on the dispatch board for the next 7 days divided by available technician hours for the same window, next to this week's booked-job count. | Work out from the dispatch board what utilization level lets you still book a call within your normal promise window. Set a floor and a ceiling around that, and use them to move spend. | Dispatcher | Daily | Utilization above the ceiling for two days pulls paid budget down the same day; utilization below the floor for two days pushes it up and starts a repeat-customer outreach. |
| Cancellation and no-show rate A channel that books cheap jobs which cancel half the time is the most expensive channel you have, and only this row shows it. | Booked jobs that were cancelled or where the customer was not home, as a share of all booked jobs, split by lead source. | Take your trailing 8-week rate by source and set the target at the rate of your best-performing source. Any source more than double that number is a candidate for a budget cut. | Dispatcher | Weekly | Any lead source running double the trailing rate for two weeks triggers a review of the confirmation text sequence and that source's targeting before more spend goes in. |
| Average ticket by lead source A channel with a low cost per booked job can still lose money if it only sends drain cleanings while another sends system replacements. | Revenue collected on completed jobs divided by the number of completed jobs, split by where the customer came from. | Use your trailing 3-month average ticket by source as the baseline and rank sources by average ticket against cost per booked job. Budget flows toward the sources that win both. | Owner | Monthly | Any source whose average ticket falls more than 15 percent below its trailing 3-month figure gets its keywords, offers and service-category mix reviewed before the next month's budget is set. |
Targets are set from your own history, never from someone else's benchmarks. The builder does the arithmetic once you plug in your numbers.
The weekly review
Twenty minutes, same order, every week.
// 01
Start with booked jobs against target and against last year
The office manager reads the number first, before anyone opens an ad account. Compare it to the target and to the same week last year. If it is on track, the meeting gets shorter.
// 02
Walk the phone: answer rate, speed-to-lead, booking rate
The CSR lead speaks to their three rows. If booked jobs missed but calls held, the problem is on the phone, and this is where the group finds it. Pull two unbooked call recordings if booking rate slipped.
// 03
Check cost per booked job against the board
The media buyer reports cost per booked job by channel and the LSA share. The dispatcher reports next week's utilization. Spend moves only after both have spoken, because a cheap job the schedule cannot take is not a win.
// 04
Decide budget moves, flagged actions and the review push
The owner closes the meeting with three decisions: which channels go up or down and by how much, which red flags fired and who owns the fix by Friday, and whether the review ask needs a nudge. Every decision gets a name and a date on the sheet.
Where scorecards die
Mistakes we see constantly.
Grading marketing on leads instead of booked jobs
A lead is a phone call, and a phone call is not revenue until it is on the board. Scorecards that stop at cost per lead reward the channels that make the phone ring, not the ones that fill the trucks.
Running call tracking that never touches the schedule
If the call-tracking number and the dispatch software do not share a customer record, you cannot tell which channel booked what. Fix that connection before adding a single row to the sheet.
Scaling spend without looking at capacity
More leads into a full board produce longer wait times, cancellations and one-star reviews. The dispatcher's utilization number has to sit on the same page as the ad budget.
Comparing this week to last week
Weather and season move a trade business more than any campaign change. The only fair comparison is the same week last year, adjusted for the growth you have actually hit.
Leaving after-hours and missed calls with no owner
The calls that come in at 6 pm and on Saturday are often the highest-intent calls of the week. If no one owns the callback rule for those, the scorecard will show fine answer rates and a quiet schedule.
Other scorecards
Same discipline, different numbers.
By platform
By business type
Want it set up live in your dashboards?
We install scorecards on real data, wire the owners and alerts, and coach the weekly review. Scorecards and accountability is the service.
Questions we get
Straight answers.
What counts as a booked job?
A job counts when it has a customer, an address, a time window and a technician assigned on the dispatch board. Estimates and callbacks count once they are scheduled, not when the call ends. Keep the definition written on the sheet so everyone counts the same thing.
How do we get booked jobs by source if our dispatch software does not track it?
Start with the CSR asking every caller how they found you and typing it into a required field. Match call-tracking numbers to sources so the paid channels are captured automatically. It will not be perfect in month one, and it will still be far better than cost per lead.
Should we run Local Services Ads or search ads?
Most trade businesses run both, and this scorecard is built so you can see which one puts jobs on the board at what cost. The LSA share row exists so the mix is a decision, not something that drifts. Let your own cost per booked job and average ticket by source answer the question.
How do we set targets when demand swings with the weather?
Anchor every target to your own history for the same weeks last year, and apply the growth rate you have actually achieved. A trailing median handles the week-to-week noise. Never borrow a number from a vendor deck or a trade forum as your target.
Who should run the weekly review?
The owner or general manager runs it, and it takes 20 minutes with the sheet open. The office manager, CSR lead, dispatcher and media buyer each speak to their own rows. If you want help building it, start with the Scorecard Builder or book a Diagnostic Call and we will build it with you.
A scorecard is only as good as the system feeding it.
Start with a diagnostic call. We will tell you which of these numbers you can trust today and what it takes to trust the rest.