IVPostbacks
Record conversions from your affiliate network with a postback URL.
This page shows you how to get conversions into Proferex with a postback: a call your offer source makes to your postback URL whenever one of your visitors converts.
It works in two steps. When Proferex sends a visitor to an offer, it adds the visitor's click ID to the Offer URL. When that visitor converts, your offer source calls your postback URL with the same click ID, and Proferex records the conversion against the right campaign, lander, and offer.
Copy your postback URL
Go to Tracker → Tracker Settings and find the Global Postback URL card on the General Settings tab. Pick a domain in Select Tracking Domain and copy the Postback URL.

You have one postback URL for your whole account. It works for every offer and every offer source, so you set it up once per offer source. It looks like this:
https://track.mydomain.com/u/YOUR-ALIAS?clickid={clickid}&payout={payout}¤cy={currency}&tid={tid}&kind={kind}&offerid={offerid}&s1={s1}&s2={s2}&s3={s3}&s4={s4}&s5={s5}The two extra parameters at the bottom of the table, send and count, are not in the URL you copy. Add them only when you need them. See Upsells and Rebills.
Send the click ID to your offer source
Your offer source can only send the click ID back if it receives it first. Put {clickid} in your Offer URL, in the parameter your offer source uses for sub IDs:
https://trk.rewardhubs.com/c?offer_id=4821&aff_id=10937&aff_sub={clickid}Proferex replaces {clickid} with the visitor's click ID when it sends them to the offer. See Offer URL.
Add the postback URL to your offer source
In your offer source's postback settings, paste your postback URL. Then replace each value in curly braces with your offer source's matching macro. For an offer source that sends the sub ID back as {aff_sub}, the payout as {payout}, and its transaction ID as {transaction_id}, the postback URL becomes:
https://track.mydomain.com/u/YOUR-ALIAS?clickid={aff_sub}&payout={payout}&tid={transaction_id}Every offer source names its macros a little differently. These are the names you will usually find:
| What you need | Macro names offer sources often use |
|---|---|
The click ID, for clickid | {aff_sub}, {sub1}, {subid}, {s2}, {clickid} |
The payout, for payout | {payout}, {sum}, {amount}, {commission} |
The currency, for currency | {currency} |
The transaction ID, for tid | {transaction_id}, {txid}, {order_id}, {conversion_id} |
Use the macro your offer source lists for the same sub ID parameter you put {clickid} in. If you sent the click ID in aff_sub, the macro that sends it back is the one for aff_sub.
Only clickid is required. You can delete parameters your offer source cannot fill. A value your offer source leaves as {something} is ignored, so leaving one in does no harm.
Your offer source calls the postback URL as a normal web request (GET). Ask your affiliate manager if you cannot find the setting.
For what every parameter does, its default, and an example, see Postback Parameters.
Test a postback
- Open your campaign link yourself and click through to the offer, so a real click is recorded.
- Go to Tracker → Tracker Settings, open Click/Conversion Log, and choose Clicks. Copy the Click ID of your test click.
- Paste your postback URL into your browser with that click ID and a test payout, and open it:
https://track.mydomain.com/u/YOUR-ALIAS?clickid=YOUR-TEST-CLICK-ID&payout=0A working postback shows {"success":true}. Switch the log to Conversions to see it straight away. It reaches your reports within a minute.
What the postback answers
Your postback URL always answers, so you can see in your browser, or in your offer source's postback log, what happened to each call.
| Answer | What it means |
|---|---|
{"success":true} | The conversion is recorded. |
Click ID is required | The URL has no clickid, or your offer source left it as {clickid}. |
Invalid click ID | The click ID is not one of your clicks. Check that your offer source sends back the value it received in the Offer URL. |
Transaction ID already processed for this click | A conversion with this tid and this kind was already recorded for this click. The repeat is ignored. |
Conversion already processed for this click | This click already has a conversion of this kind, and the postback has no tid. The repeat is ignored. |
Negative payouts are not accepted | The payout is below zero, such as a chargeback. Nothing is recorded. |
Invalid postback endpoint | The part after /u/ is wrong. Copy the postback URL again. |
A repeat answer is not an error to fix. Offer sources retry postbacks, and the answer tells you Proferex already has that conversion.
Check a postback in the logs
Two logs on Tracker → Tracker Settings show what happened to your conversions.

- Click/Conversion Log, with Conversions selected, lists every conversion your offer sources sent and Proferex recorded, newest first. Event Type shows whether it was a first conversion, an upsell, or a rebill. Click View on a row to see the payout, the currency it arrived in, the transaction ID, and the
s1tos5values. - Postback Log lists every postback Proferex sends out: to your traffic sources and to your piggyback URLs. Each row shows the URL that was called, its status, and the response code. Click Retry on a row to send it again.
If your offer source shows a conversion that never reached Proferex, add it by hand. See Manual Conversions.
Forward conversions with piggyback postbacks
A piggyback postback sends each conversion on to another URL, such as another tracker or a partner who needs to know about your sales. Add one in the Piggyback Postbacks card on the General Settings tab of Tracker Settings. Click Add Postback.

| Field | What it does |
|---|---|
| Name | How the postback appears in your list. |
| Postback URL | The URL to call. Click a token button to add a value from the conversion. |
| Fire Timing | After Conversion Registration calls the URL only when Proferex records the conversion. Before Conversion Registration calls it for every postback your offer sources send, even ones Proferex does not record, such as duplicates. |
| Active | Turn it off to stop the postback without deleting it. |
The tokens you can use are {clickid}, {payout}, {currency}, {tid}, {offerid}, {s1} to {s5}, and the campaign's {campid_short} and {campaign_slug}. They carry the values from the incoming postback, with the offer's payout and currency filled in if the postback had none.
Piggyback postbacks fire for every conversion that arrives at your postback URL, from any offer source. Each one is tried once and not retried automatically.
To send conversions back to the traffic source the visitor came from, use the traffic source's own Postback URL instead. See Postback URL.
Next step
Add your postback URL to each offer source you work with, then send one test conversion before you start paying for traffic.