# Postback

Keitaro receives information about conversions through postbacks.

How Keitaro processes postbacks?

# Getting Postback URL

If you need Postback URL for affiliate network, please read Affiliate Network Postback.

  1. Open Maintenance → Postback URL.

  1. Copy Postback URL.

# Postback parameters

  • subid (required). Click subid.
  • tid. Transaction ID.
  • payout (or revenue).
  • cost. Conversion cost for CPA and RevShare cost models).
  • status (default is sale). Conversion status.
  • currency. Currency (usd, eur, rub, etc.).
  • From sub_id_1 to sub_id_15. Updates additional sub ID parameters.
  • return. Return custom success message. For example, with &return=OK Keitaro will show 'OK'.
  • sale_status, lead_status, rejected_status. Read Status transformations section.
  • ignore. List of statuses that must be ignored. Example, ignore=ping,test.

# Conversion status

In Keitaro conversion can be in the following statuses:

  • lead. Payout is not confirmed.
  • sale. Payout is confirmed.
  • rejected. Payout is cancelled.
  • rebill (Upsell). See Rebills.

# Status transitions

  • lead to sale.
  • lead to rejected.
  • sale to rejected.
  • rebill to rejected.

# Custom statuses

Custom statuses can be transformed to Keitaro statuses. Keitaro stores original status as original_status.

# Status transformations

These parameters tell Keitaro how to transform incoming status.

  • sale_status.
  • lead_status.
  • rejected_status.


  • Transforms reg and topup to lead.
  • Transforms billed to sale.
  • Transforms canceled and fake to reajected.

Keitaro stores raw status as "Original status" (original_status column).

# Rebills

Keitaro handles upsells when

  • Offer allows Rebill. See Offer Settings page.
  • Postback includes tid and it's unique.
  • Postback has status with value either sale or rebill.

# Convert currency

Pass parameter currency in the postback. Example:


# Postback FAQ

How to send postback as tracking pixel?


<img src="%%POSTBACK_URL%%?status=lead&payout=10&currency=usd" width="1" height="1" />
How Keitaro converts currency?

Keitaro requests daily an external web service for all the currency rates.

Why sending test postback doesn't work?

Usually affiliate networks don't send real subid. That's why Keitaro ignores these postbacks.

What is postback key?

That is a unique for each tracker string. It protects Keitaro of receiving non-authorized postbacks.

If you need to change postback key, edit /var/www/keitaro/application/config/config.ini.php and set it in the line:

postback_key = "CUSTOM_KEY"