Back to Dashboard
Offerwall & SDK
Web SDK & Iframe Offerwall REST API
API Reference
API Authentication Request Parameters JSON Responses
Webhooks & Postbacks
Reward Apps Postback Global Account Postback
Advertisers & Tracking
Direct CPA/CPI Campaigns S2S Postback & MMPs
Monetization Lockers
Content Locker Link Locker

Global Postback

Configure a single postback URL for all your apps and websites.

Overview

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.

Note: App-specific postback URLs take precedence over the global postback. If an app has its own postback configured, conversions for that app will not trigger the global postback.

Configuration

To set up global postback:

  1. Go to your Publisher Dashboard
  2. Navigate to Settings > Global Postback
  3. Enter your global postback URL
  4. Save settings

Global Postback URL Format

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}

All Available Macros

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 -

Example Global Postback URL

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}

Identifying the Source App

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}

Priority Order

Postback URLs are processed in this priority order:

  1. App-specific postback - If configured, only this fires
  2. Global postback - Fires only if app has no specific postback

Security Recommendations

Response Requirements

Your server must respond with:

Retry Logic

If your server doesn't respond with HTTP 200:

Example Implementation (Python)

        
<?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";
}
?>
        
        

Testing

Test your global postback from Settings > Global Postback using the "Test Postback" button. This sends a sample conversion with test data.

Monitoring

View postback statistics in your Publisher Dashboard: