Why Meta’s Cheap Leads Don’t Show Up in Your Sales

Meta optimises for whatever event you report back to it. If the only event you send is "someone submitted a form", Meta will reliably find people who submit forms — not people who buy. Send a qualified-lead event back instead, and the same budget starts buying callbacks that turn into jobs.

Why does Meta report a low cost per lead when none of them close?

Because Meta is doing exactly what you asked, and you asked for the wrong thing.

Every Meta campaign optimises toward a single event. In a lead campaign, that event is almost always the instant-form submission or a website form’s Lead event. Meta’s delivery system then goes looking for more of the people who did that thing. It has no idea which of those submissions had a real phone number, a real budget, or a real property in your service area. It only knows the form was completed.

So the algorithm gets better and better at finding form completers. Your reported cost per result drops, your dashboard looks healthier every week, and your front desk gets busier with people who do not answer the phone. Nothing is broken. The feedback loop is just pointed at the wrong finish line.

What should a small business send back to Meta instead?

Send the event that happens when a human on your team decides the lead is real.

For most owners that is a qualification step they already perform: the receptionist reaches the person, confirms they are in the service area, and books an estimate. That moment is the event worth optimising for. Meta’s Conversions API and its offline conversion import both exist to let you push that event back into the ad account with the lead’s identifiers attached, so delivery learns from it. Meta documents both in its developer and business help documentation.

Practically, it looks like this: the lead comes in, your CRM or spreadsheet marks it qualified or junk, and once a day or once a week that qualified set goes back to Meta. After a couple of hundred qualified events, the campaign has a materially different picture of who is worth showing the ad to.

What is the difference between cost per lead and cost per qualified lead?

One is what Meta charges you per form; the other is what you actually pay to speak to a buyer.

MetricWhat it measuresWho it is useful toRisk if you manage to it
Cost per result (Meta’s number)Spend divided by reported form fillsChecking delivery is working at allRewards volume of junk; drops as quality drops
Cost per qualified leadSpend divided by leads your team confirmed as realThe owner deciding budgetNeeds a qualification step someone actually performs
Cost per booked jobSpend divided by appointments or sales closedJudging a channel against othersSlow signal; mixes in sales-team performance

Manage the account to cost per qualified lead and report cost per booked job to yourself monthly. Meta’s own cost per result is a delivery health check, not a business metric.

Does tightening the form reduce lead volume too much?

It reduces volume and usually improves what arrives — which is the trade most owners actually want.

Meta’s instant forms let you choose a higher-intent form, which adds a review step before submission, and you control which questions are asked. Two or three qualifying questions — postal code, what the job is, when they need it — cut the accidental submissions that come from someone thumbing through Reels.

The honest caveat: tighten too far and you starve the campaign of the events it needs to learn from. If a campaign is getting only a handful of qualified events a week, it will not optimise well no matter how clean they are. Tighten the form, then watch whether the campaign still has enough volume to learn.

Does any of this apply to Advantage+ campaigns?

Yes — more so, because Advantage+ takes more of the targeting decisions away from you.

With broader automated placements and audience expansion, the event you report back is close to the only steering wheel you still hold — the less targeting control you have, the more your conversion signal decides who sees the ad. That is why accounts running Advantage+ placements with nothing but a raw form-fill event tend to drift toward cheap, low-intent leads over a few weeks.

This is the work we do on lead-gen accounts day to day. A GTA mortgage brokerage we run sits at 1,113 leads a month at $7.69 each as of August 2026 — a number that only means anything because the qualification step behind it is real. If you want someone to look at how your account is measuring quality, our Meta Ads management team does this on every account we take on.

What to do this week

  1. Pull your last 100 Meta leads and mark each one qualified or junk by hand. You now have a qualified rate, which is the number your cost per lead should be divided by.
  2. Decide the single moment that defines a qualified lead in your business — reached by phone, confirmed in service area, estimate booked — and write it down. One moment, not three.
  3. Get that event back into Meta, through the Conversions API if you have a developer or an integration, or through offline conversion imports if you are working from a spreadsheet.
  4. Add two qualifying questions to the instant form, or switch it to the higher-intent version, and leave the campaign alone for two weeks before judging it.

Frequently asked questions

How long does Meta take to adjust after I start sending qualified-lead events?

Plan on two to four weeks before the change is readable. Delivery needs a reasonable number of the new events before it can act on them, and lead campaigns at small-business budgets generate those slowly. Judge the period after the change against the same length of time before it, and compare qualified leads rather than raw form fills — otherwise the change will look like a failure, because raw volume almost always falls.

Can I do this without a CRM?

Yes. Offline conversion imports accept a file, so a spreadsheet your receptionist updates is enough to start. The columns that matter are the identifiers Meta can match on — email, phone number — plus the date the qualification happened. A CRM makes it continuous rather than weekly, which matters more as spend grows, but a weekly upload beats sending nothing.

Should I run a separate campaign for qualified-lead optimisation?

Usually no. Splitting budget across two lead campaigns at small-business spend levels leaves both short of the events they need to learn. Change the event on the campaign you already have, accept a noisy fortnight, and keep the budget consolidated. Separate campaigns make sense when you have two genuinely different services with different economics, not as a way to test a measurement change.

Is a low cost per lead ever a good sign on Meta?

It is a good sign when the leads behind it have been qualified by a human and the number still holds. On its own it tells you only that Meta found cheap form submissions, which it is very good at doing. Treat an unusually low cost per result as a prompt to check lead quality, not as a result to celebrate.

Running Meta lead campaigns and not sure whether your cheap leads are real? Get a free 48-hour audit — our ex-Googler founder’s team will tell you what your actual cost per qualified lead is.

Sources: product behaviour described here is documented by Meta in its Conversions API documentation, offline conversions documentation and Business Help Center. No third-party statistics are cited in this post.

Published by The Social Shepherd, a Google Premier Partner agency in Toronto founded by an ex-Googler. Figures quoted from client accounts come from the live Google Ads and Meta accounts named in our case studies.