Skip to content

Meta Lead Ads: What Happens When a Lead Never Arrives

Anam Jalal

Founder & CEO, MAJ Leads

Updated 5 Nov 2026 · 6 min read

Quick answer

Meta tells your system about a new lead with a webhook, and it drops an unacknowledged notification after 36 hours. If your system was down or slow, that lead exists in Meta's form but never reaches you. MAJ Leads reads the last 48 hours of each connected Page once a day and adds missing leads, quietly, with no duplicates.

Note

What we read and checked. We read Meta's webhooks page and its Retrieving Leads page on 5 November 2026, and read the catch-up and connection-check code in the MAJ Leads Console the same day. Neither Meta page carries a date, so check them before you build. We have not measured how often Meta drops a delivery and give no rate. MAJ Leads has no customer results to show and none are claimed.

How does a Meta lead reach your system?

In two steps. When someone submits the form, Meta sends a notification to your server, called a webhook. The notification carries a lead ID, and your server then uses it to read the lead's answers. Meta's Retrieving Leads page describes this: the notification holds a leadgen_id, you pass it to the Graph API to fetch the lead, and reading leads needs the leads_retrieval permission. It also says the real-time notice can arrive a few minutes late. Our guide to Meta lead ads and webhooks covers that path in full.

What does Meta do when your server does not answer?

It retries for a while and then gives up. Meta's webhooks page says your endpoint should answer every notification with 200 OK. If it does not, Meta will "retry immediately, then try a few more times with decreasing frequency over the next 36 hours", and "unacknowledged responses will be dropped after 36 hours." The page adds that you cannot query historical webhook notifications afterwards, and that your server should handle duplicate deliveries.

Read that as a plain rule: for 36 hours Meta keeps trying, and after that the notification is gone. The lead itself is not gone. It is still in the form in Meta, where you can read it through the form's leads. But nobody will tell you it is there. A weekend outage, an expired access token or a failed deploy are enough to open that gap.

How do you find a lead the webhook missed?

Ask Meta for the form's leads directly. The Retrieving Leads page names a form endpoint, /<FORM_ID>/leads, that lists the leads on a form, and it warns that a form reused across ads holds more leads than any one ad. Compare that list with your own, using the lead ID as the key. A lead whose ID you already hold is skipped, and one you do not hold is new. Using the ID as the key is what stops a second copy of a lead that the webhook did deliver. Meta's pages we read give no retention period for this data, so do not plan around leaving it for months.

What does MAJ Leads do about a missed lead?

Practice. Once a day, for each connected Meta Page whose connection is not known to be broken, MAJ Leads reads the last 48 hours of leads from the Page's forms and adds any it does not already hold. The window is longer than Meta's 36-hour retry period, which is our reasoning for choosing it. The lead ID is the key, so a lead the webhook already delivered is recognised and nothing is doubled. The same read is behind the 24-hour, 7-day and 30-day buttons the owner can press in Settings, under Sources.

The daily catch-up, from the Console code on 5 November 2026
PartWhat it does
WindowThe last 48 hours, for every connected Page that is not known to be broken
DuplicatesKeyed on Meta's lead ID, so a lead already in the list is skipped
How a recovered lead arrivesQuietly: no first message, no call task and no first-lead alert, and it is left out of the reports
Limits in one runUp to 25 forms, 5 pages of 100 leads per form and 300 leads. If there are more, the run says it was cut short
A failed readCounts nothing. A failed read proves nothing, so the stored count is left alone

Legal caveat

A recovered lead does not ring anyone. It lands in the list as an import, and no rep is asked to call it. That is deliberate: a lead that is a day or two old should not set off a "new lead" alert as if it had just come in. It also means the catch-up is a safety net, not the speed path. Someone has to open the list and decide who contacts the person, and the sooner the better.

What if the connection itself is broken?

Then reading the form fails too, and the catch-up would only fail quietly. Practice. MAJ Leads runs a separate check once a day on each connected Page with one small read using the Page's own access token. If Meta answers that the token expired, the permission was removed or the Page is gone, the source is marked broken, the owner gets one notification for that breakage, and Settings shows "Facebook access expired. Reconnect this Page." or its sibling message. A timeout, a server error or an unfamiliar error code leaves the state as it was and the check tries again next time, because those prove nothing. The catch-up skips a Page the check has found broken.

What should you check yourself?

  1. Count the leads Meta shows for your form over a recent week and compare with your list. A small gap is worth reading, and a large one suggests the connection broke.
  2. Open Settings, Sources after any change to the Facebook Page, the ad account or the person who connected it, because the connection works with the access that person gave.
  3. Look at the leads added by catch-up, and contact them. They are real people who asked for a call.
  4. Read why the first minutes after a lead ad matter, because a catch-up lead has already missed them.

Where does this leave your Meta leads?

A missed delivery is a known failure of any webhook, not a surprise, and MAJ Leads treats it that way: one daily read to bring missing leads in without duplicates, and one daily check that says out loud when the connection needs attention. See how it works and pricing.

Sources

Frequently asked questions

How long does Meta keep retrying a lead webhook?
Meta's webhooks page says it retries immediately and then a few more times with decreasing frequency over the next 36 hours. Unacknowledged notifications are dropped after 36 hours.
If the webhook is dropped, is the lead lost?
Not from Meta. The lead stays in the form and can be read through the form's leads with the leads_retrieval permission. Your system is the one that does not know about it. Meta's pages we read give no retention period.
Will MAJ Leads add a lead twice?
No. Leads are keyed on Meta's lead ID, so one that the webhook already delivered is recognised and skipped.
Does a recovered lead trigger a call alert?
No. It is added quietly, with no first message, no call task and no alert, and it is left out of the reports. Open the list and contact it yourself.
How will I know if my Facebook connection breaks?
MAJ Leads checks each connected Page once a day. If Meta says the token expired or the permission was removed, the owner gets one notification and Settings shows a Reconnect message.

Anam Jalal

Founder & CEO, MAJ Leads

Anam Jalal is the founder of MAJ Leads, a Dubai-based lead management system that puts every paid lead on a rep's phone within about thirty seconds and chases it until it has an answer. He works hands-on with UAE clinics, brokerages and trading companies on lead follow-up, WhatsApp and CRM integrations, and ran voice AI deployments in the UAE before the company focused on lead management.

Read more about Anam

Related articles

Explore our services