Most contractors have a rough sense of what they spend on marketing every month. But ask them how many leads that spending produced — and what each of those leads actually cost — and most will draw a blank. They know they’re spending money. They just have no idea if it’s working.
That’s a problem, because marketing without tracking is just guessing. You might be pouring $800 a month into Facebook ads that haven’t generated a single real customer, while ignoring a referral channel that’s sending you $12,000 jobs for free. Cost per lead (CPL) is the number that cuts through the noise and tells you exactly where your money is going — and whether it’s coming back.
Cost per lead is simply how much money you spend to get one potential customer to contact you. That’s it. The formula is:
Total marketing spend ÷ Number of leads received = Cost per lead
Here’s a worked example. Say you spend $500 on Google Ads in a month and that campaign generates 10 phone calls and form submissions from people interested in your service. Your cost per lead is $500 ÷ 10 = $50 per lead.
Now say you also spent $200 on door hangers that same month. You got 4 calls from them. That’s $200 ÷ 4 = $50 per lead as well. Same CPL, different channel — and now you have data to work with instead of gut feelings.
The point of tracking CPL isn’t to find the absolute lowest number at all costs. It’s to understand which channels are efficient so you can invest more in those and pull back on the ones that are draining your budget.
There’s no single right answer here — it depends entirely on how much your average job is worth. A lead that costs $150 might be a great deal if you’re a roofer whose average job is $12,000. That same $150 lead would be a disaster if you’re a lawn care company charging $45 per mow.
A useful rule of thumb: your CPL should be no more than 5–10% of your average job revenue. Here’s how that plays out across different trades:
Also factor in your close rate. If you close 1 in 3 leads, you’re paying 3x your CPL to get a single job. A $50 CPL becomes $150 per booked job. Make sure you’re doing that math so you know what a customer actually costs you, not just a lead.
You can’t calculate CPL if you don’t know where your leads came from. This is where most contractors fall short — they get a call, book the job, and never write down how the customer found them. Over time, they have no idea which channel is producing.
Here are simple ways to track leads by source:
Here’s a realistic comparison of how different marketing channels typically perform for local service businesses:
When someone searches “roof replacement near me” and clicks on your website from a Google result — not an ad, but an actual organic listing — that click cost you nothing. No cost per click, no daily budget, no card getting charged. The lead came in for free.
That’s why organic search produces the lowest CPL of any channel once your site is established. The upfront investment is building a website that ranks — which takes time and ongoing effort — but once you’re ranking, those leads keep coming without additional spend per click. Compare that to Google Ads, where you pay every single time someone clicks, whether they hire you or not.
A well-built website designed to rank in search is essentially a lead generation machine that runs on its own. The monthly cost gets spread across every lead it generates, and as traffic grows, the effective CPL drops lower and lower. That’s the opposite of paid ads, where your CPL stays fixed (or rises as competition increases).
Once you’ve been tracking for 60 to 90 days, you’ll start to see patterns. Some channels will have low CPLs; others will look shockingly expensive. Here’s how to act on what you find:
This one trips up a lot of contractors who work with marketing agencies. An agency might report that your Facebook ad got 15,000 impressions and 340 clicks last month. Those sound like impressive numbers — but impressions and clicks are not leads.
A lead is a real person who contacted you to ask about your service. A phone call, a form submission, a text, a direct message. Anything short of actual contact is just traffic. When you’re calculating CPL, only count contacts from people who expressed genuine interest in hiring you. Clicks that bounced in three seconds don’t count. Views don’t count. Only conversations count.
This is an easy way to get misled by a marketing vendor who reports vanity metrics instead of actual lead counts. Always push for the real number: how many people contacted us, and how much did that cost?
Here’s a simple checklist to run through at the end of each month:
You don’t need a fancy dashboard to do this. A simple spreadsheet you update once a month takes less than 30 minutes and gives you more useful data than most contractors ever have. After three months, you’ll have a clear picture of what’s actually growing your business — and you’ll never waste money the same way again.
We build service businesses 500+ page, fast, SEO-ready websites — for $249/month, with a live dashboard so you can watch it climb.
See How It Works →