Skip to content
carpetcleaningSEO

Lead generation

Cost per booked job: how to calculate it for each channel

By CarpetCleaningSEO · 10 min read · October 15, 2026

Cost per booked job is what you spent on one marketing channel in a month, divided by the jobs booked from that channel's leads in the same month. Count every cost the channel carries, including ad spend, lead fees, tracking and management. Then compare the result with the average ticket on those jobs to see which channels pay.

What is cost per booked job?

Cost per booked job is the total you spent on one marketing channel, divided by the number of jobs that channel put on your schedule. It answers the question owners care about most: what did it cost to get a truck to a customer's driveway from this source? For an overview of every place jobs come from, start with our carpet cleaning lead generation guide. This post goes one level deeper on the math.

Here is a hypothetical example with round numbers. Say you spend $1,500 on Local Services Ads (LSA), the pay-per-lead ads that often sit at the top of Google, in March. Say 30 jobs from LSA leads land on your schedule that month. Your cost per booked job for LSA is $1,500 ÷ 30, or $50.

Cost per lead measures something different. A lead is any call, message or booking request, and some leads never book. A price checker and someone looking to rent a machine both count as leads. Say two channels both cost $40 per lead. If one books half its leads, that's $80 per booked job. If the other books one lead in five, that's $200 per booked job.

Our paid advertising guide covers how this works for LSA in detail, including what leads have cost in two LSA accounts we run. The rest of this post shows how to run the same math on every channel you pay for.

What counts as cost for each channel?

The cost side is easy to undercount. Ad spend is easy to find, but each channel also carries fees, tools and management time. If you leave those out, the channels with the most hidden costs look cheaper than they are.

What to add up for each channel. Use invoices and billing pages, not the dashboard summary.
ChannelCount as costWatch for
Local Services AdsLead charges for the month, after any creditsGoogle does not charge for leads it finds invalid or low quality
Google Search adsAd spend, call tracking numbers for those ads, and your share of the management feeThe Cost / conv. column counts the conversions you track, which are leads unless you send booked jobs back to Google Ads
Meta (Facebook and Instagram)Ad spend, any creative you paid for, and your share of the management feeRecall ads reach past customers, so label those jobs carefully
SEO and websiteThe monthly agency or freelancer fee, plus any paid content or photosResults build slowly, so one month of cost against one month of jobs misleads
Lead platforms (Thumbtack, Angi)Every lead charge, plus any subscription or membership fee on your accountYou often pay for the lead whether or not the job books

Google Ads cost per conversion is not cost per booked job

Google Ads shows a "Cost / conv." column. Google says it is calculated "by dividing your total cost by the number in your 'Conversions' column." Those conversions are the primary conversion actions you set up, such as calls and form fills. Unless you send booked jobs back to Google Ads, that column is a cost per lead with a different name.

Local Services Ads charges

For LSA, Google says you're charged "for each valid lead you receive," and that "leads determined to be invalid or low quality are not charged." If a lead is poor quality, you can report it in that lead's feedback survey, and Google says it may occasionally credit it. Your cost for the month is what Google billed you after any credits.

Shared agency fees

If one agency fee covers several channels, you have two honest options. You can split the fee by where the work goes, such as half to ads and half to SEO. Or you can keep the fee as its own line and use it only in your blended number. Pick one method and use it every month, or your numbers won't compare from one month to the next.

How do you count booked jobs by channel?

The jobs side depends on one habit: recording where every job came from. In Housecall Pro, every customer and job has a Lead Source field. If you use other field-service software, use its equivalent field. If that field is blank on a third of your jobs, your cost per booked job is a guess.

  1. Set one lead source per channel. Use clear labels such as LSA, Google Ads, Meta, Website, Google Business Profile, Thumbtack, Angi, Referral and Recall.
  2. Give each channel its own call tracking number. Separate numbers for ads, your Google Business Profile and the website tie each call to a source.
  3. Fill in the source while the customer is on the phone. Ask "How did you hear about us?" when the tracking number doesn't already tell you.
  4. Decide when a job counts. Count a job once it's completed, because a booking that cancels never pays for anything.
  5. Tie each job to the month its lead came in. A late-March lead that books for early April counts against March spend.
  6. Keep an Unknown source. If the Unknown pile grows, fix the tracking before you trust the numbers.

Repeat customers need their own label. A past customer who rebooks from your recall text belongs under Recall, not under the ad that found them the first time. Mixing them in makes the original channel look better than it is. Our guide to repeat customers and recall marketing covers how to run recall.

Worked example: cost per booked job across five channels

The numbers below are hypothetical round numbers, picked to keep the math easy. They are not benchmarks and not a budget recommendation. Swap in your own invoices and job counts.

Hypothetical month. Total cost includes ad spend or lead charges, tracking, and each channel's share of management.
ChannelTotal costBooked jobsCost per booked job
Local Services Ads$1,50030$50
Google Search ads$1,20012$100
Meta recall ads$40010$40
Website and SEO$60015$40
Lead platform$6006$100
Blended$4,30073About $59

Read it one row at a time. In this example, LSA books jobs for half of what Search and the lead platform cost, and the website for less than half. Meta looks cheap too, but recall ads go to people who already know you. Some of those customers might have rebooked without the ad, so treat that row with some caution.

The blended number matters as well. Divide your total marketing cost by all the booked jobs from the channels you track. Here that's $4,300 ÷ 73, or about $59 per booked job. Watch that number every month, because it shows whether your whole mix is getting cheaper or more expensive.

The SEO row needs a longer view. Our guidance is that SEO usually shows first movement in 60–90 days, with real ranking gains in months four to nine. That's our guidance, not a promise. In the early months, SEO's cost per booked job will look high because you're paying for work that hasn't ranked yet.

How to compare cost per booked job with average job value

Cost per booked job only means something next to what those jobs pay. A $100 cost per job can be fine on a large pet urine job with an upholstery add-on. The same $100 hurts on a small two-room clean.

Pull the average ticket for each channel from your field-service software. Filter completed jobs by lead source, then divide the revenue by the number of jobs. Next, divide the average ticket by the cost per booked job. The result tells you how many dollars of revenue each marketing dollar brought in.

Same hypothetical month. Average ticket is revenue from completed jobs with that lead source, divided by the number of those jobs.
ChannelAverage ticket (hypothetical)Cost per booked jobRevenue per $1 of marketing
Local Services Ads$250$50$5.00
Google Search ads$350$100$3.50
Meta recall ads$220$40$5.50
Website and SEO$300$40$7.50
Lead platform$180$100$1.80

Search costs twice as much per job as LSA in this example, but it brings in bigger tickets. The lead platform is the weak row. It costs as much per job as Search and brings in the smallest tickets.

Set a ceiling for what a booked job can cost

Revenue per marketing dollar doesn't show profit. To find your ceiling, start with a channel's average ticket. Subtract what the job costs you to run, such as tech pay, chemicals and fuel. Then subtract the profit you want to keep, and what's left is the most you can pay to book that job.

Say a channel's average ticket is $250, the job costs you $120 to run, and you want $60 left over. Your ceiling is $250 − $120 − $60, or $70 per booked job. LSA at $50 in the example fits under that line. Run the same math for each channel using its own average ticket.

A new customer is also worth more than one job. Carpet usually needs cleaning again every 12–18 months, and the cheapest job you'll book is from a customer you already cleaned for. That's why customers you keep are worth more than customers a platform rents to you. If your tickets are too low for any channel to clear the ceiling, the fix may be your pricing, not your marketing.

Common mistakes when calculating cost per booked job

  • Counting leads as jobs. A call is not a booking, so count completed jobs by lead source.
  • Using ad spend only. Leaving out management, tracking or platform fees makes a channel look cheaper than it is.
  • Judging a new channel too early. Give any new channel at least two to three months, because the first weeks are the platform learning.
  • Missing phone calls. Most carpet cleaning gets booked by phone. If a channel's calls aren't tracked, its cost per booked job will read too high.
  • Crediting repeat customers to the original ad. Recall and referral jobs need their own labels.
  • Comparing a busy month with a slow one. Spring and the November–December rush book differently than January and February, so compare the same month or a rolling three months.

The missed-calls mistake is easy to make. Our paid advertising guide shows an account where Google Search looked expensive on the dashboard because its phone calls weren't tracked. The JS Steam Works lesson in that guide explains why you can't judge a channel you can't fully measure.

Run the math once a month, when you review your monthly numbers. If you can't fill in the table, that tells you where to start, and it's with the tracking rather than the budget. Our guide to tracking Housecall Pro bookings in Google Analytics covers the website side.

Sources

FAQ

Here are the questions carpet cleaners ask about this.

What's the difference between cost per lead and cost per booked job?
Cost per lead divides a channel's spend by its calls, messages and booking requests. Cost per booked job divides the same spend by the jobs that landed on your schedule and got done. Since some leads never book, cost per booked job is always the same or higher, and it's the number that shows whether a channel pays.
Should the agency fee count in cost per booked job?
Yes. What you pay someone to run a channel is part of what that channel costs. If one fee covers several channels, split it by where the work goes, or keep it as its own line and use it in your blended number. Ad spend alone understates the real cost.
How long should I track a channel before I judge it?
Give any new channel at least two to three months, since the platforms spend the first weeks learning. In the accounts we run, ads and Local Services Ads usually start producing leads in 30–45 days, and SEO usually shows first movement in 60–90 days. That's our guidance, not a promise.
What if I can't tell which channel a job came from?
Mark it Unknown rather than guessing. Then fix the cause by giving each channel its own call tracking number and filling in the lead source while the customer is on the phone. A large Unknown pile means your cost per booked job numbers aren't reliable yet.
Do canceled jobs count as booked jobs?
We'd leave them out. A job that cancels never brings in revenue, so counting it makes the channel look cheaper than it is. Count jobs once they're completed, and tie each one to the month its lead came in.

Done reading?

Here's how we'd run this for you.

We report what it cost to put a truck in a driveway, by channel, so you can see where the next dollar should go. Ads management is part of the Growth plan at $1,000 per month, and ad spend is paid directly to Google and Meta.