Cost Per Lead vs. Cost Per Job: How Contractors Should Measure Marketing

Written by

in

6 min read

Cost per lead is what you spend divided by leads received. Cost per job is what you spend divided by jobs won. Cost per job is the number that decides whether marketing pays, because a cheap lead that never books costs more than a pricier lead that does.

Every marketing vendor can show you a cost per lead. It’s a clean number and it looks like proof. It only tells you what you paid for a name and a phone number, not what you got for it.

Contractors get paid for finished jobs. So measure the job.

What is the difference?

MetricFormulaWhat it tells you
Cost per leadSpend / leadsWhat you pay for an inquiry
Cost per estimateSpend / estimates bookedWhat you pay to get in front of a customer
Cost per jobSpend / jobs wonWhat you pay for real work
Return on spendProfit from jobs / spendWhether it made money

A lead is someone who contacted you. A job is someone who paid you. The gap between them is where marketing money goes to die, or to pay off.

How can a cheap lead cost more?

Imagine a plumber who tests two sources for a month. These numbers are invented to show the method.

Source ASource B
Spend$1,200$1,000
Leads408
Cost per lead$30$125
Leads reached228
Estimates booked105
Jobs won23
Cost per job$600about $333

Source A looks four times cheaper per lead. Source B wins jobs for about half the price. Fewer, better leads beat more, weaker ones. The lead price hid the truth.

What are the steps between spend and a job?

Every source runs the same chain:

  1. Leads: people who contacted you.
  2. Reached: the ones you actually spoke to.
  3. Estimates: the ones who agreed to a visit or quote.
  4. Jobs: the ones who hired you.
  5. Profit: what the job earned after costs.

Each step drops some people. Your job is to find which step drops the most. If leads are fine but few are reached, your problem is answering. If estimates happen but jobs don’t, your problem is pricing or follow-up. Marketing can only fix the first step.

What does it cost you to lose a lead?

Your own cost of a lost lead is at least what you paid for it. Say a source costs you $50 per lead and you miss 1 in 4 calls. Out of 20 leads, 5 wasted $250. That is a hypothetical, but the shape is real: paid leads you don’t reach are the cheapest money to save. Our post on what a missed call really costs has more on the math.

A lead log to copy

Keep one row per lead. A spreadsheet is enough.

DateSourceNameReached?Estimate?Job won?RevenueProfit
Y/NY/NY/N

Add a second tab for monthly spend by source. At month end, you can compute all four metrics in a minute.

How do you know where a lead came from?

  • Ask. “How did you hear about us?” on every call, written down the same day.
  • Use separate numbers. A different tracking number for each ad or source shows you the calls without asking. A local business phone line can serve as your main number, and your own tracking can sit on top of it.
  • Read the forms. Some forms let you add a “how did you find us” field.
  • Check invoices. When the job is done, note the source next to the revenue.

Customers can misremember, so treat the data as a good estimate, not a lab result.

How long before you can judge a source?

Wait for a fair window. Decide the budget cap and the length before you start, and don’t change either mid-test. For many contractors 30 days is a floor, and if you book only a few jobs a month you need longer.

Small numbers can mislead. Two jobs from one source and three from another is a weak signal. Treat early results as a direction, and let the count grow before making a big move.

What should you do with the results?

Use the numbers to make a simple call:

  • Cost per job is well below profit per job: keep it, and try a small step up.
  • Cost per job is close to profit per job: fix the weak step (answering, quoting) and retest.
  • Cost per job is above profit per job: cut it, unless you have real evidence of repeat work that makes up the gap.

Compare sources on the same yardstick. Lead sites, search ads, Local Services Ads and Facebook all fit into the same log. See our contractor advertising guide for each channel, and are lead-marketplace leads worth it for one applied example.

What about unpaid sources?

Referrals, repeat customers and Google reviews cost you time, not ad spend. They often carry the best jobs. Log them the same way, so you can see their share. If you want a structured plan that starts with those, read our simple marketing plan for a small contracting business.

Common questions

What is a good cost per lead for a contractor?

There is no universal good number, because it depends on your trade, market and job size. A lead price that works for a $15,000 remodel would sink a $150 repair. Instead of chasing a low lead price, work backward: decide the most you can pay per booked job, then see whether your lead source can hit it.

How do I track where my leads come from?

Ask every caller how they found you and write it down the same day. Use a separate tracking phone number for each channel if you can. Keep a simple sheet with the date, source, whether you reached them, whether an estimate happened and whether you won the job. Consistency matters more than the tool.

How long should I test a marketing channel?

Long enough to collect a meaningful count of leads and jobs. For many contractors that means at least 30 days, and longer if you book few jobs a month. A slow week is not a result. Decide the window and the budget cap before you start, then judge at the end, not during.

Should I count repeat customers in cost per job?

Track first-job cost and repeat value separately. A customer who calls you back for years is worth more than one job, but do not assume that in advance. Log repeat work when it happens, and use it as a bonus when comparing channels, not as a way to justify a losing one.

Want this running for your business?

15 minutes on the phone. We show you the real thing on a real account, you ask whatever you want. No pressure, no contract.

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *