Connecting an offer source
How to connect the affiliate platform your offers come from, and configure its postback so conversions reach PostbackX.
An offer source is the affiliate platform your offers come from and that pays you. Connecting one lets PostbackX receive its conversion postbacks, and send conversion data back to it.
Most of the industry calls this a "network". PostbackX does not, because that word also names ad placements and traffic partners. See vocabulary.
Connect it#
Go to Offer Source and either pick your platform from the list, or add a custom source with its postback URL. The page has a How it works walkthrough that replays the Everflow flow step by step.
Authentication, timeouts and retry behavior can be tuned per source once it exists.
Configure the postback on their side#
This is the part that happens in their dashboard, and the part that usually goes wrong.
This link is what you will paste into PostbackX as the offer URL.
1 In your offer source, open the offer you are going to run and find its tracking link.
sub5 is just a slot this offer source gives you. Any of sub1–sub5 works — remember which one you used.
2 Add your click id macro to the tracking link. Without this, no conversion can ever be matched to a click.
3 Switch to the offer’s postback tab. This is how the offer source tells PostbackX that a conversion happened.
You wrote the click id into sub5, so the postback reads {sub5} back. Mismatch this pair and every conversion arrives empty.
4 Paste the postback URL. The click id parameter must read back the same slot you used above.
Test it before you spend: fire one postback by hand with a real click id.
5 Save. Conversions now arrive at PostbackX, matched to the click that caused them.
- Open your offer. In your offer source, open the offer you are going to run and find its tracking link.
- Append the click id. Add your click id macro to the tracking link. Without this, no conversion can ever be matched to a click.
- Open postback settings. Switch to the offer’s postback tab. This is how the offer source tells PostbackX that a conversion happened.
- Paste the PostbackX URL. Paste the postback URL. The click id parameter must read back the same slot you used above.
- Save. Save. Conversions now arrive at PostbackX, matched to the click that caused them.
PostbackX gives you a URL shaped like this:
https://postbacks.postbackx.com/postback?click_id={click_id}&payout={payout}You paste it into your offer source's postback or pixel settings, replacing the {...} parts with their macros. Every platform names them differently — copy them from their documentation.
The critical one is the click id. Whichever parameter carried {click_id} in your offer URL is the one the postback must read back:
| In your offer URL you appended | So the postback must send |
|---|---|
&sub5={click_id} | click_id={sub5} |
&sub1={click_id} | click_id={sub1} |
&aff_sub={click_id} | click_id={aff_sub} |
Get this pair wrong and postbacks arrive with an empty click id, which PostbackX rejects with a 400. Nothing else about your setup will look broken.
Also send a transaction id#
Optional, and worth doing:
https://postbacks.postbackx.com/postback?click_id={sub5}&payout={payout}&transaction_id={transaction_id}Offer sources retry. The transaction id is how PostbackX tells a retry of one conversion apart from two genuine conversions on the same click. Without it, the two are indistinguishable and get counted once. See attribution.
Verify it#
Do not wait for real traffic.
- Click your own tracking link, and find the click id in
- Fire a postback by hand with that id:
curl -i "https://postbacks.postbackx.com/postback?click_id=REAL_CLICK_ID&payout=1.00&event_name=lead&transaction_id=manual-test-1"A 200 with a conversion_id means PostbackX is ready and anything still missing is on your offer source's side. Full parameter and response reference: postback parameters.
If conversions still do not arrive once traffic is live, work through conversions are missing.