Meta Conversions API: optimising Lead Ads for qualified leads
Send the stage of each Facebook lead back to Meta so your ad sets learn which leads become visits and bookings, not just form fills.
Introduction
By default Meta optimises Lead Ads for the number of form submissions. With the Conversions API, BMexa tells Meta what happened next: contacted, qualified, visit completed, booked, or dumped. An ad set with the performance goal “Maximise number of conversion leads” then shows the ad to people who look like the ones that converted. It works for leads received in the last 90 days.
The connection is the same Facebook sign-in used for Lead Ads; it only needs one more permission (ads management).
Setting it up
- On Marketing › Integrations › Facebook & Instagram Lead Ads, click Renew permissions and approve ads management if the Conversions API card says it is missing.
- In Meta Events Manager › Data sources, choose Connect data sources › CRM and create one dataset for your company (Meta’s thresholds are per dataset, so one for all your Pages). Paste its id into the Conversions API card and pick the stage Meta should optimise for; site visit done is the recommended choice. Keep the same dataset from then on.
- Under “Which stages Meta hears about”, keep or rename the event per stage. Leave a stage blank to keep it private. Save.
- Paste the test event code from Events Manager › the dataset › Test events and click Send test event; the event appears there within seconds.
- Click Enable Meta Conversions API. From then on every stage change on a Facebook lead is sent within a minute; Send now does not wait.
Configuring the funnel in Events Manager and the ad set
- Events Manager › the dataset › Settings › Conversion leads: mark the events that count as positive outcomes (for example Qualified, VisitCompleted, Converted) and the others as earlier or negative stages (Contacted, Disqualified). Share the dataset with the ad account that runs the ads.
- Ads Manager: create or edit an ad set with conversion location Instant forms, performance goal Maximise number of conversion leads, your company’s dataset, and conversion event = the stage you want more of (for example VisitCompleted).
- Give Meta a few weeks and a few dozen events; it needs volume to learn.
Checking it works
- The Recent events table on the card lists each event with Meta’s answer; failures carry Meta’s reason (an expired login, a wrong dataset id, a lead older than 90 days).
- Events Manager › the dataset › Overview shows the events arriving from BMexa under the “CRM” source.
- “Facebook permissions have expired”: click Renew permissions on the Facebook card; pending stage changes are sent afterwards.
Consent: what the person must be told, and stopping for one lead
Meta’s Business Tools terms make you responsible for telling people that their details and the outcome of their enquiry are shared with Meta, and for stopping when they withdraw. The notice belongs in the instant form’s privacy text (Ads Manager › the form › Privacy › Custom disclaimer) and on your own lead forms and landing pages. The Conversions API card has the wording ready to copy; fill in your company name and privacy-policy link.
When a person asks you to stop, open their client page and under About click Stop sharing with Meta. Pending events for that enquiry are dropped, nothing more is sent, and the activity log records who did it and when. Share again reverses it. The control appears only on leads that came from Meta: Facebook and Instagram lead ads, or a chat that began from a WhatsApp ad.
- Names, phone numbers and emails never leave BMexa in the clear: the Conversions API receives them hashed, and WhatsApp-ad events carry only Meta’s click id.
- Budgets, loan, income and other financial details are never part of an event; BMexa strips any such field before sending, as the terms require.
- The Facebook card’s Events toggle and the Conversions API On/Off switch stop sharing for the whole company; the per-lead control is for one person’s withdrawal.
WhatsApp ads (Click-to-WhatsApp)
Conversations that start from a Click-to-WhatsApp ad are reported separately, through Meta’s Conversions API for Business Messaging, on the WhatsApp ads card under the Conversions API card. Each WhatsApp Business Account has its own dataset, the events use the number’s own access token, and only the click id Meta sent with the first message identifies the person; no name or number is sent.
Setting up the WhatsApp side
- Next to each WhatsApp Business Account click Create in Meta. BMexa asks Meta for the account’s dataset and creates one when there is none; the number’s access token needs the whatsapp_business_manage_events permission. If Meta refuses, create the dataset in WhatsApp Manager and paste its id.
- Keep or change the events: Lead submitted when the chat becomes a lead, Qualified lead at the stage you choose (visit completed to begin with), Purchase at booking with the agreement value in rupees. Meta accepts only its own event names here.
- Paste the dataset’s test event code, send a test event, then click Enable WhatsApp ad events. Stage changes go out within a minute, for up to 7 days after the change.
Updated on 6 October 2026