XTRACKER

Wire a Pocket Option postback to XTRACKER

Track Pocket Option registrations and deposits with zero code: build the postback URL, map the macros, dedup with eid, and confirm the deposit amount lands.

Pocket Option (and most affiliate networks) can fire a server-to-server postback when a tracked user registers or deposits. XTRACKER accepts those directly on GET /e — no code, just a URL with macros.

1. Build the postback URL

Grab your ingest token from the API keys page — rotate ingest, then copy a ready-made postback URL:

API keys: rotate ingest and copy the postback URL

Use this shape:

https://xtracker.cc/e?token=<INGEST_TOKEN>&event=registration&uid={click_id}&eid={trade_id}

For a deposit, include the amount and currency:

https://xtracker.cc/e?token=<INGEST_TOKEN>&event=deposit&uid={click_id}&value={amount}&currency=USD&eid={trade_id}

Paste this into the network's postback field, then replace each {...} with that network's own macro.

2. Map the macros

Every network names its macros differently. The mapping is what matters:

XTRACKER param What to put there
uid the click identifier you passed into the offer link (your uid)
eid the network's unique transaction/trade id — used for idempotency
value the deposit amount macro (deposit postbacks only)
currency usually static USD, or the network's currency macro

So a Pocket Option deposit postback might look like:

https://xtracker.cc/e?token=<INGEST_TOKEN>&event=deposit&uid={sub_id}&value={sumdep}&currency=USD&eid={trade_id}

where {sub_id}, {sumdep} and {trade_id} are the network's placeholders.

3. Why eid matters here

Networks often re-fire a postback (retries, status changes). Without protection you'd count the same deposit several times and inflate revenue.

Passing eid with the network's unique transaction id makes the call idempotent: the same eid is stored exactly once, no matter how many times it fires — and regardless of the timestamp. Always set it for deposits.

No eid? XTRACKER falls back to deduping on the event time. That's fine for a single clean fire, but eid is the safe choice.

4. Confirm the deposit amount

A deposit must carry money. After a test fire, check the dashboard:

  • the revenue widget moves by the deposit amount,
  • the event shows up in the live feed as deposit → <destination>,
  • the by-link table revenue increments.

If revenue stays flat, the value macro probably resolved empty — open the event in the dashboard and check the recorded value.

5. Response codes

GET /e returns JSON you can log on the network side if it supports it:

{"ok": true, "status": "queued"}
  • queued — accepted, new.
  • duplicate — deduped (same eid/time). Also a success.
  • invalid_value — the amount wasn't a number.
  • invalid_time — a supplied t was implausible (omit t to use receive-time).

That's it — registrations and deposits now flow from Pocket Option into your funnel and on to your destinations. For the in-app (bot) side of the funnel, see the integration guide.