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.
| Channel | Count as cost | Watch for |
|---|---|---|
| Local Services Ads | Lead charges for the month, after any credits | Google does not charge for leads it finds invalid or low quality |
| Google Search ads | Ad spend, call tracking numbers for those ads, and your share of the management fee | The 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 fee | Recall ads reach past customers, so label those jobs carefully |
| SEO and website | The monthly agency or freelancer fee, plus any paid content or photos | Results 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 account | You 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.
- Set one lead source per channel. Use clear labels such as LSA, Google Ads, Meta, Website, Google Business Profile, Thumbtack, Angi, Referral and Recall.
- 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.
- 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.
- Decide when a job counts. Count a job once it's completed, because a booking that cancels never pays for anything.
- Tie each job to the month its lead came in. A late-March lead that books for early April counts against March spend.
- 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.
| Channel | Total cost | Booked jobs | Cost per booked job |
|---|---|---|---|
| Local Services Ads | $1,500 | 30 | $50 |
| Google Search ads | $1,200 | 12 | $100 |
| Meta recall ads | $400 | 10 | $40 |
| Website and SEO | $600 | 15 | $40 |
| Lead platform | $600 | 6 | $100 |
| Blended | $4,300 | 73 | About $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.
| Channel | Average ticket (hypothetical) | Cost per booked job | Revenue 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
- Understand your conversion tracking data — Google Ads Help — retrieved October 15, 2026.
- How leads work — Local Services Help — retrieved October 15, 2026.
FAQ