Flight log / Transmission 026
Meta Conversions API setup for B2B lead gen
Meta is very good at finding people who fill out forms. That's the problem. Its CRM integration guide asks for 200 leads a month before it will optimize for the leads that actually turn into pipeline.
> The Meta Conversions API sends conversion events from your server or CRM straight to Meta. For B2B lead gen, its real value is passing qualified lead, opportunity and closed-won stages back so Meta optimizes for pipeline, not form fills. Run it alongside the pixel, deduplicate with a shared event ID and send hashed customer data for match quality.
Most B2B Meta accounts optimize for the cheapest event they can see: a lead. Meta then does exactly what it's told and finds more people who submit forms, including students, competitors and people who wanted the free PDF.
The Conversions API (CAPI) is how you tell Meta what happened next. This guide covers what it is, the setup options Meta documents today, and the details that decide whether it works: deduplication, match quality and which events to send.
// 01 · the briefingWhat is the Meta Conversions API?
Meta describes the Conversions API as a way to connect marketing data, including website events, app events, business messaging events and offline conversions, from an advertiser's server, website platform, mobile app or CRM to Meta. Server events are processed like events sent through the Meta Pixel, and they're used for measurement, attribution and ad delivery optimization.
The pixel runs in the visitor's browser, so ad blockers, browser privacy features and cookie restrictions can stop it. CAPI runs from your systems, so it isn't subject to the same losses. Meta's recommendation is to use both: "We recommend that you use the Conversions API in addition to the Meta Pixel, and that you share the same events using both tools."
// 02 · payloadWhy does B2B lead gen need the Conversions API?
For ecommerce, the pixel sees the purchase. For B2B, the pixel sees a form fill and then goes dark. The events that matter, a sales-accepted lead, a booked meeting, an opportunity, a closed deal, happen days or weeks later inside your CRM. The pixel can't see any of them. CAPI can.
- CRM stage events. Sending lead stages back lets Meta learn which ads and audiences produce leads your sales team wants, not just leads.
- Offline conversions. Meta's docs set May 2025 as the discontinuation date for the separate Offline Conversions API and point everyone to the main Conversions API, which has fully supported offline events since February 2023. If an old offline upload setup is still in your stack, assume it's a fossil until proven otherwise.
- Signal resilience. Server events fill gaps that browser tracking leaves, so lead counts in Ads Manager sit closer to your CRM.
If you optimize for form fills, Meta will find you the world's most enthusiastic form fillers. It's not a bug. It's obedience.
For campaign structure, audiences and creative, start with our guide to Meta ads for B2B. This post is the plumbing underneath it.
// 03 · versusWhat are the setup options for the Conversions API?
| Option | How it works | Fits when | Trade-off |
|---|---|---|---|
| Direct integration | Your developers send events from your server to Meta's Conversions API endpoint | You have engineering time and custom CRM logic | Most control, most build and maintenance |
| Conversions API Gateway | A self-serve setup hosted in your own cloud account (Meta's docs cite AWS as an example) | Marketers want server-side web events without much developer help | Covers website events; the cost is your cloud resource fees |
| Partner integrations | A CRM, marketing automation or website platform sends events for you | Your CRM or platform already supports it | Limited to what the partner exposes |
| CRM integration for conversion leads | Your CRM sends lead stage updates tied to Meta lead IDs | You run Instant Forms lead ads at volume | Eligibility thresholds; Instant Forms only for the optimization goal |
Conversions API Gateway. Meta describes it as a self-serve configuration tool that lets "performance marketers with some technical expertise" set up the Conversions API with minimal support. It needs an account with a non-Meta managed cloud provider, and Meta says "the only cost of the Conversions API Gateway is the associated cloud resource fees."
Partner integrations. MarTech reported on October 30, 2025 that Meta advertisers connecting their CRM through Zapier could send up to 100,000 lead events to the Conversions API for free, and that Salesforce Sales Cloud users would be able to send lead events directly starting November 2025. Partner lists change faster than blog posts, so check Events Manager for what's live for your stack today.
// 04 · high scoreHow does Meta's CRM integration and conversion leads optimization work?
This is the setup that matters most for B2B. You send CRM stage changes for leads that came from Meta, and Meta can then optimize delivery toward the stage you choose with the Conversion Leads performance goal. Meta's integration guide lists these requirements:
| Requirement | Meta's guidance |
|---|---|
| Lead volume | At least 200 leads per month |
| Stage timing | The stage you optimize for happens within 28 days of the lead |
| Stage conversion rate | Between 1% and 40% of leads reach that stage |
| Upload frequency | At least once per day |
| Lead identifier | The 15 to 17 digit Meta lead ID stored in your CRM is recommended; click ID, phone or email are alternatives |
| Ad format | The Conversion Leads goal currently works with Instant Forms lead ads |
The 28-day rule is where B2B teams get stuck. "Closed won" usually takes longer, so it can't be your optimization stage. Pick the earliest stage that reliably predicts revenue and lands inside the window: a sales-accepted lead or a held first meeting, for most teams.
Optimize for the stage you can feed every day, not the one you brag about in board meetings.
Running website lead forms instead of Instant Forms? You can still send CRM stage events as server events tied to the website lead. They improve measurement and audiences even where the Conversion Leads goal doesn't apply.
// 05 · pre-flight checklistHow do you deduplicate pixel and Conversions API events?
If the pixel and CAPI both send the same lead and Meta can't tell, it counts two. Meta's documented method:
- Send the same event ID from both sources. The pixel's
eventIDmust match the server event'sevent_id. A form submission ID or lead ID works well. - Use the same event name. The pixel event must match the server event's
event_name, for exampleLeadin both. - Send within the window. Meta only deduplicates events received within 48 hours of the first event with a given
event_id.
Meta also documents a fallback using matching fbp or external_id values, but it only works when the browser event arrives first. Use event IDs.
What is event match quality, and how do you improve it?
Meta can only use events it can match to an account. In Meta's words, "Only matched events can be used for ads attribution and ad delivery optimization, and the higher the matching quality, the better." Meta scores each server event's event match quality out of 10, which tells you how well your customer data is likely to match a Meta account.
No shortcut here, just hygiene. Match quality climbs when you send more of the right customer information, formatted the way Meta expects:
- Hash personal fields with SHA-256: email, phone, first and last name, city, state, ZIP, country and external ID.
- Don't hash the client IP address, client user agent,
fbc(click ID) orfbp(browser ID). Meta's parameter docs are blunt about the IP address: do not hash it. - Capture
fbcandfbpat form submission and store them with the lead, so later CRM events can carry them. - Send
lead_idunhashed for Instant Forms leads. - Normalize before hashing: lowercase emails, trim spaces, format phone numbers consistently.
Work email helps B2B match rates less than you'd hope, because many people use a personal email on Facebook and Instagram. Collecting a phone number, where it fits your form, usually gives Meta another chance to match.
// 07 · launchWhich events should B2B teams send?
| Event | Source | Use |
|---|---|---|
| Lead (form submit) | Pixel and CAPI, deduplicated | Volume signal, early optimization |
| Qualified lead (MQL or SAL) | CRM via CAPI | Primary optimization stage for most teams |
| Meeting held | CRM via CAPI | Optimization stage if volume and timing allow |
| Opportunity created | CRM via CAPI | Measurement and value signal |
| Closed won, with value | CRM via CAPI | Reporting and audiences, rarely optimization |
Two timing rules to build around. Meta recommends sending server events in real time or in batches close to real time. And per Meta's server event parameter docs, event_time can be at most 7 days in the past; if any event in a request is older, Meta returns an error for the whole request and processes none of it. Daily CRM syncs keep you safely inside that.
Once stage data flows, compare Meta's reported pipeline with your CRM before you change budgets. Our post on cross-channel attribution covers how to weigh platform numbers against everything else.
Where this breaks
- Low volume. Below about 200 leads a month, conversion leads optimization isn't recommended. You still get better measurement, but the algorithm has little to learn from.
- Long sales cycles. If nothing meaningful happens within 28 days of a lead, you're optimizing on a proxy. Pick it carefully.
- Consent and privacy. Sending customer data server-side doesn't remove your consent obligations. Make sure your privacy policy, consent setup and data agreements cover it.
- Messy CRM data. If reps don't update stages consistently, Meta learns from noise. CAPI is only as good as the stage hygiene behind it.
- Moving docs. Meta revises integration guides and requirements often. Re-check the developer docs before any rebuild.
Something's warming up on the launch pad.
We're building something for people who read posts like this. Early access opens in waves.
Early access, by invitation.
FAQ
What is the Meta Conversions API?
The Meta Conversions API is a server-side connection that sends marketing events, such as website events, offline conversions and CRM stage changes, from your server, website platform or CRM directly to Meta for measurement and ad optimization.
Do I still need the Meta Pixel if I use the Conversions API?
Yes. Meta recommends using the Conversions API in addition to the Meta Pixel and sharing the same events through both, then deduplicating them with a matching event ID and event name.
How does Meta deduplicate pixel and Conversions API events?
Meta deduplicates when the pixel's eventID matches the server event's event_id and the event names match. Events are only deduplicated if they arrive within 48 hours of the first event with that event_id.
What are the requirements for Meta conversion leads optimization?
Meta's CRM integration guide recommends at least 200 leads per month, an optimized lead stage that happens within 28 days of the lead and converts at 1% to 40%, and uploading CRM data at least once a day. The Conversion Leads performance goal currently works with Instant Forms lead ads.
Can I still use Meta's Offline Conversions API?
No. Meta set May 2025 as the discontinuation date for the separate Offline Conversions API. Offline events now go through the main Conversions API, which fully supports them.
Receipts
- Meta for Developers: Conversions API
- Meta for Developers: Conversion leads integration
- Meta for Developers: Deduplicate pixel and server events
- Meta for Developers: Conversions API Gateway
- Meta for Developers: Customer information parameters
- Meta for Developers: Conversions API best practices
- Meta for Developers: Offline Conversions API