Advertiser postback reference

Every parameter our postback URL accepts, the statuses that approve, hold or reverse a conversion, duplicate handling, and every response we return.

GET or POST https://cashadmedia.com/postback

Parameters can be sent in the query string, as form fields, or as a JSON body with Content-Type: application/json.

Parameters

ParameterAlso accepted asRequiredDescription
tokensecret, keyYesThe token we issued.
click_idclickid, subid, sub_id, aff_sub, sub1YesThe click ID we put in your tracking link.
eventgoal, event_name, goal_idFor multi-step offersThe step's event name. Without it, the offer's first step is used.
txn_idtransaction_id, tid, conversion_idNoYour ID for the conversion, up to 200 characters. Without it, the click and event identify the conversion.
statusconversion_statusNoSee below. Without it, the conversion is approved.

Any other parameters you send are stored with the conversion, which helps when we look into a disputed one together.

Statuses

You sendEffect
nothing, approved, 1, or any other valueApproves the conversion.
pending, hold, on_hold, 0Records it as pending. Not billed and not credited until you approve it with a later postback.
reversed, reversal, reverse, chargeback, rejected, declined, fraud, cancelled, canceled, 2, -1Reverses a conversion you sent earlier.

Status values are not case-sensitive.

Amounts

Payouts come from the offer we agreed, including any country prices, never from the postback. A payout or amount parameter is stored but not used for billing.

Duplicates and updates

A conversion is identified by txn_id if you send one, and also by the click and event: one click can convert each step once. A second postback for the same conversion updates it or is ignored:

Current statusYou sendResult
pendingapprovedApproved.
pending or approvedreversedReversed.
approvedapproved or pendingIgnored (duplicate).
reversedanythingIgnored (rejected:already_reversed).

Daily caps

If the offer has a daily cap, conversions over it are rejected (rejected:over_cap). The cap counts pending and approved conversions per UTC day. New clicks are turned away once it is reached, so this mostly affects users who clicked before the cap filled up.

Responses

The body is a short plain-text result. Retry only on 5xx or a network error; the other responses will not change if you send the same request again.

HTTPBodyMeaning
200acceptedNew conversion recorded.
200approvedA pending conversion was approved.
200reversedA conversion was reversed.
200duplicateAlready recorded with this status. Nothing changed.
200rejected:nothing_to_reverseA reversal for a conversion we never received.
200rejected:over_capThe offer's daily cap was already reached.
200rejected:already_reversedThe conversion was already reversed.
200rejected:already_rejectedThe conversion was rejected after review.
400rejected:missing_click_idNo click ID in the request.
400rejected:unknown_eventevent doesn't match any step of the offer.
403rejected:bad_tokenThe token is missing or wrong.
404invalid_clickWe have no click with that ID. Usually a macro that wasn't filled in.