Back to BlogLead Generation

How to Calculate Your True Cost Per Booked Plumbing Job (Not Just Cost Per Lead)

Ryan Goering
March 21, 2026
6 min read
How to Calculate Your True Cost Per Booked Plumbing Job (Not Just Cost Per Lead)

How to Calculate Your True Cost Per Booked Plumbing Job (Not Just Cost Per Lead)

Because "cheap leads" mean nothing if they never turn into paying jobs.


How do I calculate cost per booked plumbing job from different lead sources like Google Ads, LSAs, and shared leads?
You calculate cost per booked job for each source by dividing what you spent on that source by the number of completed, paying jobs it produced in a given period. For example, if you spent $3,000 on Google Ads in a month and can tie 15 completed plumbing jobs back to that traffic, your cost per booked job from Google Ads is $3,000 ÷ 15 = $200. Do the same math for LSAs, shared leads, pay-per-call, referrals, and repeat customers.
What is a good cost per booked job for a plumbing company, and how does it relate to average ticket size and profit margin?
A "good" cost per booked job is one that leaves you enough profit after labor, materials, and overhead. As a simple target, many plumbing companies try to keep marketing cost per job under about 20–30% of their average ticket, and ideally closer to 10–15% for core service work. So if your average job is $600 and your profit margin is around 40% ($240 profit), spending $60–$120 to acquire that job is usually healthy, while spending $250+ starts to squeeze your margin.
How can a plumbing business use tracking and call data to decide which marketing channels to scale or shut off?
You use tracking and call data to turn gut feelings into clear decisions. Make sure every lead source is tied to unique tracking numbers or links. Log outcomes in your CRM: whether the lead booked, what the job was, and the revenue. Once you can see cost per booked job and basic ROI for each source, channels that consistently bring in profitable jobs get more budget; channels that look cheap per lead but expensive per job get fixed or phased out.

Most plumbers are told to "lower your cost per lead," but that's only half the story. You don't pay your techs, your suppliers, or your overhead with leads—you pay them with booked jobs and profit. If you only look at cost per lead, cheap but low-quality sources (like shared leads) can look great on paper while quietly killing your margin.

BaaDigi's Predictable Work Engine™ is built around a different metric: cost per booked job for each lead source, and the profit tied to those jobs.

Step 1: List Your Plumbing Lead Sources

Start with a clean list of everywhere your leads come from:

  • Google Local Services Ads (LSAs)
  • Google Ads (search/PPC)
  • Local SEO / website (organic search)
  • Pay-per-call campaigns
  • Marketplaces / shared leads
  • Referrals
  • Repeat customers and memberships
  • Offline (yard signs, trucks, mailers, door hangers)

Step 2: Track Basic Numbers for Each Source

Pick a time window (30–90 days is ideal), and for each source track:

  • Total spend — Ads, fees, or vendor costs tied to that source.
  • Number of qualified leads or calls — Real plumbing opportunities, not spam.
  • Number of booked jobs — How many turned into scheduled, completed paying jobs.
  • Total revenue from those jobs — Combined invoice amounts for that source.
  • Average profit per job — After labor, materials, and direct costs (or at least your margin %).

Step 3: Calculate Cost Per Lead and Cost Per Booked Job

CPLSpend ÷ Qualified Leads
CPJSpend ÷ Completed Jobs
ROI(Profit − Spend) ÷ Spend

Cost per lead tells you what you're paying to generate one opportunity—but it's not the whole picture.

Cost per booked job is the number that actually matters when you decide whether a channel is profitable. You'll often find:

  • Cheap shared leads = low cost per lead, high cost per booked job.
  • Exclusive calls/LSAs = higher cost per lead, lower cost per booked job.

Step 4: Add Revenue and Profit Into the Picture

Quantify what you get back from each source. Different channels often drive different job types:

  • Google Ads might drive more high-ticket installs.
  • LSAs might be heavier on emergency work.
  • Referrals might have higher average tickets because of trust.

Step 5: Calculate ROI Per Lead Source

Calculate a simple profit-based ROI for each channel:

  • ROI > 100% → You're more than doubling your money on that source.
  • ROI around 0 → You're basically breaking even.
  • ROI < 0 → You're losing money and need to fix or cut that source.

Real Example: Shared Leads vs. Pay-Per-Call

Let's say over 60 days you have:

MetricShared Marketplace LeadsExclusive Pay-Per-Call
Spend$2,000$2,700
Qualified Leads5030
Completed Jobs618
Total Revenue$3,600$11,700
Cost Per Lead$40$90
Cost Per Booked Job$333$150
ROI-28%+73%
Even though pay-per-call looks "expensive" per lead, its cost per job and ROI crush shared leads. That's what the math often reveals once you track correctly.

How the Predictable Work Engine Makes This Automatic

Doing this once in a spreadsheet is fine. Doing it every month across multiple sources is where it breaks for most shops. That's why BaaDigi builds:

  • Tracking across every channel — LSAs, Google Ads, SEO, pay-per-call, shared leads, referrals.
  • Call and form attribution — So each job and invoice is tied back to its original lead source.
  • Simple, recurring reports — Showing cost per lead, cost per booked job, revenue, and profit per source.

Frequently Asked Questions

What's the difference between cost per lead and cost per booked job for plumbers?
Cost per lead is your total spend on a channel divided by the number of leads or calls it generates. Cost per booked job is your total spend divided by the number of completed, paying jobs that came from those leads. Cost per booked job is far more important because it tells you what you're actually paying to put revenue on the board.
Why is focusing only on cost per lead dangerous for my plumbing business?
Focusing only on cost per lead can push you toward cheap but low-quality sources that look great on paper but rarely turn into booked jobs. When you switch your focus to cost per booked job and profit per job, you quickly see that fewer, higher-intent leads often beat cheap leads by a wide margin.
How often should I calculate cost per booked job for my lead sources?
At minimum, calculate cost per booked job monthly for each major source. Running a 60–90 day view helps smooth out seasonal swings and weird weeks.
What's a good cost per booked job for plumbing leads?
A good cost per booked job depends on your average ticket and profit margin. Many plumbing companies aim to keep marketing cost per job under 20–30% of average revenue per job, and ideally closer to 10–15% for core services.
How do I include referrals and repeat customers in my cost-per-job math?
For referrals and repeat customers, your marketing cost is usually very low, so their cost per booked job is also very low. Track them by tagging those jobs in your CRM and counting how many come in each month.
How does BaaDigi help plumbers track cost per booked job automatically?
BaaDigi connects your marketing channels, call tracking, and CRM into one Predictable Work Engine. Each call, form, and job is tied back to its originating source. The system calculates total spend, leads, jobs, revenue, and profit per source automatically.

Stop Guessing Which Lead Sources Actually Make You Money

The Predictable Work Engine™ tracks cost per booked job across every channel so you can scale what works and cut what doesn't.

Book Your Free Diagnostic
plumbing leadscost per leadcost per booked jobplumbing marketingROIlead tracking
Ryan Goering

Ryan Goering

CEO & Founder, BaaDigi

U.S. military veteran and digital marketing strategist who built BaaDigi to help contractors generate predictable leads and revenue. 15+ years in SEO, PPC, and AI-powered marketing automation.

Ready to Get More Leads?

Get a free marketing audit for your contracting business. We'll show you exactly where you're losing leads.

Get Your Free Audit