Quick answer
What should contractors know about Contractor Customer Acquisition Cost: Fix the Math?
Calculate contractor customer acquisition cost by channel, booked job, and gross profit so you stop buying leads that look cheap but kill margin.
See more marketing guidesFree printable checklist
Find the pricing leaks before the next quote
Download the pricing and profit leak checklist for labor burden, markup, deposits, change orders, and collection friction.
Contractor customer acquisition cost is the number that tells you whether your marketing is buying profitable jobs or just buying activity. Cost per lead is useful. Cost per click is fine for ads. But the owner-level question is simpler: how much did we spend to win one new paying customer?
A plumber who spends $1,200 and books six repair customers has a $200 customer acquisition cost. A roofer who spends $3,000 and books one roof replacement has a $3,000 customer acquisition cost. The roofer’s number may still be better if the gross profit is strong. The plumber’s number may be bad if those jobs are tiny, discounted, or full of callbacks.
That is the trap. Cheap leads can be expensive customers. Expensive leads can be good customers. You only know after you connect spend, source, booked jobs, gross profit, and follow-up.
Contractor Customer Acquisition Cost: Fix the Math
The simple CAC formula contractors should use
Use this formula first:
Customer acquisition cost = total acquisition spend / new customers booked
Total acquisition spend should include more than the ad invoice. Count the real cost of getting that customer into the schedule.
Include:
- ad spend or lead-buying fees
- marketing software tied to that channel
- landing page, call tracking, or form tool costs
- owner, office, or sales time spent following up
- agency or freelancer costs for that channel
- discounts or coupons used to win the first job
Do not include normal field labor, materials, or job overhead in CAC. Those belong in job costing. The cleaner version is: CAC is what you spent to win the customer. Job cost is what you spent to deliver the work.
Here is a basic example.
A two-truck HVAC company spends $1,800 on Google Local Services Ads in May. It pays $120 for call tracking and spends about 10 office hours on callbacks, intake, and quote follow-up. If the office admin’s loaded cost is $28/hour, the follow-up labor adds $280.
Total acquisition spend:
$1,800 ads + $120 tracking + $280 follow-up = $2,200
The campaign books 11 first-time customers.
$2,200 / 11 = $200 CAC
That number is not good or bad yet. It becomes useful only when you compare it to gross profit.
Compare CAC to gross profit, not top-line revenue
Revenue makes weak marketing look better than it is. Gross profit tells the truth.
Say a drain cleaning campaign books 20 jobs at $225 each. That is $4,500 in revenue. If acquisition spend was $1,500, the CAC is $75. Looks good.
Now add job math:
- average ticket: $225
- direct labor and truck cost: $95
- materials and disposal: $15
- overhead allocation: $45
- gross profit before acquisition cost: $70
- customer acquisition cost: $75
That campaign loses $5 before owner pay, callbacks, and admin cleanup. The lead cost was low. The customer math was bad.
Now look at a different campaign. A landscaper spends $2,400 to book eight spring cleanup customers. CAC is $300. That looks high until the average first job produces $650 in gross profit and three of those customers sign recurring maintenance plans.
The second campaign is probably better, even with the higher CAC.
Tie this back to your pricing and job costing. If you do not know gross profit per job type, read contractor job costing and how to price contractor jobs before you increase ad spend. Marketing math without margin math is just a prettier guess.
Track CAC by channel and job type
One blended CAC number hides too much. A contractor can have one channel producing profitable service calls and another filling the calendar with junk.
Track CAC by source first:
| Source | Spend | New customers | CAC | Notes |
|---|---|---|---|---|
| Google Business Profile | $350 | 14 | $25 | Mostly branded and map calls |
| Google Local Services Ads | $2,200 | 11 | $200 | Good emergency repair close rate |
| Facebook ads | $900 | 2 | $450 | Lots of price shoppers |
| Referrals | $250 | 5 | $50 | Gift cards and thank-you notes |
| Email reactivation | $120 | 6 | $20 | Past customers, strong close rate |
Then track by job type. This is where the real decisions show up.
A roofing company might find that storm inspection leads cost $80 per booked customer, but most turn into insurance hand-holding with low close rates. Meanwhile, gutter replacement leads cost $240 per customer but convert faster, finish cleaner, and produce better reviews.
A plumber might find that water heater leads cost more than drain cleaning leads but create higher gross profit and better membership opportunities. That does not mean drain cleaning is bad. It means the owner should stop judging channels by lead volume alone.
Use the contractor lead tracking spreadsheet if your current CRM cannot show source, job type, estimate status, booked revenue, and gross profit in one place.
Fix the follow-up leak before blaming the channel
Bad CAC is not always a traffic problem. Sometimes the channel did its job and your response process burned the money.
Look for these leaks before cutting a source:
- calls missed during jobsite hours
- forms that land in a general inbox
- no text reply after missed calls
- estimates sent with no follow-up sequence
- quote requests answered the next day
- no source field in the intake process
- no reason code for lost estimates
A $120 lead is not expensive if it becomes a $3,800 job. It is expensive when nobody calls back for 18 hours and the homeowner books someone else.
Speed matters because the buyer is usually not waiting on your brand. They are trying to solve a problem. A broken AC, clogged drain, damaged roof, dead outlet, or flooded basement turns the search into a race.
Before you raise spend, clean up lead response. Start with contractor lead response time, then build the capture path with contractor lead capture checklist and contractor quote form.
Next step
Find the leak before you buy more leads
Get the contractor capture checklist for tightening calls, forms, follow-up, reviews, and website trust before the next marketing spend increase.
Get the capture checklistSet CAC limits by job value
Every channel needs a stop-loss number. Otherwise, the month gets away from you.
Use this decision rule:
Maximum CAC = gross profit per first job x acceptable acquisition share
For one-time repair work, start with 20% to 35% of first-job gross profit. For high-repeat work, memberships, maintenance plans, and trades with strong referral loops, you can sometimes go higher because the first job is not the whole customer value.
Here is a practical set of starting limits:
| Job type | Gross profit before CAC | Starting max CAC | Why |
|---|---|---|---|
| Small repair | $120 | $30 to $40 | Little room for waste |
| Standard service call | $300 | $75 to $100 | Works if close rate is tight |
| Water heater install | $900 | $225 to $300 | Enough margin for paid acquisition |
| Roof replacement | $4,500 | $900 to $1,350 | High CAC can still work |
| Maintenance plan signup | $250 first job | varies | Repeat value changes the math |
These are starting points, not commandments. Your overhead, close rate, callback rate, average ticket, and repeat work change the limit.
The main rule: do not let marketing vendors define success with clicks, impressions, form fills, or raw leads. Your business needs booked customers at a CAC the job can afford.
Build a weekly CAC scorecard
You do not need a giant dashboard. You need one clean weekly view.
Track these numbers every Friday:
- spend by channel
- leads by channel
- booked new customers by channel
- booked revenue by channel
- estimated gross profit by channel
- CAC by channel
- close rate by channel
- jobs still awaiting follow-up
This takes 30 minutes if the intake process is clean. If it takes three hours, your tracking system is too messy.
The weekly review should produce one action, not a debate. Raise budget where CAC is under the limit and gross profit is strong. Pause spend where booked customers are too expensive. Fix follow-up where lead volume is fine but booking rate is weak. Improve the offer when qualified buyers are interested but not moving. If you are building this from scratch, the U.S. Small Business Administration marketing and sales guide is a useful outside reference for separating market, offer, sales, and measurement work.
Pair this scorecard with your contractor marketing budget so spend moves based on booked-job math, not whoever complained loudest about the phone being slow.
Use customer value without lying to yourself
Lifetime value can justify higher CAC. It can also become an excuse for sloppy spending.
Use customer value only when you can prove repeat behavior. For example, an HVAC tune-up customer might become a maintenance plan customer. A landscaper’s cleanup customer might become a weekly mowing account. A plumber’s emergency repair customer might call again next year.
Good. Count that when the data supports it.
But do not tell yourself every customer has long-term value if you never ask for reviews, never run past-customer emails, never track repeat jobs, and never follow up after estimates. Repeat value is earned by the operating system after the first job.
If repeat work is part of the math, build the loop:
- tag the first-job source in your CRM
- send a post-job review request
- ask for a referral at the right moment
- add the customer to a seasonal email list
- track repeat revenue back to the original source
The contractor email funnel and past customer email campaign are where CAC improves after the first job. The cheapest customer is usually the one you already earned.
When a high CAC is acceptable
A high CAC is acceptable when the job profit, repeat value, and schedule fit are strong.
It is usually acceptable when:
- the job has high gross profit
- the customer has real repeat potential
- the channel brings the exact job type you want
- the crew can deliver the work without overtime chaos
- close rate is strong after a fast response
- reviews or referrals often come from that job type
It is usually a problem when:
- the job barely covers labor and materials
- the lead source creates price shoppers
- the office spends too much time chasing bad-fit inquiries
- the customer only wants emergency discounts
- estimates sit open with no follow-up
- crews hate the work and quality slips
This is why CAC belongs in the owner meeting, not just the marketing report. A channel can look great to a marketer and still be bad for the operation. Full calendars do not automatically mean healthy profit.
The 30-day contractor CAC cleanup
Use the next 30 days to get one clean number per channel.
Week 1: Add source tracking to every call, form, text, and estimate. Keep it simple. Google Business Profile, website organic, referral, paid search, social, email, marketplace, repeat customer.
Week 2: Add booked-customer tracking. A lead does not count as acquired until money is scheduled or collected. Mark every lead as booked, lost, unqualified, no response, or still open.
Week 3: Add gross profit estimates for the main job types. You do not need perfect accounting. You need enough math to know whether a $250 CAC works on that job.
Week 4: Set channel limits. Decide the maximum CAC you will tolerate for each job type, then adjust spend, follow-up, and offers around that number.
One warning: do not make big decisions from one weird week. Weather, seasonality, holidays, and one bad dispatcher shift can distort the numbers. Look at weekly movement, then judge the month.
For paid search, make sure the platform is counting real actions. Google’s conversion tracking documentation explains the difference between ad clicks and tracked business outcomes. You still need your own booked-job math, because an ad platform cannot tell you job profit.
The next dollar should go where the math is cleanest: visible source, fast response, booked customer, healthy gross profit, and a follow-up loop that can earn repeat work. Anything else is just buying noise.
Source and calculation notes
How to use the numbers in this guide
Pricing, lead-cost, labor, and cash-flow examples are planning estimates, not financial advice. Replace assumptions with your own job costs, close rates, payroll burden, overhead, and booked revenue before making a decision.
- Primary inputs: owner-provided costs, average job value, gross margin, close rate, and monthly overhead.
- Best use: compare scenarios and find the next bottleneck to measure.
- Do not use for: tax, legal, payroll classification, or financing decisions without a qualified professional.
Scoring methodology
How ProTradeHQ scores contractor lead channels and buying decisions
Revenue impact
Does it improve booked jobs, close rate, collected cash, retention, or gross profit?
Operator fit
Can a small contractor team actually use it without adding complexity?
Speed to value
Can the business see useful results in days or weeks, not a six-month implementation?
Tracking clarity
Can calls, forms, estimates, booked jobs, and revenue be connected to the source?
Risk and lock-in
Are contracts, setup costs, data lock-in, shared leads, or workflow disruption reasonable?
Review snapshot
Contractor Customer Acquisition Cost: Fix the Math: pros, cons, price, and use case
Best for
Contractors comparing this option against other ways to win booked jobs or reduce operating friction.
Watch out for
Do not buy until you can track source, cost, close rate, booked revenue, and whether the team will actually use the workflow.
Price note
Check current vendor pricing before buying; software pricing and plans change often.
Use case
Use when it fixes a measurable workflow bottleneck.
Decision support
How to compare this option
| Factor | What to check | Why it matters |
|---|---|---|
| Fit | Match the tool or channel to your trade, job size, service area, and response speed. | Bad-fit leads and unused software are expensive even when the sticker price looks reasonable. |
| Cost | Track monthly cost, setup time, lead cost, and cost per booked job. | Revenue matters more than clicks, demos, impressions, or feature lists. |
| Proof | Look for real workflow proof, reviews, reporting, and source tracking. | If you cannot measure booked jobs, you cannot know whether it is working. |
People also ask
Is Contractor Customer Acquisition Cost: Fix the Math worth fixing first?
Yes if it is close to booked revenue. Prioritize the step that improves calls, quote requests, pricing, follow-up, reviews, or customer trust fastest.
What should contractors avoid?
Avoid adding more spend, software, or content before the basic handoff is working: clear offer, fast response, proof, pricing discipline, and source tracking.
What is the best next step?
Pick one measurable improvement, ship it this week, and track whether it increases booked jobs or reduces wasted time.
Methodology
How ProTradeHQ evaluates contractor tools and lead channels
We judge options by operator fit, booked-job economics, setup complexity, tracking clarity, and whether a small contractor can actually use the system without adding more chaos. We prioritize practical revenue impact over feature checklists.
Compare lead options
Before you buy leads, compare the channel economics
Marketing articles now route readers into comparison hubs for lead sources, websites, and software so traffic becomes a decision path instead of a dead end.
Glossary shortcuts
Compare lead options
Choose the next lead path by economics, not hype
Marketing articles should send readers into a clear decision path: compare lead sources, fix the website/GBP handoff, or download the right checklist.
The ProTradeHQ Team
We're veteran contractors and software experts helping the trade community build more profitable, less stressful businesses through practical systems that work in the field.