Lead quality and cost per qualified lead
The most expensive leads are the cheap ones that never buy — how to measure what your ads really deliver and judge every campaign by it
The most expensive leads an agency can buy are the cheap ones that never buy anything. Ads Manager will happily report a falling cost per conversation while the pipeline fills with bargain hunters, competitors checking prices, and one-word “Hi”s that go silent — and a month later the client asks why sales didn’t move. The lead quality report is the antidote: it measures what the ads actually delivered, not what they cost.

What’s actually in the pipe
Volume is one number; composition is the story. Because the qualification bot interviews every lead and records the answers, Chatfuel knows not just how many conversations started but what was inside them: how many qualified, how many didn’t, and why — out of budget, wrong area, wrong service, or never answered the first question. Ask the Co-Worker “business report” for the qualified share, then dig into the failures: “why do deals fail” reads the actual lost conversations and names the patterns.
A quality read for a beauty-clinic client might come back: 120 conversations, 44 qualified (37%), and of the rest — a third asked about a service the clinic doesn’t offer. That last clause is gold: it means the ad copy is promising the wrong thing, and no bid change will fix it.
Cost per qualified lead: the math
This is the metric this whole section keeps pointing at, and it takes one division:
CPQL = ad spend (Ads Manager) ÷ qualified leads (Chatfuel)

Spend lives in Ads Manager; the qualified count is one question to the Co-Worker (“how many qualified leads this month?”). For calibration: the average cost per lead on Meta runs around $28 and climbed roughly 21% year over year, with huge spread by industry — but a form-fill “lead” and a qualified WhatsApp conversation are different animals, which is exactly why agencies that report CPQL instead of CPL sound like they know something the client’s last agency didn’t.
Go one step further when the client shares revenue: spend ÷ closed deals = cost per sale, the number that ends every “but what are we getting for the budget?” conversation.
Judge ads by quality, not cost
Put CPQL next to Ads Manager’s numbers and the kill-or-scale decisions start disagreeing with Meta’s favorites — trust the disagreement:
Meta optimizes toward what it can see: conversations started. Only you can see what happened after. As a sanity check, B2B benchmarks put typical marketing-qualified → sales-qualified conversion around 13% — if your WhatsApp funnel qualifies 35–45% of conversations, that’s a genuinely strong pipe, and worth saying out loud in the client report.
Fixing quality upstream
When the qualified share sags, the fix is almost always above the bot, not inside it:
- Make the hook filter. “12 slots for July” loses cheap clicks and gains real buyers; a generic discount hook does the opposite. The hook playbook has the formulas.
- Make the pre-filled message declare intent. “Hi! I want July pricing for a studio” starts the qualification a step ahead; a bare “Hi” starts it from zero.
- Match qualification fields to the niche. If the bot doesn’t ask what the client’s sales team needs to prioritize a lead, “junk” is often just “unmeasured” — fix the fields.
Report the disqualified leads too
The junk breakdown is client-facing gold, not dirty laundry. “A third of unqualified leads wanted a service you don’t offer — here’s the copy change we’re shipping” shows the client a feedback loop working. Agencies that hide the junk column end up defending it later; agencies that report it look like they run a system.
Where to next
Where the quality problems show up as stage-to-stage leaks.
The kill / scale / refresh playbook that runs on CPQL.
Hooks that self-select buyers before the click.
The interview that turns conversations into measured leads.
