Job profitability

Cost Per Lead vs Profit Per Job: Stop Buying Unprofitable Work

Paid leads feel like growth until you cost the job honestly. A $65 Angi fee or $120 Google Ads click cluster is fine on a high-ticket install — and fatal on a $189 service call that already carries travel and overhead. The question is not "Did we get a lead?" It is does net profit after the lead fee still clear your target?

Lead cost is a job cost

Treat acquisition the same way you treat materials. If the ticket came from a paid channel, assign that fee (or your average cost per booked job from that channel) to the job. Spreading marketing only at month-end hides which service lines cannot absorb lead prices.

Where the math breaks

Illustrative numbers — replace with yours:

Job Net profit before lead Lead fee Net after lead
$220 drain clear$55$75−$20
$450 AC diagnostic$140$75$65
$6,800 furnace install$1,100$150$950

Same lead fee. Three very different outcomes. Buying more of the first job type is buying losses.

Rules that protect margin

  • Set a max lead cost by service line based on typical net profit for that ticket type.
  • Block or filter cheap jobs on expensive lead platforms, or charge a diagnostic/minimum that absorbs the fee.
  • Track close rate — cost per booked job is higher than cost per lead when half never book.
  • Prefer organic and referral for small tickets; save paid spend for jobs that can carry it.

Cost a real paid-lead job

Pick a recent job from Angi, Google Ads, or another paid source. Enter revenue, labor, travel, vehicle, materials, overhead, and the lead allocation in the job profitability calculator. If net drops near zero or negative, that channel or ticket size needs a pricing or mix change — not a bigger ad budget.

Run a job with lead allocation

See what remains after the lead fee with the free job profitability calculator.

Open the free calculator