OPS2026-09-18· 4 min· By Michael Saad

Your Lead Count Is Probably Wrong. In Both Directions.

In one week on a new account, the ad platform over-counted, our own tracker under-counted, and the CRM could not say what happened next. What each error looked like and how to check for yours.

If your ad platform reports a cost per lead you are happy with, you may be paying for a number that was partly made up by your own team.

We found exactly that this month. We took on the ads and CRM for a home-services contractor with two service lines, new builds and remodels, and in the first week the ad platform credited one campaign with five leads. Four of them were our own test submissions. The campaign then optimised toward those four, which means it was learning to find more people like the agency.

That was one of three ways the lead count was wrong that week. Two pointed in opposite directions, and the blended number hid both. None of them is exotic, and all three are worth checking on your own account this week.

1. The platform counted our own tests

Of the five conversions reported on the new-build campaign, one was a real person. The other four were test submissions we made while building the forms, matched by the platform to the Facebook profile of the person testing.

The misreport is the cheap part. Conversion events are what the platform optimises toward, so your test traffic is not just sitting in a report. It is steering who sees your ads next.

New-build lineReportedReal
Leads51
Cost per lead~$101$503

The fix is not a filter in the report. It is a guard that stops internal submissions from being sent to the platform at all, so they never reach the optimiser. That guard went in on day seven. It does not undo what the campaign already learned; it stops it learning more.

2. Our own tracker missed four real leads

Our first lead tracker counted nine. There were thirteen.

It selected leads by contact source. That quietly excluded two groups:

  • A returning customer. They came in through an ad form, but their contact source was not the ad's, so the tracker never saw them. They were also the only one of the thirteen with follow-up recorded and a deal value attached. The tracker missed the best lead of the week.
  • Every website-form lead. Three of them. They arrived through the site, not through the ad forms, and the tracker was only looking at one door.

The fix was to count by what was submitted rather than by how the contact happened to be labelled. The rule we took from it: if two reasonable ways of counting leads give different numbers, find out why before trusting either.

3. Recorded is not the same as happened

Of the thirteen leads, one has any follow-up activity recorded in the CRM. Four are booked.

It would be easy to read that as "twelve leads were never called." That is not what it says. A call from a rep's personal phone leaves no trace in the CRM. A text from a personal number leaves none either. What the number actually says is that the CRM cannot tell you what happened to twelve leads.

That is still a problem, just a different one. You cannot improve a follow-up process you cannot see. But zero recorded is not zero attempts, and treating it as proof of negligence is how a measurement gap becomes an argument with the sales team.

Why the blend is the dangerous number

Put the three together:

Reported by the platformReal
Remodel cost per lead$36$36
New-build cost per lead~$101$503
Blended cost per ad lead$60$85

The remodel count was right: nine real people, nine results. Two of those nine turned out to be outside the service area, which is a targeting question rather than a counting one, but it is still a reason not to call any line clean until someone has looked. The new-build line was five times more expensive than reported. The blend looked merely a bit worse than expected, which is exactly the kind of number nobody investigates.

A blended cost per lead can be fine while one service line is quietly broken. If you only look at one number, look at it per service line.

We did the same thing to ourselves

On 15 September we withdrew figures we had published from our own AI readiness scan. The field they came from recorded one thing and we had read it as another. The correction is here.

Same class of error as all three above: a number accurate about something, just not about what it was being used to claim. Nobody is immune to it, including the people who check measurement for a living.

Three checks for this week

Submit a test lead, then look for it in the ad platform. If it appears as a conversion, your test traffic is training your bidding. Exclude it before the event is sent, not in the report.

Count your leads two ways. Once by what was submitted, once by contact source. If the totals differ, the gap is where your tracking is blind.

Pick five recent leads and ask what happened. Compare the answer with what the CRM records. The difference is your real follow-up rate, and it is usually not the one on the dashboard.

If you run one campaign for one offer, you can stop here: the blend problem needs at least two service lines to hide in, and the three checks above will cover you. If you are spending on more than one line across Meta and Google, and you cannot say with confidence what each one really costs, that is the work we do.

Want to apply this?

Run an AEO Scan against your own stack.

Free written read of your visibility across ChatGPT, Claude, Perplexity, and Google AIO in 24 hours. Same diagnostic we run on every new engagement.