Configure a single postback URL for all your apps and websites.
Global postback allows you to set one postback URL that receives conversions from all your apps and websites. This is useful if you want to centralize conversion tracking without configuring individual postback URLs for each app.
To set up global postback:
Your global postback URL uses the same macro system as app-specific postbacks:
https://your-domain.com/global-postback?user={user_id}&app={website_id}&txn={transaction_id}&amount={payout}
| Macro | Description | Example Value |
|---|---|---|
{user_id} |
Your user ID | USER123 |
{website_id} |
Your app/website ID (important for global postback) | 15 |
{website_name} |
Your app/website name | MyApp |
{transaction_id} |
Unique transaction ID | TXN_abc123 |
{offer_id} |
Completed offer ID | 12345 |
{offer_name} |
Offer name (URL encoded) | Complete%20Survey |
{payout} |
Payout in USD | 0.50 |
{payout_local} |
Payout in app currency | 0.46 |
{currency} |
App currency code | EUR |
{ip} |
User IP address | 192.168.1.1 |
{country} |
User country code | US |
{status} |
Conversion status | completed |
{timestamp} |
Unix timestamp | 1705789234 |
{aff_sub} |
Custom sub ID 1 | campaign1 |
{aff_sub2} |
Custom sub ID 2 | source_a |
{aff_sub3} |
Custom sub ID 3 | - |
{aff_sub4} |
Custom sub ID 4 | - |
https://api.example.com/postback?
app_id={website_id}&
app_name={website_name}&
user_id={user_id}&
transaction_id={transaction_id}&
offer_id={offer_id}&
payout_usd={payout}&
payout_local={payout_local}&
currency={currency}&
country={country}&
status={status}&
timestamp={timestamp}&
sub1={aff_sub}&
sub2={aff_sub2}
When using global postback, always include {website_id} and {website_name} macros to
identify which app generated the conversion:
https://your-domain.com/postback?app={website_id}&user={user_id}&amount={payout}
Postback URLs are processed in this priority order:
1.2.3.4, 5.6.7.8Your server must respond with:
If your server doesn't respond with HTTP 200:
<?php
// postback.php
$transaction_id = $_GET['transaction_id'] ?? null;
$payout = $_GET['payout'] ?? 0;
$currency = $_GET['currency'] ?? 'USD';
if ($transaction_id) {
// Credit user account
creditUserBalance($user_id, $payout, $currency);
// Log transaction
logTransaction($user_id, $transaction_id, $payout);
// Return success
http_response_code(200);
echo "OK";
} else {
http_response_code(400);
echo "Missing parameters";
}
?>
Test your global postback from Settings > Global Postback using the "Test Postback" button. This sends a sample conversion with test data.
View postback statistics in your Publisher Dashboard: