Lead Quality Leak Detector

Good CPL, bad sales?

Ad platforms optimise for cheap leads, not good ones. Paste your leads export and your CRM/sales export — it matches them on phone/email/lead-id and grades every campaign by what it actually closes, not what a lead costs. Nothing is stored.

Two exports in. The CPL trap out.
1 · Leads export

Which campaign / ad set / city each lead came from + a phone, email or lead-id. (Meta lead CSV, Google lead-form export, or your sheet.)

2 · CRM / sales export

The same leads with what happened: status (contacted / qualified / sale…) or revenue, plus the matching phone/email/lead-id.

Column names are auto-detected (phone / mobile / campaign_name / status / revenue…). Add spend as a column in the leads file, or a single total here.

How it works

  1. 1Paste (or upload) your leads export — the file with which campaign, ad set and city each lead came from. A Meta Ads lead CSV, Google lead-form export or your own sheet all work.
  2. 2Paste your CRM/sales export — the same leads with what happened to them: contacted, qualified, appointment, sale, and revenue. It matches the two on phone, email or lead-id.
  3. 3It grades every campaign by what it actually closes and (if you add spend) the true cost per qualified lead, per appointment and per sale — then tells you which source to scale and which to cut.

When to use it

  • Your CPL looks great but sales are flat — and you can't tell which campaigns are sending junk.
  • You're about to scale the cheapest campaign and want to check it actually produces buyers first.
  • You want cost-per-sale and closing rate by campaign, city or ad set without building a spreadsheet.

Frequently asked questions

Is the Lead Quality Leak Detector free?

Every account gets one free run of each AI tool, no card needed. After that it's 1 credit per analysis — the free monthly credits cover regular use, and credit packs top up if you need more.

What files do I need?

Two CSV exports: (1) your leads with a campaign/ad set/city column and a phone, email or lead-id; (2) your CRM/sales data with the same phone/email/lead-id plus a status column (contacted, qualified, sale…) or a revenue column. Column names are auto-detected — 'phone', 'mobile', 'campaign_name', 'status', 'revenue' etc. all work.

How does it match leads to sales?

On phone number (normalised to the last 10 digits), email, or a shared lead-id — whichever both files have. It tells you the match rate; if it's low, the two files usually don't share a clean phone/email format.

Do I need to upload ad spend?

No, but it's where the story is. Without spend it grades by closing rate. Add spend — a column in the leads file or a single total — and it computes cost per qualified lead, per appointment and per sale, which is what exposes the CPL trap.

Is my data private?

Yes. The matching and grading run on the server and nothing is stored. Only aggregated, anonymised numbers (per-campaign counts and rates — never names, phones or emails) are sent to the AI for the written summary.