Skip to content

Meta's cost per lead counts every form. Here is how to find your real cost per lead

Ads Manager's cost per lead is the average cost of form responses submitted, real or not. Why that number runs lower than what each real buyer costs you, how to work out your own, and how to close the gap.

Open Ads Manager on any lead campaign and the headline number is cost per lead. It looks like a business metric. It is not quite one, and the difference is the reason we built Streakstone.

What Meta actually reports

Meta's own definitions are short and precise:

  • Leads (form): "The number of form responses submitted after people clicked on an ad that includes an instant form." (Meta Business Help Centre)
  • Cost per lead (form): "The average cost of form responses submitted after people clicked on an ad that includes an instant form." (Meta Business Help Centre)

Read them again. Both count form responses submitted. Nothing in either definition asks whether the number works, whether the same person already filled the form, whether they live where you can serve them, or whether they ever pick up the phone. Every response is one lead, and spend divided by responses is the cost per lead.

That is not Meta hiding anything. At the moment a form is submitted, Meta has no way to know what happens next. Only you do.

Why the gap can be large

Four things push form responses away from real buyers:

  1. Forms are easy on purpose. Meta says contact information "such as name, email address and phone number, may be prefilled" if the person has already given them to Meta (About lead ads with instant form). A submission can take a couple of taps.
  2. The default form type is More volume. Meta lists three types, "more volume (default), higher intent and rich creative" (same page). Volume is what you get.
  3. Location is not exact. Meta notes that "complete accuracy cannot be guaranteed" for location targeting, and you may occasionally receive "a message or lead, from outside your location settings" (Download or retrieve your leads data).
  4. Delivery optimises for what it can see. A lead campaign that is judged on form responses finds people who submit forms. If you never send back which ones became customers, that is all it can learn.

A worked example

The numbers below are an illustration, not a benchmark. Your split will be different.

You spend ₹15,000 and get 100 form responses. Ads Manager shows a cost per lead of ₹150.

Then your team, or a system, works through them:

Leads left Cost per lead left
Form responses Meta counted 100 ₹150
Minus 12 fake or invalid numbers 88 ₹170
Minus 8 people who filled the form twice 80 ₹188
Minus 10 people outside your area 70 ₹214
Minus 35 who never replied or said no 35 ₹429

Meta's cost per lead is ₹150. What each real buyer cost you is ₹429, about 2.9 times as much. If you compare ads on the first number, you can end up moving budget to the ad that brings the most form responses and the fewest buyers. We walk through that in cost per lead vs cost per qualified lead.

How to work out your own number

  1. Download your leads. Ads Manager lets you download your leads data as a CSV, and the file includes the ad name and ID for each lead.
  2. Mark each lead with what actually happened: wrong number, duplicate, outside area, no reply, not interested, real.
  3. Divide spend by real leads, per ad, not just per campaign. The ad level is where the surprises are.

Doing this by hand once is worth it. Doing it every week by hand is where most teams give up.

How to close the gap

Meta gives you some tools for this, and they are worth using:

  • Higher intent forms add a review step before submitting.
  • Phone number verification asks people to confirm their mobile number with a one-time password before the form is sent, according to Meta's instant form documentation.
  • Custom questions and conditional logic make people say what they actually want.
  • Send outcomes back. With the Conversions API for CRM, you tell Meta which leads qualified, booked and bought, and the Conversion leads goal can then optimise for those people instead of form responses.

Each of these trades some volume for quality. None of them removes the need to check every lead and talk to every person who could be real.

Why we built Streakstone

Streakstone exists because of the gap in that table. It tests every Meta, Google and website lead the second it arrives (real number, not a duplicate, in your area, real answers, human speed, not a test lead), messages the ones that pass on WhatsApp in their language, calls the ones who do not reply, and sends only qualified leads to your team. Every ad gets a cost per real lead, not just a cost per form response. And each lead's outcome goes back to Meta through the Conversions API, so the next month's form responses look more like your buyers.

You can see the same walk-through on our homepage, or run the free lead audit to see your own split on your last 90 days of Meta leads.

Sources

Meta's cost per lead counts every form. Here is how to find your real cost per lead | Streakstone