How to Set Up S2S Postback Tracking (Step-by-Step Guide)
Server-to-server postback tracking is the most reliable way to track affiliate conversions. This guide walks you through the concept, setup process, and troubleshooting — with practical examples using BATracker.
1. What is S2S Postback Tracking?
S2S (server-to-server) postback tracking is a conversion tracking method where the affiliate network sends an HTTP request directly to your tracking server when a conversion occurs. Unlike pixel/JavaScript tracking, it doesn't rely on the user's browser at all.
The term "postback" comes from the network "posting back" conversion data to your tracker. Other names include S2S tracking, server-side tracking, and callback URLs.
The key concept is the click ID — a unique identifier generated by your tracker for every click. This click ID travels through the entire funnel (tracker → lander → offer → network) and is sent back via the postback so your tracker can match the conversion to the original click.
2. Why Not Pixel Tracking?
Pixel tracking places a JavaScript snippet or image pixel on the "thank you" page. When the page loads, the pixel fires and records the conversion. This has several critical weaknesses:
- ✕ Ad blockers — Block tracking pixels entirely (30%+ of users).
- ✕ ITP / cookie restrictions — Safari, Firefox, and Brave restrict third-party cookies.
- ✕ Page abandonment — If the user closes the page before the pixel loads, conversion is lost.
- ✕ Cross-device — Pixels can't track conversions that happen on a different device.
- ✕ Fraud vulnerability — Pixels can be faked by loading the thank-you page URL directly.
S2S postbacks bypass all of these issues because the communication happens between servers — no browser involved.
3. How S2S Postbacks Work (Data Flow)
Here's the exact sequence of events:
User clicks your campaign URL — Your tracker logs the visit (IP, device, geo, referrer) and generates a unique click ID (e.g., abc123xyz).
Redirect to landing page — The click ID is stored and associated with the session.
User clicks through to offer — The offer URL includes the click ID: https://network.com/offer/123?aff_sub=abc123xyz
User converts — The network records the conversion and the click ID stored in aff_sub.
Network fires postback — The network calls: https://your-tracker.com/postback?clickid=abc123xyz&payout=2.50
Tracker records conversion — Matches abc123xyz to the original click, records revenue of $2.50.
4. Step-by-Step Setup
Here's how to set up S2S postback tracking in BATracker (the process is similar in most trackers):
Step 1: Get Your Postback URL
In BATracker, go to Settings → Postbacks. You'll see your universal postback URL:
https://track.yourdomain.com/postback?clickid={click_id}&payout={payout}&status={status}Step 2: Add Click ID to Your Offer URL
When creating an offer, append the click ID token to the URL. The parameter name depends on the network:
https://network.com/offer/12345?aff_sub={click_id}BATracker automatically replaces {click_id} with the actual click ID during redirect.
Step 3: Configure Postback in Your Network
Log into your affiliate network's dashboard. Find the "Postback" or "S2S Tracking" settings. Paste your postback URL, replacing the tokens with the network's macros:
https://track.yourdomain.com/postback?clickid={aff_sub}&payout={payout}Here, {aff_sub} is the network's macro that outputs the value you passed in step 2.
Step 4: Test the Setup
1. Click your campaign URL to generate a test click.
2. Check Visit Logs in BATracker — note the click ID.
3. Complete a test conversion (or ask your network AM for a test).
4. Check Conversion Logs — the conversion should appear with the correct click ID and payout.
5. Network-Specific Examples
MaxBounty
Offer URL token: ?s1={click_id}
Postback: https://track.yourdomain.com/postback?clickid=#s1#&payout=#price#
ClickDealer
Offer URL token: ?aff_sub={click_id}
Postback: https://track.yourdomain.com/postback?clickid={aff_sub}&payout={payout}
CrakRevenue
Offer URL token: ?aff_sub={click_id}
Postback: https://track.yourdomain.com/postback?clickid={aff_sub}&payout={amount}
6. Troubleshooting Common Issues
Conversions not appearing?
Check your Visit Logs — is a click ID being generated? Then check if the network is firing the postback. Common issues: wrong parameter name in the offer URL, network postback URL has a typo, or the network hasn't saved the postback URL yet.
Click ID shows as empty in postback?
The click ID isn't being passed to the offer. Verify your offer URL includes ?aff_sub={click_id} (or your network's equivalent parameter). Click your campaign URL, land on the offer page, and check the URL bar — the click ID should be visible.
Payout showing as $0?
Either the payout parameter isn't in your postback URL, or the network's macro for payout is different. Check your network's documentation for the correct payout token.
7. Frequently Asked Questions
What is S2S postback tracking?
Why is S2S postback tracking better than pixel tracking?
What parameters does an S2S postback URL need?
How do I test if my postback is working?
What affiliate trackers support S2S postback tracking?
Set Up Postback Tracking in Minutes
BATracker provides a universal postback URL and auto-detects click IDs — no complex configuration needed.
Try BATracker Free for 14 Days