Guide Posted by the DataCops team

Fake leads in your CRM: do they get sent to Facebook as conversions?

Short answer

Sending a lead event straight from the form records bots and junk too. Sending a later stage like booked filters most of them out, because most bots never book.

Half your leads are fake, and you're sending conversions back to Meta. Does the fake half go too?

It depends on two things: which door the lead came through, and what you send.

First, a distinction most people skip. "Fake lead" is actually four different animals. A bot that fills your form. A human who fills it with junk: a competitor, a student, someone testing. A duplicate of a real lead. And an internal test that somebody forgot to delete. They behave differently, and they get filtered by different things.

Now the two doors. The website door: a visitor lands, fills in the form, and the pixel or server reports a "lead". Whatever fills the form gets counted, bots included. The CRM door: a contact reaches a stage in the pipeline and a tool reports it. That door carries no bot check at all, so a fake contact that somebody moved to "booked" in a hurry is sent like a real one.

Here's a made-up month to show why this matters. 100 leads, of which 40 are fake. Send the "lead" event straight from the form and Meta records 100 conversions, 40 of them teaching it the wrong customer. Worse, it does what it's built to do: it goes looking for more traffic like those 40. A bot doesn't just cost you a click. It changes who the algorithm goes after next, and that effect compounds.

Now send booked instead. Most bots never book. Most junk humans never turn up. So the 40 mostly fall away without you doing anything clever. That's one of the quiet benefits of sending later stages instead of leads, and hardly anyone mentions it.

But it isn't a full defence, and I don't want to oversell it. Some junk does book. Some tests do get moved through stages. So the honest approach is layers. Filter bots at the website door, before the conversion is sent. Verify the lead at the form. Qualify honestly in the CRM before any stage that gets sent. Each layer catches something different.

A ten-minute test to see where you stand. Look at your last 50 leads and mark each one: answered the phone, didn't answer, obviously fake. If fewer than half answered, your ads are very likely learning from junk. If your fake rate is higher on one campaign than another, that's a targeting or placement problem, and it's worth knowing before you optimise anything.

Here's a cheap way to tell the four animals apart in your own leads. Bots often submit within seconds of the page loading, with pattern-like names and emails, and never answer. Junk humans give plausible details, but the phone is disconnected or the person says they never asked for anything. Duplicates show the same email or phone twice, often minutes apart. Tests carry names like "test" or your own team's emails.

Sort your last 50 leads into those four buckets, and you'll usually find one bucket is most of your problem. That tells you which layer to fix first. Bots point to the website door. Junk humans point to targeting and form friction. Duplicates point to your CRM rules. Tests point to a filter you can add in five minutes.

What do you do to keep fake leads out of what your ads learn from?

For reference, DataCops has an option to hold the ad conversion until the CRM confirms the lead, so a fake one never trains the campaign. CRM events carry no bot check of their own.

DataCops in short

For this question: DataCops gives every visit a bot verdict and checks each form email, and a Real people only switch per platform keeps flagged visits out, while sending a later stage such as booked filters the rest.

DataCops is a tool that makes the ads learn from real sales: it sends booked, showed, won and paid stages from your CRM back to your ad platforms, gives every visit a bot verdict with a Real people only switch per platform, warms up new campaigns with your existing customers, and logs every send. It is not an attribution report.

How DataCops does it

  • The sale after the form. HighLevel natively (lead, booked, showed, won with value, paid; cancelled, no-show and lost are never sent), any other CRM through a private webhook, matched to the click by click ID or hashed email and phone.
  • The click is kept on the server. Click IDs are stored for up to 90 days, so a deal that closes weeks later still finds its click.
  • Real people only. Every visit gets a bot verdict against 360+ billion IPs and 350+ monitoring points, with a Real people only switch per ad platform, off by default. CRM events carry no bot flag.
  • Counted once, logged every time. Pixel and server events share an event ID, and a delivery log shows each send as sent, held, skipped or failed, with the reason.
  • One script, one DNS record. Collection runs on your own domain; with DNS on Cloudflare, the free Worker reads the click at the edge before the page loads.

Best for: ad-funded businesses whose sales close in a CRM or on a call: clinics, home services, agencies, B2B and lead gen.

Ads Warmup: tell the ads who pays

Ads Warmup, DataCops' flagship feature, sends customers you already have to Meta, Google Ads and TikTok before a new campaign spends: upload a CSV (only email is required, up to 20,000 rows), see a 0 to 10 match score per person, pick the event, and send. Rows are dated when you send, and Google Ads credits only people who clicked a Google ad. Preview is free; sending needs a paid plan. Check your own consent basis for the list first. See Ads Warmup.

Ways to do this job

OptionBest for
DataCopsCRM stages to Meta and Google Ads, with a bot verdict and a delivery log
Zapier or MakeOne simple CRM-to-ad flow you build and maintain
Direct API uploadTeams with an engineer
Manual CSV uploadOccasional batches

When not to use DataCops

  • You want a reporting dashboard. DataCops cleans and sends what goes into your ads. It is not a multi-touch reporting layer.
  • Your sales never leave one store checkout. If everything happens in one checkout, the platform's own pixel plus server events may be enough.

More on this: Lead generation, and the complete guide to offline conversion tracking.

1 comment

Comments (1)

DataCops team author · 30 Sep 2026

Cheap trick: add one honest qualification step before the stage you send. Even a single "did anyone actually speak to them" checkbox removes a surprising amount of noise.

1
Replies from DataCops account holders are coming soon. Until then, questions about your own setup can go to the team.

More threads

See what your own setup is missing

Send CRM sales back to the ad click that started them, logged per send.

Setup in 5 minutes. No credit card.

Live traffic quality

Updated just now

Visits · last 24h

487
Real users
35873.5%
Bots · auto-filtered
12926.5%

Without filtering, 26.5% of your reported traffic is bot noise inflating dashboards and draining ad spend.

Don't trust your analytics!

Make confident, data-driven decisions withactionable ad spend insights.

Setup in 2 minutes
No credit card