Destinations: Facebook CAPI, webhooks and S2S postbacks
The three places XTRACKER can send your conversions, how to configure each, and how durable delivery with retries and backoff keeps you from losing events.
A destination is where matched events go. XTRACKER supports three kinds, and one event can fan out to several at once.

The three kinds
Facebook CAPI (fb_capi)
Server-side Conversions API. You provide a pixel id and an access token; XTRACKER builds the CAPI payload and sends Purchase, CompleteRegistration, etc. (per your event map). For deposits, value and currency are forwarded as custom_data so Meta can optimise on revenue.
Webhook (webhook)
A generic HTTP callback to a URL you control. XTRACKER POSTs a JSON body for every matched event. Use it to push conversions into your own backend, a data warehouse, or a no-code tool. See the webhook payload reference.
S2S postback (s2s_postback)
Affiliate-network style. You give a url_template with macros like {uid} and {value}; XTRACKER fills them in and fires a GET (or POST). See the postback macro reference.
Adding one is the same flow for every kind — pick the kind, fill its fields, save:

Durable delivery
Events are never fire-and-forget. The flow is:
- An event lands in
event_inbox(durable, deduped). - It fans out to one
event_outboxrow per destination. - A worker dispatches each row and records the outcome.
If a destination is down or returns a transient error (408, 429, 5xx), the row is retried with exponential backoff — the first retry after ~30s, capped, up to a maximum number of attempts before it's marked failed_permanently. A permanent error (a bad URL, a 4xx that isn't retryable) fails fast without burning retries.
This means a momentary outage at Meta or your endpoint never loses a conversion.
Proxies
Each destination can route its outbound traffic through a per-destination proxy — useful for Meta pixels that must originate from a specific region.
Statuses on the dashboard
The delivery health widget shows, per destination: sent, pending, failed, failed_permanently. Watch failed_permanently — that's where a misconfigured URL or a rejected token surfaces.
Next
- Event maps — map canonicals to each destination's names.
- Webhook payload reference — the exact JSON body.
- S2S postback macros — the full macro table.
Keep reading
How to find and fix the leak in your funnel
A practical walkthrough: use the funnel breakdown and conversion gauge to pinpoint exactly where users drop off, form a hypothesis, fix one thing, and measure the lift.
PlaybookKeep your finger on the pulse: real-time conversion monitoring
A live dashboard isn't a vanity metric — it's an early-warning system. Here's how watching conversions in real time catches broken funnels and dead campaigns before they burn your budget.
PlaybookSame budget, more deposits: optimizing creatives with per-link data
Clicks lie. Deposits don't. Use per-link attribution to see which creative actually drives revenue — then move spend to the winner and kill the losers.