Sales and CRM

Facebook lead ads to CRM: closing the leak between spend and follow-up

Why CSV downloads lose leads, how webhook delivery works, and the deduplication rules that keep one buyer from becoming four records.

· PropERP· 3 min read

পড়ুন বাংলায়

A phone showing a social advertising campaign next to a laptop
Social Media App Icons On The Screen of A Smartphone by mikemacmarketing (CC BY 2.0)

The gap between paying for a lead and calling it is where most property advertising budgets are wasted. Not in targeting, not in creative — in the two to twenty-four hours between a buyer pressing submit and a sales executive seeing the name. Webhook delivery closes that gap to seconds, and it is usually the highest-return change available to a developer's marketing operation.

How the delivery actually works

  1. The buyer submits a lead form on the ad platform.
  2. The platform posts the lead to a URL you register — a webhook endpoint on your CRM.
  3. Your system verifies the request, reads the field values, and creates or updates a lead.
  4. Assignment and acknowledgement fire immediately.

There is no download and no import. If your CRM cannot receive a webhook, an integration service can bridge it, but the bridge becomes a thing that can silently stop, so it needs monitoring either way.

Field mapping is where the quality is decided

Ad form fieldMaps toWhy it matters
Full nameLead nameUsed in the acknowledgement message
PhoneNormalised phoneThe deduplication key
Preferred size or budgetRequirementRoutes to the right project
Project or campaignSource projectOtherwise the executive asks the buyer what they enquired about
Ad set or campaign idSource campaignThe only way to compare cost per booking, not cost per lead

The last row is the one that gets skipped and the one that changes the marketing budget. Without campaign attribution carried into the booking, you can compare cost per lead across campaigns but never cost per sale, which is the number that matters.

Deduplication rules for Bangladeshi numbers

A single number arrives as 01712345678, +8801712345678, 8801712-345678 and 1712345678. Normalise to a canonical international form before comparing, then apply three rules:

  1. Same number within 90 days updates the existing lead and logs a new enquiry event, rather than creating a second lead.
  2. Same number, different project creates a linked enquiry under the same buyer, so the sales team sees the full history.
  3. Same number already a buyer raises a flag rather than a lead — an existing customer enquiring again is a referral opportunity, not a cold lead.

Speed only helps if the next step is automatic

A lead arriving instantly and sitting unassigned until the morning meeting has gained nothing. Auto-assignment, an instant acknowledgement in the buyer's channel, and a mandatory follow-up sequence are what convert speed into contact. Lead response time covers the targets and how to measure them honestly.

The reconciliation nobody does

Once a week, compare the lead count in the ad platform against the lead count created in your CRM for the same period. They should match. When they do not, one of three things is happening: the webhook is failing intermittently, deduplication is merging genuinely different people, or a form is not connected at all. All three are cheap to fix and expensive to leave.

What to do next

Open your ad account and your CRM side by side for last month. If the two lead counts differ by more than a couple of percent, or if you cannot see which campaign produced your last ten bookings, connect the lead source to the booking record before increasing spend.

Frequently asked

Why not just download the leads CSV once a day?
Because the buyer enquired with two other developers in the same session. A daily download guarantees you are the third to call, and it usually loses the leads submitted after the last download of the working day.
How do we stop the same person creating four leads?
Deduplicate on normalised phone number first, email second. Bangladeshi numbers arrive in at least four formats, so normalise to a single international form before comparing.
What if the webhook fails?
Log the failure and retry, and reconcile against the platform's own lead count weekly. A silent webhook failure is worse than a CSV, because nobody notices for a month.
Should every ad form field be captured?
Capture everything the form collects, but require only what the sales team will actually use in the first call. Long forms reduce lead volume more than they improve lead quality.

/integrations

Read next

All articles

Next step

See this working on your own project

Forty minutes, configured on one of your real projects. If the problem in this article is yours, that call is the fastest way to know whether it is solved here.

40 minutes · walked through on your project structure · no card required