Set up Meta CAPI postbacks
This article shows how to send Meta Conversions API (CAPI) events from Datahubb so Meta (and your affiliates) can attribute conversions.
Prefer the Postbacks Meta CAPI preset. It is the flexible path: each traffic source gets its own pixel, triggers, and field mappings. Use the Integrations → Meta CAPI path only when a single shared pixel for the whole workspace or one campaign is enough.
| Path | Where | Capability |
|---|---|---|
| Postback preset (recommended) | Postbacks → create → Meta CAPI | One config per traffic source; own pixel; choose triggers, user data, custom data, gates |
| Campaign integration (limited) | Integrations → Meta CAPI + campaign toggle | One global credential set; one configuration per campaign when enabled |
Why the postback preset is encouraged
- Per traffic source — each affiliate can fire their pixel, not a shared company pixel
- Multiple configs — different triggers, min payout, or mappings per network
- Full postback controls — scopes, rules, test panel, Resolution Trace, outgoing logs
- Self-serve — traffic-source users can manage their own Meta CAPI config
Limitation of the Integrations path
The campaign Meta CAPI integration is a single shared setup:
- Global credentials — one Pixel ID and access token under Integrations → Meta CAPI for the workspace
- Per campaign — you enable that same integration on a campaign and optionally override settings for that campaign only
- You cannot attach a different pixel per traffic source on this path
- You cannot run independent Meta configs per affiliate the way Postbacks allows
If affiliates need their own pixels, or you need more than one Meta setup on the same campaign, use the postback preset instead.
Prerequisites
- A Meta Pixel ID and System User access token (Events Manager → Data Sources → your pixel → Settings)
- Postbacks feature (for the recommended path)
- A traffic source recipient for the config
- Optional: Meta Test event code while validating
Recommended: Meta CAPI postback preset
- Open Postbacks → Create.
- Choose the Meta CAPI preset.
- Set the recipient to the traffic source.
- Paste Pixel ID and access token. Optional: Test event code.
- Set Event name (default
Lead) and Action source (websitewhen you have browser ids;system_generatedwhen you do not). - Under User data, enable Meta fields (
em,ph,fn, …) and map placeholders such as{{lead.payload.email}}forem. Hashed fields are normalized and SHA-256 hashed at fire time. Leavefbcempty to rebuild fromfbclidwhen present. - Under Custom data, keep value source = payout for traffic-source users. Set currency and any extra rows.
- Choose triggers — typically
lead_sold. Addmin_payoutor match rules if needed. - Save → run Test → confirm in Meta Test Events or Overview.
Hardcoded country when the lead has no country: {{||fallback:US||meta_hash:country}}.
Optional: Campaign Meta CAPI integration (shared pixel only)
Use this only when one company-owned pixel should fire for a campaign.
- Open Integrations → Meta CAPI and enter the shared Pixel ID and access token.
- Open the campaign → Integrations → toggle Meta CAPI ON.
- Optional: Override Settings for that campaign (trigger, event name, action source, test code, mappings, value source).
- Save and verify in Meta Test Events and the integration Usage Log.
Remember: this remains one global credential set and one enabled setup per campaign — not per traffic source.
Expected result
- Meta receives a CAPI event with hashed user data
- On the preset path, each traffic source can use its own pixel and triggers
- Test-coded events stay under Test Events until you remove the code
Troubleshooting
- Need per-affiliate pixels — switch to the Postbacks Meta CAPI preset; the integration path cannot do this
- No events in Meta — wrong pixel/token, trigger mismatch, or you are viewing Overview while a test code is set
- Low match quality — send more user_data (
em,ph,fn,ln,fbp/fbc, IP, user agent) - Missing fbc — ensure the click carried
fbclid, or mapfbcexplicitly
Frequently asked questions
Comments
No comments yet — be the first to share your thoughts.