6 min read · Updated 2026-08-12

Good CPL but bad sales? Why cheap leads don't mean more revenue

Cost per lead is the easiest number to improve and the easiest to be fooled by. Here's how to tell whether your cheap leads are actually costing you money.

Why a low CPL can be a trap

Ad platforms optimise for the objective you give them. Tell Meta or Google to get you leads at the lowest cost, and they will — by finding the people most likely to fill in a form, not the people most likely to buy. Those are not the same audience.

The result is a report that looks great at the top (cheap leads, lots of them) and quietly falls apart at the bottom (few of them close). If you only watch CPL, you'll scale the campaign that's bleeding you and starve the one that's working.

The number that actually matters: cost per sale

Two campaigns can have very different economics behind the same CPL. A campaign at a higher cost per lead that closes at a much better rate can produce customers far more cheaply than a 'cheap' campaign that mostly attracts tyre-kickers.

The metric to rank campaigns by is cost per qualified lead, cost per appointment, and ultimately cost per sale — not cost per lead. Closing rate by source is the bridge between your ad manager and your bank account.

How to diagnose it in your own data

You need two exports you almost certainly already have: your leads (which campaign, ad set and city each lead came from) and your CRM or sales data (what happened to each lead — contacted, qualified, appointment, sale — and revenue).

Match them on phone, email or a shared lead id, then group by campaign and compute the closing rate and cost per sale for each. The picture usually reorders your campaigns completely.

  • Look at closing rate by source, not just volume.
  • Add spend to see cost per qualified lead and cost per sale.
  • Watch for sources with lots of leads and zero sales — those are pure leaks.

What to do once you find the leak

Scale the campaigns that produce buyers, even if their CPL is higher. Pause or rework the ones that produce volume but no sales. Feed the platform better signal by optimising for a deeper conversion event (qualified lead or purchase) rather than the raw form fill, so it starts finding buyers instead of form-fillers.

Then re-check weekly — lead quality drifts as audiences saturate and creative fatigues.

Key takeaways

  • CPL measures how cheaply you collect contacts, not how well they buy.
  • Rank campaigns by closing rate and cost per sale, not cost per lead.
  • Join your leads export to your CRM/sales export to see the truth per source.
  • Scale what closes; feed the platform a deeper conversion event to find buyers.

Free tools for this