Meta's Instant Forms — the form that opens inside Facebook or Instagram without the person ever leaving the app — collect submissions in Meta's own dashboard and send them nowhere else unless you connect something to receive them. Most businesses discover this after a fortnight of spending, when they go looking for the leads.
There are two ways to connect them to Claudphic Ads. Start with the first.
Option 1: Connect Meta (one click)
Go to Integrations → Meta Lead Ads and press Connect your Meta account. You will be sent to Facebook to approve access, then returned to the CRM. No tokens to copy, nothing to paste, and nothing to re-enter in sixty days when a token would otherwise have expired.
After connecting, press Refresh to load your Facebook Pages, then Connect on the Page your forms belong to. That last step does something easy to miss if you were doing this by hand: it subscribes your Page to lead notifications. Verifying a webhook URL subscribes the app; it does not subscribe any particular Page. Until a Page is subscribed, Meta sends nothing at all and the integration looks finished while being completely inert.
Keep every permission ticked
Facebook's approval screen lets you untick individual permissions. If
leads_retrieval is unticked, the connection still succeeds — and then no lead data can
ever be downloaded. The integration screen shows you which permissions were actually granted and
flags that one in red if it is missing, because the failure is otherwise silent.
Option 2: Manual setup, with your own Meta app
Use this if you already run a Meta developer app, or if one-click is not yet available on your account. Go to Integrations → Webhooks, press Inbound adapters, and then Set up (or Configure, once it has been saved once) on the Meta Lead Ads row.
The verify token is generated for you
Older versions of this guide told you to invent a verify token. Do not — the field is now filled in automatically with 32 random characters, and there is a Copy button beside it.
This matters more than it looks. Inbound webhook URLs carry no company name, so the CRM identifies which account a notification belongs to partly by matching that token. When tokens were typed by hand, two customers could both pick something obvious and their leads could cross. Generated tokens cannot collide.
The four fields
- Verify token — already filled in. Copy it; Meta asks for the identical string.
- App Secret — Meta app → Settings → Basic. This verifies the signature on every incoming notification. Without it, every real lead is rejected, even though the verification handshake passes.
- Page Access Token — generate it from a System User in Business Manager, not from Graph API Explorer. A user token expires in about 60 days; a System User token does not. Expired tokens are the most common reason leads quietly stop arriving.
- Facebook Page ID — found on your Page under About. This is how the CRM knows an incoming lead is yours.
Set Status to Active. The verification handshake deliberately works while inactive, so you can verify with Meta before going live — which also means “Meta says verified” is not the same as “leads will arrive.”
In Meta's dashboard
Add the Webhooks product, subscribe to the Page object, and use the
callback URL shown on the CRM settings screen with the verify token you copied. Tick the
leadgen field. Then subscribe your Page to the app:
POST /{page-id}/subscribed_apps?subscribed_fields=leadgen
Run that in Graph API Explorer with a Page Access Token. You must be an admin of the Page. This is the single most commonly skipped step in the whole process.
Importing the leads you already have
A webhook only delivers leads that arrive after it is connected. If your forms have been running for months, use Import existing leads on the Meta Lead Ads screen — it pulls what is already on each form. Anything already in your CRM is skipped, so running it twice is safe, and it imports 100 at a time.
Testing it
Use Meta's Lead Ads Testing Tool. Select your Page and form, preview the form, submit it, then press Create Lead. The lead should appear in your Leads list within seconds with the source Meta Instant Form.
If nothing arrives, check in this order: is the Page subscribed (the step above), is the provider Active, and is the App Secret correct. A missing App Secret produces a silent rejection that looks identical to Meta simply not sending anything.
Why your Meta leads have no click ID — and why that is fine
An Instant Form is completed inside Facebook. The person never visits your website, so Meta never
issues an fbclid and no cookie is ever set. There is genuinely nothing to capture.
This does not stop conversion reporting. Meta matches these leads by their lead ID instead of a click ID, so marking one Won still reports the sale back to Meta and still teaches your campaigns which enquiries became customers. The lead screen says so explicitly rather than leaving you to wonder.
One thing outside your control
Meta does not deliver webhooks to an application that has not been published and passed App Review for
leads_retrieval. While an app is unpublished, only people with a role on it can connect,
and only test webhooks from the dashboard are delivered.
If you are using the one-click connection, this is handled on our side. If you are running your own Meta app, it is yours to clear — and it is worth starting Business Verification early, because it is the slowest part and everything else waits on it.