Skip to content

Growth marketing · Marketing attribution

Customer acquisition cost for contractors

Customer acquisition cost for contractors, worked step by step: cost per lead to cost per completed job to CAC per new customer, with office time and lag.

By TradesWork Field Notes team · Reviewed by TradesWork product team · Updated October 15, 2026 · 9 min read

Customer acquisition cost (CAC) is what you spent to win one new paying customer. For a contractor, the honest version divides marketing spend, plus the office time it took to handle the leads, by the number of new customers who completed a paid job. Most shops calculate something else: spend divided by leads, or by "customers" that include people who've used them for years. Both numbers are easy. Neither tells you what growth costs.

This guide walks through the calculation one step at a time on a worked example, shows where each step changes the answer, and ends with the three numbers to keep. It's part of our marketing attribution guides.

The four steps, from cheapest to most honest

Every step narrows the denominator. The spend stays the same.

The CAC ladder

Cost per lead = spend ÷ leads
Cost per booked job = spend ÷ jobs booked
Cost per completed job = spend ÷ jobs completed and invoiced
CAC = (spend + office time) ÷ new customers with a completed job

Google Ads reports something close to the first step. Its Cost / conv. column is the average cost of each conversion, and Conversions counts your primary conversion actions,1 which for most contractors means calls and form fills. Local Services Ads charge for each valid lead, and the Billing menu in the leads inbox shows what you paid.2 Both are leads. Everything below the first line comes from your job records.

A worked example: one quarter, four channels

Say a six-technician plumbing shop wants to know what its marketing cost last quarter. Every number in this section is invented for illustration, not a benchmark. Spend comes from invoices and ad statements; everything else comes from jobs that carry the lead's campaign.

ChannelSpendLeadsBookedCompletedNew customersCompleted revenue
Google Ads$9,000150968870$52,800
Local Services Ads$6,000120847866$38,200
Postcards (past customers + one neighborhood drop)$3,2004032309$17,100
Referral rewards$1,00030262525$16,000
Total$19,200340238221170$124,100

Now run the ladder for each channel:

ChannelCost per leadCost per booked jobCost per completed jobCAC (marketing only)
Google Ads$60$94$102$129
Local Services Ads$50$71$77$91
Postcards$80$100$107$356
Referral rewards$33$38$40$40
Blended$56$81$87$113
CAC by channel, worked example

Hypothetical six-tech plumbing shop, one quarter. Marketing spend ÷ new customers with a completed job. Illustration only, not a benchmark.

CAC by channel, worked example
Referrals$40
LSA$91
Google Ads$129
Postcards$356

Three things the ladder shows that a single number hides:

Postcards aren't a bad channel; they're a different one. At $107 per completed job they fill the schedule about as well as Google Ads. But 21 of their 30 completed jobs were existing customers, so as an acquisition channel they cost $356 per new customer. Mailing your own list is retention. Judge it on cost per completed job and revenue, and don't let it into the CAC comparison.

The gap between steps is where the money leaks. Google Ads loses 54 of 150 leads before booking. LSA loses 36 of 120. That gap is mostly office work (answering, calling back, booking), and it's often cheaper to fix than buying more leads. Our guide to speed to lead covers the response side.

Referrals look free and aren't. $1,000 in rewards is real spend. It's just very efficient spend, partly because referred customers arrive half-sold.

Add the office time

Leads cost office time, and channels don't use it equally. A Local Services lead may need a callback within minutes; a referral often books on the first call. Put a number on it at least once a year.

The U.S. Bureau of Labor Statistics puts the median wage for customer service representatives at $21.53 an hour in May 2025.3 Your CSR may earn more or less; use your own payroll if you have it. Then add what employment costs on top of wages (payroll taxes, workers' comp, benefits). We'll assume 25% for the example, so about $26.91 an hour.

Office cost per lead

minutes per lead ÷ 60 × loaded hourly rate
Example: 12 ÷ 60 × $26.91 = $5.38 per lead

Across 340 leads that's about $1,830 for the quarter. Blended CAC moves from $113 ($19,200 ÷ 170) to about $124 ($21,030 ÷ 170). The shift is larger for channels with many unbookable leads, because you pay office time on every lead, booked or not.

If replacement estimates are part of the funnel, add the comfort advisor's or estimator's time on unsold estimates too. That's often bigger than CSR time and almost always left out.

Reports in TradesWork list each metric with its definition, so cost and revenue figures are counted the same way every time. · Real product screenshot, demo company data.
Reports with metric definitions

Lag, repeat customers and zero-spend channels

Three rules keep the calculation honest.

CAC hygiene

  • Use a lead cohort: leads created in the quarter, jobs from those leads completed within 60 days. Don't divide this month's spend by this month's invoices.
  • Define a new customer as no previously completed job at any of their locations, checked against your full history, not just this year's.
  • Count a customer once, even if they booked three jobs in the quarter. Their extra jobs belong in revenue, not in the customer count.
  • Leave repeat and walk-in customers with no spend out of CAC entirely. A channel with no spend has no CAC: show a dash, not $0.
  • Keep the same definitions for at least four quarters before you compare. Changing the rules makes trends meaningless.

Lag matters most for replacement work. A water heater replacement lead might book in a day and complete in a week; a whole-house repipe or a heat pump install can take a month or more from lead to invoice. If one channel brings mostly install leads, a short window will make it look worse than it is. Use a 60-day window by default and a 90-day window for install-heavy channels, and say which you used.

Which number for which decision

Each step of the ladder is the right number for some decisions and the wrong one for others.

DecisionUse this numberWhy
Is the office converting leads well?Cost per lead vs cost per booked jobThe gap between them is booking performance
Which channel fills next month's schedule?Cost per completed jobRepeat customers fill trucks too
Which channel grows the customer base?CAC (new customers only)Only new customers grow future repeat revenue
Can I afford to raise the budget?CAC vs first-job gross marginIf the first job covers CAC, more spend pays back immediately
Should I keep a retention mailer?Cost per completed job and revenue per dollarIt isn't an acquisition channel; don't judge it on CAC

The payback test in the fourth row is the one owners use most. Take a channel's average completed revenue per new customer's first job, apply your gross margin, and compare it to CAC. In the example, Google Ads completed jobs average $600 ($52,800 ÷ 88); treat that as the first-job figure, and at an assumed 50% gross margin that's $300, against a CAC of $129. The first job pays for the customer more than twice over. If you need help working out gross margin from your prices, the markup and margin calculator does the arithmetic.

What a customer is worth after the first job is a separate question. Our post on membership math, lifetime value and churn covers that side.

Free download · ExcelField Service KPI ScorecardTrack the 12 numbers that run a service business, week by week, with formulas already built in.

How to measure it from your jobs

Everything above depends on one habit: every lead carries a campaign, and the job it books keeps it. Then spend is the only number you bring from outside. Marketing platforms such as TradesForce can record daily Google Ads spend in TradesWork once connected, which fills in the spend for that channel; for everything else, spend comes from your invoices and statements.

Keep these three numbers each quarter, per channel.

Metric

Cost per completed job

What a channel spent for each job it produced that was finished and invoiced, new or repeat customer.

Channel spend ÷ completed jobs from that channel's leads

Where the numbers come from: Spend from statements; completed jobs from revenue by marketing channel, filtered to the lead cohort

Metric

Customer acquisition cost (CAC)

What it cost, in marketing and office time, to win one new paying customer from a channel.

(Channel spend + office minutes per lead ÷ 60 × loaded rate × leads) ÷ new customers with a completed job

Where the numbers come from: New customers are those with no prior completed job at any location; channels with no spend show a dash

Metric

First-job payback

How many times the gross margin on a new customer's first job covers what it cost to acquire them.

(Average first-job revenue × gross margin %) ÷ CAC

Where the numbers come from: First completed invoice per new customer, before tax; your gross margin from job costing

The customer acquisition cost glossary entry has the short definition for your team. Channel-specific numbers live in our guides to HVAC lead generation, Angi leads and Local Services Ads for HVAC. In TradesWork, the per-channel counts come from reports and dashboards, where each figure opens to the jobs behind it.

Footnotes

  1. Google Ads Help, "Understand your conversion tracking data." https://support.google.com/google-ads/answer/6270625 ↩

  2. Google Ads Help, Local Services Ads: how billing for leads works. https://support.google.com/google-ads/answer/7195435 ↩

  3. U.S. Bureau of Labor Statistics, Occupational Outlook Handbook, "Customer Service Representatives," pay section (median hourly wage, May 2025). https://www.bls.gov/ooh/office-and-administrative-support/customer-service-representatives.htm ↩

Free download

Field Service KPI Scorecard

Track the 12 numbers that run a service business, week by week, with formulas already built in.

Get it free
  • 12 KPIs with definitions and formulas
  • 52-week tracker with trends
  • Targets and red / green flags
  • Per-technician view

Frequently asked questions

There isn't a universal number, and published benchmarks rarely say how they were counted. A useful test is your own: does the gross margin on a new customer's first job cover what it cost to win them? If yes, the channel pays for itself on day one and every repeat visit is profit. If not, you need repeat work or a membership to make it pay.