- CAC = all-in marketing cost ÷ signed jobs from that marketing.
- Include fees, software, and production, not just ad spend.
- Leave referral and repeat jobs out unless marketing produced them.
- Compare CAC to gross profit per job, not to revenue.
CAC, CPL, and cost per estimate are different numbers
Cost per lead is ad spend divided by inquiries. Cost per booked estimate is ad spend divided by appointments. Both are early signals. Neither includes what you paid the people running the ads, and neither tells you whether a contract was signed.
CAC is the full cost of one new customer. It’s the number to set against what that customer’s job is worth.
What goes in the cost
Add up everything you spent to attract and book new homeowners during the period.
- Ad spend on every platform
- Agency, freelancer, or in-house marketing salaries
- Software used for marketing: CRM, landing pages, scheduling
- Video and photo production
- Lead marketplace fees, if you buy leads
Worked example (example numbers, not a benchmark)
In one month you spend $4,000 on ads, $3,000 on agency fees, and $500 on software. That’s $7,500 all-in. Those leads produce 5 signed jobs, so CAC is $1,500 per job ($7,500 ÷ 5).
Your average job is $25,000 at a 35% gross margin, or $8,750 in gross profit. CAC takes 6% of the revenue and about 17% of the gross profit on each job. Whether that works depends on your overhead, but now you can see it.
Match jobs to the month the lead came in
Big jobs sign weeks or months after the first inquiry. If you divide this month’s spend by this month’s signatures, a slow-closing campaign looks terrible early and great later.
Track each signed job back to the month and source its lead came from. Then calculate CAC for that month once most of its estimates have reached a decision. It takes a CRM that records the source on every lead, but it’s the only way the number means anything.
What lowers CAC
The cheapest improvements usually happen after the lead arrives. Every extra estimate that books, shows up, and signs spreads the same spend across more jobs.
- Faster first response to new inquiries
- Qualifying questions before an estimate is booked
- Reminders that keep booked estimates from no-showing
- Follow-up on estimates that haven’t signed
- Cutting campaigns that bring leads but no contracts



