Implementations / Server-Side Meta Tracking
Send Salesforce records to Meta's Conversions API.
A B2B pipeline runs on Salesforce long after the ad click that started it. This workflow reports the stage that means a real customer back to Meta, server side, so Advantage+ bidding learns from pipeline reality instead of a form fill.
- 10% of ad budget, $600 a month minimum
- No contracts, month to month
- 30 day guarantee on the first month
The workflow
What connects a Salesforce record to a Meta event.
The field map
We agree on one stage, usually an opportunity moving to Closed Won or a qualified stage your sales team already trusts, as the moment that counts. That stage change is what fires the event, and we decide with you whether a dollar amount rides along based on the opportunity's actual value field.
The identity match
Meta's Conversions API wants a hashed email and phone number at minimum, and an fbclid where a landing page captured one. A hidden field on your lead capture form saves the fbclid to the record before a visitor forgets why they clicked, the same way a gclid gets saved for Google Ads.
Where the data enters
Meta publishes its own free Salesforce app on the AppExchange, but it only closes the loop on leads that started as a Meta or Facebook Lead Ad, sending a lead ID and its status back. For a lead that came through your own website form, or for an opportunity value at Closed Won, no packaged Salesforce app reaches Meta on its own. That needs a Platform Event or Apex callout we build against your object model, or a webhook into Zapier, Make, or a dedicated middleware step.
How failures surface
Meta's Events Manager scores every event on match quality and flags a batch that arrives malformed or late. We check that dashboard, not just whether a send returned a success code, since a technically successful call can still carry a poorly matched hash that Meta quietly discounts.
What we check before we trust the numbers.
Access we need first
A Salesforce login with API and Apex permissions on the object you want to track, plus admin rights inside Meta Events Manager to generate the access token and confirm the dataset. We do not need access to your wider contact database beyond the object being tracked.
What gets delivered
A working callout or middleware step firing from your chosen Salesforce stage into Meta's Conversions API, plus a written record of which fields map to which Meta parameters, so a future admin does not have to reverse engineer the build.
The acceptance test
We push one real record through by hand, then open Events Manager and check three things: the event actually landed, the hashed fields matched at an acceptable rate, and the browser pixel and server event share one event ID so Meta counts them once, not twice.
What is out of scope
We do not touch your Salesforce sharing rules, validation rules, or sales process. We build a correct pipe from one stage to one Meta event. Whether Meta extends full trust and reach to your ad account afterward is a conversation with Meta support, not something a tracking pipe controls.
How we build it.
01
Audit
We look at your object model, confirm which stage actually means a closed sale, and check whether the Meta AppExchange app is already installed and doing something narrower than you assumed.
02
Build
We wire the chosen stage to a Platform Event or Apex callout, add the fbclid capture to the relevant forms, and set a shared event ID between the pixel and the server call.
03
Verify
A handful of real records run through the pipe first, checked inside Events Manager for match quality and duplication, before we call the build finished and hand over the reference sheet.
Salesforce and Meta Conversions API, answered.
Only for leads that started as a Meta Lead Ad, and only to send a lead ID and status back. A website lead or an opportunity closing has no packaged app moving it to Meta, so that part is a custom build.
Not on your side. We write the Apex callout or Platform Event ourselves against your object model, inside your org, and document exactly what we changed.
The fbclid can go stale before a long B2B cycle finishes. Once it expires, we lean on the hashed email and phone from the record instead, since Meta can still match on those.
Not if the pixel event and the server event share one event ID, which is a required part of this build. Meta uses that shared ID to treat both arrivals as a single event.
Expect it. Salesforce ships release changes on its own schedule and Meta adjusts Conversions API requirements on its own. We re-test with fresh records after either side makes a visible change, rather than assuming last quarter's build still holds.
See what your Salesforce pipeline actually tells Meta.
Tell us which Salesforce stage means a real customer for your business and whether Meta's Lead Ads app is already installed. A fixed price for the build comes back in a free proposal, within one business day.