Tempio

What is CPL?

Cost per lead is ad spend divided by the number of leads it produced. A lead is whatever the account decided to count — a form, a call, a chat, a downloaded file — so the figure means nothing until the event behind it is named.

CPL = ad spend ÷ leads

A worked example

A campaign spends A$9,000 in a quarter and produces 300 form submissions. CPL is 9,000 ÷ 300 = A$30. If a quarter of those forms are junk — test entries, wrong numbers, people who wanted a job — the cost per contactable lead is 9,000 ÷ 225 = A$40. If one contactable lead in six becomes a customer, the cost per customer is A$240. All three figures describe the same quarter, and only the last one can be compared with what a customer is worth.

What a lead is, and why the word does the damage

Cost per lead divides what a campaign spent by the number of leads it produced. The arithmetic is one division. Everything difficult about the metric is in the noun.

A lead is whatever the account was configured to count. In one account it is a completed contact form with a phone number and a budget range. In another it is an email address exchanged for a downloadable file, a chat window opened, a phone call over thirty seconds, a quote request, a demo booking, or a tick in a box that says "keep me posted". Each of those produces a number called cost per lead. None of those numbers can be held up against each other, and the gap between two accounts is far more often a definition than a performance difference.

This matters more here than on most metrics, because the definition is under the advertiser's control and moving it moves the number immediately. Removing three fields from a form will lower cost per lead this week. Whether it lowered the cost of a customer is a question that takes a sales cycle to answer.

The arithmetic, and the number hiding behind it

Cost per lead decomposes the same way every cost-per-event metric does:

Cost per lead = cost per click ÷ landing-page conversion rate

A campaign paying A$2 a click at a 5% form-fill rate has a A$40 cost per lead. So does a campaign paying A$1 a click at 2.5%. Identical headline, opposite problems: the first has a traffic-price problem and the second has a page problem.

The decomposition is where the diagnosis lives. A figure that rose while the click price held flat points at the page, the form or the offer. A figure that rose while the form-fill rate held points at the auction, the audience or the placement mix. Checking both takes a minute and saves a fortnight of bidding changes aimed at the wrong half of the funnel.

There is a third input the platform cannot see at all: the share of leads that are real. A denominator padded with duplicates, test entries, competitors doing research and people applying for jobs makes the reported figure look better than the one the sales team experiences.

A lead is an intermediate, not an outcome

Nobody banks a lead. The metric is a proxy, and like every proxy it is only as good as the ratio that connects it to the thing being proxied.

That ratio is the close rate, and it varies enormously by source. Leads from a branded search query close at rates that leads from a broad feed audience never approach. Leads from a form that asked for a budget close better than leads from a form that asked for an email. Leads followed up in five minutes close better than leads followed up the next day, which is a sales-process fact that shows up in the advertising report as though it were a targeting fact.

The consequence is that cost per lead is only comparable within a source, and only decision-grade once the close rate per source is visible. An account optimising toward its lowest cost per lead without that visibility reliably concentrates budget on the campaigns producing the least revenue, because the cheapest leads are cheap for a reason.

The fix is not complicated but it is rarely free: the identifier that arrives with the lead has to survive into the system that records the sale. Once it does, every campaign can be read at cost per customer rather than cost per enquiry, and most of the arguments about which campaign is working end.

Where the figure is read differently

On search, a lead has usually been preceded by a stated problem. The cost is higher, the intent is higher, and the close rate is higher. On feeds, a lead has usually been preceded by an interruption, which is why in-platform instant forms exist: they remove the friction that a person with no particular intent will not overcome. The lead gets cheaper and lighter at the same time.

On professional networks the same logic runs with a narrower, more expensive audience: fewer leads, a much higher price, and a close rate that can justify it when the contract value is large enough.

None of that makes one surface better. It makes the figures non-comparable without the close rate beside them, and it makes a cross-platform cost-per-lead league table one of the least useful reports in advertising.

What the number hides

Quality, entirely. Cost per lead cannot distinguish a purchasing manager from a student, and the ad platform will optimise toward whichever one is cheaper to produce.

Sales capacity. A campaign that halves its cost per lead and doubles its volume has moved the bottleneck into the sales team. If nobody calls the extra leads within the window where they still answer, the advertising has bought nothing and the reported figure has improved.

The offer's contribution. Most of the movement in cost per lead comes from what was offered rather than from how it was bought. A guide, a calculator, a free audit and a price list attract different people at different prices, and no amount of bid work substitutes for testing the offer.

Small numbers. A campaign with eight leads in a fortnight has a figure that swings on the next one. Under the platform's own threshold for the optimisation window, both the report and the bidder are working on noise.

What moves it

Work the page and the form first: the speed of the page, the number of fields that genuinely have to be there, whether the offer on the page is the offer in the ad, and whether the page answers the question the ad raised.

Then clean the denominator. Filtering junk raises the reported figure and improves every decision made from it.

Then feed the platform the better event. A qualification signal sent back — the lead answered, the lead booked, the lead bought — lets the bidder chase the outcome rather than the enquiry, and it is the single largest available improvement in most lead accounts.

Then, and only then, bid. Against the business's own ceiling: contribution margin per customer, multiplied by the rate at which these particular leads become customers.

How to move CPL

  • Define the lead before you price it. A form that asks for an email and a form that asks for a budget produce different volumes at different qualities, and the cheaper one is routinely the more expensive per customer.
  • Score leads back from the sales system, not forward from the ad platform. Until the close rate per source is visible, every campaign's cost per lead is being compared as though all leads were equal, which they never are.
  • Strip the junk out of the denominator before reporting. Test submissions, duplicates, competitors and job applicants all lower the reported figure and none of them will ever buy.
  • Lengthen the form when the cost per lead looks too good. Qualification is the cheapest filter available, and moving the work from the sales team to the form usually raises the cost per lead and lowers the cost per customer at the same time.
  • Compare the figure against contribution margin multiplied by close rate, never against another advertiser's average. The same A$30 lead is a bargain at one close rate and a slow loss at another.

Related terms

Questions

Put frontier AI to work on every ad account you run.

Tempio connects your ad accounts into one workspace and hands your own AI the numbers and the tools. Every change it writes is a draft until you approve it, or until a rule you wrote does.

Request early access
  • Read and draft by default. Approve is a separate permission you grant.