The Meta Conversions API tells Meta, from PromoPilot, when a deal in one of your pipelines moves into a stage that matters: a new enquiry (Lead), a booked call or appointment (Schedule), a won sale (Purchase), and SubmitApplication or CompleteRegistration where your stages are applications or sign-ups. Meta uses these events to show your ads to more people like the ones who turn into customers. It is on every plan with Meta ads.
Set up in one click
- Connect your Meta ad account under Ads > Accounts.
- Open Ads > Conversions API and press Set up in one click next to a pipeline.
- Check the plan: the ad account, the dataset PromoPilot will use (or a new dataset called "PromoPilot - your brand" when the ad account has none) and the event each stage sends. Change any of them there, and add a test event code if you want to see a test event straight away.
- Press Switch on the Conversions API. PromoPilot creates the dataset if needed, links it to the ad account, checks the ad account can use it, saves the mapping and switches it on.
How PromoPilot picks
- Ad account: your only connected Meta ad account. With several, you pick.
- Dataset: the only one the ad account can use, or the one named PromoPilot. With several and none named PromoPilot, you pick. With none, a new one.
- Stages: won stages send Purchase; booked, booking, appointment or scheduled send Schedule; new, enquiry, lead, contacted or qualified send Lead; application stages send SubmitApplication; signed up, registered or trial send CompleteRegistration. Lost stages, and names that say none of these, send nothing.
- Running it again changes nothing.
What PromoPilot sends
The event name and time, action_source=system_generated, event_source=crm with your brand as the lead event source, and the deal's value when it has one. The contact's email, phone, first name and last name are SHA256 hashed before they leave PromoPilot. The Meta lead id and the ad click id (fbc) and browser id (fbp) captured on your pages go as they are, as Meta asks. A new deal sends the event for its first stage too. Contacts that only came in as test leads send nothing.
See it working
In Meta Events Manager pick the dataset: real events show under Overview, usually within an hour of a deal moving. The Conversions API page shows each pipeline's dataset, mapping and last event, and Send test event fires one made-up Lead with no contact details.
Test event codes
Events Manager > Test Events gives a code such as TEST12345. A test event sent with it shows there within about 30 seconds. A code given in the one-click set-up or with Send test event is used for that one test event and never saved, so your real events keep counting. Only a code saved on the edit page stays: while it is saved, Meta files every event from that pipeline under Test Events only, so clear it once you have seen the test.
By hand
Configure by hand (or Edit) lets you choose the ad account, pick a dataset or choose Create a new dataset, set each stage's event and switch sending on or off. To make campaigns optimise for these events, choose the dataset in the ad set's conversion settings in Meta Ads Manager.
Retries and team members
Meta outages retry automatically; a permanent refusal marks the event failed with Meta's reason. Anyone who can see ads sees the set-up; setting it up, choosing or creating the dataset and switching it off needs the Set up Meta conversion tracking permission. The same set-up is in the REST API (POST /api/v1/ads/pipelines/<id>/capi-setup/, with dry_run for the plan) and the MCP server (setup_conversions_api).