Binom Facebook CAPI Integration: From Tracker Postback to Conversions API
What Binom's Facebook Integration Actually Covers
The Binom Facebook CAPI integration starts with an honest question: what does the tracker actually document? Binom's official documentation describes one Facebook integration, and it is about money, not conversions: an access token connects a Facebook account to a campaign in Binom, and every 30 minutes Binom pulls costs keyed by the {{ad.id}} token that you pass from Facebook into the tracker. If passing {{ad.id}} is not possible, Binom can sync costs for the whole account and distribute them across the day's clicks. The tracker also refreshes previous-day statistics for active campaigns three times a day, and it skips accounts with zero clicks to avoid pointless API calls.
The token itself comes from Meta for Developers: create a Business-type app, set up the Marketing API, check ads_management, and generate the token. Binom's documentation adds an operational warning worth highlighting: Facebook requires generating a new token every two months, so the cost integration has a maintenance schedule baked in.
What the docs do not describe is a native Facebook Conversions API sender inside Binom. Conversions reach the tracker as postbacks from affiliate networks - that is the standard update path, with a conversion pixel available when postbacks are not. This distinction defines the whole integration: Binom knows about the conversion, and delivering that conversion to Meta's Conversions API is the layer you add on top.
What Meta's Conversions API Needs From the Bridge
Whatever produces the server event, Meta's requirements are fixed. The payload posts to the Conversions API endpoint with the pixel ID and an access token; user-data fields such as email and phone travel as SHA-256 hashes of normalized values; every event carries an event_id so retries and duplicate channels do not double-count; and the event timestamp may not be older than 7 days. The event-delay mechanics behind that limit are in why Meta rejects events older than 7 days.
For a Binom setup, the postback is the trigger. The tracker already knows the conversion moment, the payout, and - if you preserved them at click time - the fbclid click identifier and any hashed user data collected on the landing page. The bridge listens for the postback and emits a Conversions API event carrying that context: event name mapped from the Binom conversion status, event_id derived from the tracker's transaction or click ID, fbclid forwarded for click matching, and hashed identifiers where the funnel captured them. The matching and deduplication background lives in event ID deduplication.
Building the Bridge: Three Working Options
Option one is a small custom endpoint: the bridge listens for the outgoing postback that Binom sends to its traffic source when a conversion is recorded - or the script sits as a proxy endpoint in front of the tracker - and formats the CAPI payload on each fire. Keep the direction straight: the affiliate network's postback feeds Binom, and Binom's own source postback feeds your bridge. This is maximally controllable and maximally yours - hashing, retries, and event_id discipline are your code's problem, and the rules are strict enough that a first version usually fails validation a few times.
Option two is a server-side tag manager: sGTM can receive the postback and forward a transformed event to Meta, at the price of operating the sGTM infrastructure - the trade-offs are in the server-side GTM migration guide.
Option three is delegation: MOST receives the Binom postback and delivers to Meta's Conversions API - and to TikTok, Snapchat, Pinterest, Reddit, and OpenAI - handling payload formatting, retries, and deduplication per network. For a single landing and a manual workflow, the free Pixel Activator performs the same delivery without a subscription. The choice follows the same logic as the Meta CAPI Gateway versus direct integration comparison: own the infrastructure, or own nothing but the postback.
Syncing Costs Back Into Binom
The cost direction of the integration is documented end to end by Binom. Pass {{ad.id}} from Facebook into the tracker's campaign URL so costs land per ad; if that token cannot be passed, switch the campaign to account-level cost syncing and accept the daily distribution across clicks. Attach the access token from your Business app with ads_management permissions, and remember the two-month rotation: a dead token silently stops the cost updates, and the first symptom is stale Facebook spend in reports.
Keep the two directions separate in your head: costs flow Facebook → Binom through the official integration, conversions flow Binom → Facebook through the Conversions API bridge you built. Teams that conflate them end up waiting for CAPI conversions to appear in Binom's cost-sync view, where they will never show up. Validate each direction independently - cost updates in the tracker, and Conversions API delivery in Meta's Test Events tool and Events Manager.
