Booked-Job Attribution for Home Services Businesses

Booked-job attribution credits each booked job to the marketing that produced it, so channels are compared by the work they bring in, not the leads they report. At Riley Summers, our clients send us a list of their booked jobs each month, and we match it against the calls, contact forms and live chats our tracking recorded, so every channel is measured by the jobs it actually won.
Here’s what an owner can answer at each level of tracking:
- Counting leads“I know how many calls and contact forms we got last month.”
- Lead tracking“I know which ads those calls and contact forms came from.”
- Booked-job attribution“I know which of those calls and contact forms became booked jobs.”
- Cost per booked job“I know what each booked job cost me, by channel.”
- Return on marketing“I know what each channel earned back, after its cost.”
The channel with the most leads is often not the one with the most jobs, and a business’s budget follows whichever number the owner is looking at.
On this page
- Why Booked Jobs, Not Leads
- What Counts as a Booked Job?
- When More Than One Channel Played a Part
- Why Booking Dates and Marketing Dates Don’t Always Match
- The Report Check Framework
- What the Results Change for the Owner
- How We Measure Booked-Job Attribution
- Booked-Job Attribution Mistakes We See
- Booked-Job Attribution Across Home Services Trades
- Related Resources
Why Booked Jobs, Not Leads
Most owners know when the phone is ringing more. What they can’t tell from the ringing is which marketing caused it, or whether those extra calls turned into work. A busy month can hide a campaign that produced plenty of calls and very few jobs, and a quiet channel can be quietly producing the best customers.
That’s why we compare channels by booked jobs. Leads are easy to count and easy to inflate. Booked jobs are what pay the bills.
Worked example
Illustrative figures only, not a benchmark. Both channels use the same definition of a booked job.
On leads, Channel A looks far stronger, with 100 against 60. On booked jobs, Channel B produced half as much work again from 40% fewer leads.
Measured on leads, Channel B gets cut. Measured on booked jobs, it’s the channel to grow.
Before moving the budget, though, it’s worth asking why. The gap isn’t necessarily caused by the channel itself. Who the ads target, what the homeowners were searching for, whether the business had appointments available, and how quickly calls were answered can all change how many leads become bookings. Booked-job attribution shows where the difference is. Understanding the cause is what turns it into the right decision.
What Counts as a Booked Job?
“Booked job” sounds simple, but a booking can mean very different things depending on the business:
| Kind of booking | Example | How it’s counted |
|---|---|---|
| Service appointment | An HVAC diagnostic visit | A booked job, with its own count |
| Estimate or consultation | A roof replacement estimate | Counted separately, since it isn’t work sold yet |
| Sold job | A signed roof replacement, scheduled for installation | Counted as a sold job, the outcome that matters most for high-value work |
| Recurring agreement | A new weekly pool maintenance contract | The agreement is counted once, not every visit that follows |
Counting all four as the same thing would make a campaign full of free estimates look as good as one producing signed contracts. So each business needs a clear definition of the booking that matters for each service, and a report that keeps the different kinds apart.
Three other things have to be decided once and applied consistently:
- Cancellations: a booking that’s cancelled before the work happens shouldn’t still count as a win.
- Reschedules: a moved appointment is one booking, not two.
- Duplicates: the same homeowner booking through two channels is one job.
A booked appointment is a real marketing result. It just isn’t the same as a completed or profitable job, which is where Revenue Attribution takes over.
How Riley Summers helps: At the start, we agree with each client which bookings count for each of their services, and how cancellations are handled, so every report measures the same thing month after month.
When More Than One Channel Played a Part
Plenty of jobs have more than one source. A homeowner might first find a roofing company through the regular search results while researching a leak, then come back two weeks later by clicking a paid search ad, and call to book an inspection. Both channels helped, but a report usually has to credit the job to one of them.
There are two common ways to decide:
- First-contact credit gives the job to the channel that introduced the homeowner to the business. It shows which marketing is finding new customers.
- Last-contact credit gives it to the channel that produced the call or contact form. It shows which marketing is closing the decision. Most ad platforms report this way by default.
Neither is wrong, and each on its own hides something. Credit only the last contact, and the research content that found the customer looks worthless. Credit only the first, and the ad that prompted the call looks like wasted money. Three limits apply to both:
- They’re reporting rules, not proof. First-contact and last-contact credit describe where a recorded journey started and ended. Neither proves which channel caused the booking. Showing that advertising produced jobs that wouldn’t otherwise have happened takes a different kind of evidence.
- The recorded journey is rarely the whole journey. Privacy settings, switching between phone and computer, and calls made from memory all leave gaps. The first contact on record isn’t always the homeowner’s first encounter with the business.
- The two reports can’t be added together. A first-contact report and a last-contact report describe the same jobs from two angles. Adding their totals would count each job twice.
How Riley Summers helps: We credit booked jobs to the last contact, the channel that produced the call or contact form, because that’s the marketing that turned interest into a booking, and it’s how the ad platforms optimize. Where the tracking and the client’s records allow, we also keep each customer’s first source on record as a second view, so an owner doesn’t cut the marketing that’s finding their future customers just because it isn’t the one that closed the job.
Why Booking Dates and Marketing Dates Don’t Always Match
A homeowner clicks an ad on January 25, requests an estimate the next day, and books the replacement on February 10. Which month does that job belong to? It depends on the question being asked, and there are two legitimate ways to report it:
| Reporting view | The question it answers | Where the example job appears |
|---|---|---|
| By booking date | How many jobs did we book this month, and from which channels? | February |
| By lead month | How many jobs did this month’s leads eventually produce? | January, once it’s booked |
Neither is wrong. The trouble starts when February’s bookings are compared against February’s marketing spend without recognizing that some of them came from January’s marketing. That makes slow-closing campaigns look worse than they are, and whichever month happens to collect the bookings look better.
We report both. Booking-date reporting shows the owner how busy the business is. Lead-month reporting is what we use for cost per booked job, because it measures each month’s spend against the work it actually produced.
Starting look-back windows, adjusted to each client
| Type of work | Look-back window |
|---|---|
| Emergency and urgent repairs | Up to 7 days |
| Routine, seasonal and planned repairs | Up to 30 days |
| Replacements | Up to 90 days |
| High-ticket projects | Up to 180 days |
We match booked jobs back to their leads over a starting window that fits the work: up to a week for emergency repairs, and up to six months for high-ticket projects. Once we can see how long a client’s own leads take to become jobs, we adjust the windows to match.
That means the most recent months always look incomplete at first, because their leads haven’t had time to become jobs. We report monthly, updating earlier months as their jobs arrive, and make budget recommendations at quarterly reviews, once the slower jobs have had time to come in.
For an owner, this matters most when budgets are tight. Without accounting for the lag, the campaigns producing the biggest jobs, which usually take the longest to close, are the easiest to cut by mistake.
The Report Check Framework
A report that credits jobs to channels is only as useful as the rules behind it. The Report Check Framework is how we build our own reports, and it works as five questions any owner can ask of any marketing report, including one from another agency.
1. What is it counting?
If a report ranks channels by leads, calls or clicks, it’s measuring activity, not results. A useful report counts booked jobs, keeps appointments, estimates and sold jobs apart, and doesn’t count cancelled bookings as wins.
2. Does every job have a source?
If a large share of jobs are marked “unknown” or just “Google,” the report can only credit part of the business’s work. A useful report shows how many jobs it couldn’t trace, not just the ones it could.
3. Who gets the credit when more than one channel helped?
Every report uses a rule, whether it says so or not. A useful report states its rule openly. Ours credits the last contact, the channel that produced the call or contact form, and keeps each customer’s first source on record alongside it.
4. Is each job counted in the right period?
If this month’s bookings are compared against this month’s spend, slow-closing campaigns look worse than they are. A useful report measures cost per booked job by the month the lead came in, within a look-back window that fits the work.
5. Are customers who already knew the business counted separately?
Homeowners who search for the business by name, or call because they’re already customers, would likely have booked anyway. A useful report separates them, so advertising isn’t credited with jobs it didn’t win.
For an owner: a precise-looking report isn’t necessarily a reliable one. A report that passes all five questions is worth making budget decisions from. One that fails more than one or two is likely rewarding the wrong channels.
What the Results Change for the Owner
Booked-job attribution is only worth the effort if it changes decisions. In practice, it changes four:
Where the budget goes. At each quarterly review, budget moves toward the channels producing booked jobs at a sensible cost, and away from those producing leads that rarely turn into work. Over a year, that shift usually matters more than any single campaign improvement.
Which “successes” to question. A channel that reports plenty of leads but few booked jobs is flagged early, before another quarter’s budget goes into it. Sometimes the fix is in the marketing. Sometimes, as the chart above showed, it’s in how quickly the calls are answered.
What a job should cost. Once the owner knows what each booked job costs by channel, they can set realistic targets and tell quickly when a campaign drifts off course, rather than reacting to how busy the phones feel.
How much work to buy. Bookings are only valuable if the business can take them on. Knowing how many booked jobs each dollar produces lets the owner match marketing to capacity, spending more going into the busy season and less when the schedule is already full.
Every one of these decisions depends on counting jobs rather than leads. That’s the business case for this page in four lines.
Do you know which marketing is actually filling your schedule?
Riley Summers will review how your marketing is measured today: whether your reports count booked jobs or just leads, how many of your jobs can be traced to a source, and which of your channels are producing work rather than just calls.
How We Measure Booked-Job Attribution
Five measures, read together, show whether the marketing is producing work and whether the numbers can be trusted:
- Booked jobs by channel: how much work each channel is credited with
- Lead-to-booked-job rate: the share of each channel’s leads that became bookings
- Cost per booked job: what each channel’s spend cost for each booking, measured by lead month
- Source coverage: the share of all booked jobs that have a usable source. If it’s low, every other number here is less reliable.
- Cancellation rate: the share of bookings cancelled before the work happened, so bookings that fall through don’t flatter a channel
Worked example
Illustrative figures only, not a benchmark.
Returning to the two channels from the chart:
| Channel A | Channel B | |
|---|---|---|
| Marketing spend | $3,000 | $3,000 |
| Leads | 100 | 60 |
| Cost per lead | $30 | $50 |
| Booked jobs | 20 | 30 |
| Lead-to-booked-job rate | 20% | 50% |
| Cost per booked job | $150 | $100 |
Channel A produces cheaper leads. Channel B produces cheaper booked jobs. Before moving the budget, the owner would still want to know whether the two channels’ jobs are similar in size and value, whether the business had capacity for more, and whether source coverage was high enough to trust the comparison.
One distinction to keep in mind: cost per booked job isn’t the same as cost per customer or cost per completed job. Some bookings cancel, and some customers book more than once. Those measures are covered in Customer Acquisition Cost and Revenue Attribution.
Booked-Job Attribution Mistakes We See
Most attribution mistakes don’t look like mistakes. They look like a confident number in a report. These are the ones we most often find, shown as what the report says and what it’s hiding:
| What the report says | What it hides | What we do instead |
|---|---|---|
| “Paid search produced 40 bookings.” | Some of those homeowners first found the business through organic search before clicking an ad. | Credit the last contact, and keep the first source on record as a second view. |
| “Our cost per booking went up this month.” | This month’s leads haven’t all had time to become jobs yet. | Measure cost per booked job by lead month, and let recent months fill in before acting. |
| “We booked 50 jobs.” | Ten were free estimates, and five were cancelled. | Count appointments, estimates and sold jobs separately, and remove cancellations. |
| “Organic search produced no bookings.” | Some organic inquiries were recorded as “direct” or “unknown.” | Report source coverage alongside the results, so gaps are visible. |
| “This channel has the lowest cost per booking.” | Its bookings may be much smaller jobs than another channel’s. | Compare channels by the kind of work they produce, not the count alone. |
| “Our report covers every channel.” | A large share of bookings have no reliable source at all. | Show how many jobs couldn’t be traced, on the same page as the results. |
Booked-Job Attribution Across Home Services Trades
Every trade has its own path from a first booking to paid work, and the step that matters most for measuring marketing differs:
HVAC (replacement): diagnostic visit → replacement estimate → sold installation
The diagnostic visit is a booking, but the sold installation is the job that shows whether replacement marketing is working.
Plumbing (emergency): service call → completed repair
Most bookings are the job itself, so the booking is the measure. Larger quoted projects are counted separately.
Roofing (replacement): inspection → estimate → signed contract
Inspections and estimates are useful signs, but only a signed contract shows the marketing produced work, often weeks after the first call.
Pool service (recurring): first visit → ongoing service agreement
A one-time clean and a new weekly contract are counted apart, because the contract is worth many times more.
Pest control (recurring): initial treatment → ongoing plan
The first treatment is the booking, and the plan that follows is what makes the customer valuable.
The common thread: the more steps between the first booking and the paid work, the more important it is to count the right step. Otherwise a campaign that produces plenty of free inspections looks as good as one that produces signed contracts.
Related Resources
About The Author
Mark Riley is a marketing executive and the founder of Riley Summers Marketing Group, where he leads customer acquisition strategy for home services businesses across paid search, Google Local Services Ads, local SEO and paid social media. He rose to VP of Digital at a national legal-marketing agency, where the digital programs he led generated a significant share of its revenue. Over a 15+ year career, he has managed more than $70 million in digital advertising spend, much of it in one of the most expensive and competitive advertising categories in North America. He measures marketing by what it costs to win a booked job, not by traffic or lead volume.

