Why Postbacks Exist
Before postbacks, affiliate conversion tracking relied on pixels: a tiny image or JavaScript snippet placed on the advertiser's thank-you page. When a buyer loaded that page, the pixel fired in their browser and told the tracker a conversion happened.
Pixel-based tracking has three fundamental problems:
Ad blockers kill it. Browser extensions like uBlock Origin block tracking pixels before they fire. Depending on the audience, 15-40% of conversions can vanish.
Cookies expire or get blocked. Safari blocks third-party cookies by default. Chrome is following. When the cookie connecting the click to the conversion is gone, the pixel fires but has nothing to match against.
Users leave before the page loads. If the buyer closes the thank-you page before it fully renders, the pixel never fires. That conversion is lost forever.
Postbacks bypass the browser entirely. The affiliate network already knows a conversion happened because it processes the sale on its own servers. It sends that information directly to your tracker. The user's browser, their ad blocker, their cookie settings, none of it matters.
How Postbacks Work
The full cycle has four steps:
1. Click: Your tracker captures the click
A user clicks your tracking link. Your tracker assigns a unique click ID to this visitor and records everything it can: IP address, user agent, timestamp, the campaign and offer details. It then redirects the user to the offer page.
2. Redirect: The click ID travels with the user
Your tracker appends its click ID to the redirect URL as a query parameter. The affiliate network receives this visitor with your click ID embedded in the URL. The network stores that click ID alongside the session it creates for this visitor.
3. Conversion: The network registers the sale
The user buys. The affiliate network processes the transaction on its servers: validates the purchase, calculates the commission, records the order details.
4. Postback: The network pings your tracker
The network fires an HTTP request (typically a GET request) to the postback URL you configured in their system. That URL includes the click ID the network stored from step 2, plus any transaction details you requested: payout amount, transaction ID, conversion status.
Your tracker receives this request, looks up the click ID, and matches the conversion to the original click. All server-side. No browser, no pixel, no cookies.
User clicks ad
โ Tracker assigns click ID (e.g., abc123)
โ Redirects to offer with ?click_id=abc123
โ User buys on network's site
โ Network fires: https://your-tracker.com/postback?clickid=abc123&payout=15.00
โ Tracker matches abc123 to original click
โ Conversion recorded
Postback vs Pixel: Side by Side
| Conversion Pixel | Postback URL | |
|---|---|---|
| How it fires | JavaScript/image in the buyer's browser | HTTP request from network's server |
| Blocked by ad blockers? | Yes | No |
| Affected by cookie restrictions? | Yes | No |
| Requires code on the thank-you page? | Yes (you or the advertiser must place it) | No (configured once in the network dashboard) |
| Works if user closes page early? | No | Yes |
| Reliability | Degrades as privacy restrictions increase | Consistent regardless of browser environment |
| Data available | Limited to what the browser exposes | Whatever the network includes (payout, status, transaction ID) |
| Setup complexity | Paste a snippet on the page | Configure a URL in the network dashboard |
The industry has moved to postbacks. Most serious affiliate networks, including ClickBank, MaxBounty, and CJ, support or prefer S2S postbacks over pixel-based tracking. Some networks have dropped pixel support entirely.
Common Postback Parameters
Every network uses slightly different parameter names, but the core data points are the same. Here are the most common tokens you'll see in postback URLs:
| Parameter | What It Contains | Typical Token |
|---|---|---|
| Click ID | Your tracker's unique ID for the click | {clickid}, {subid}, {aff_sub} |
| Payout | Commission amount for this conversion | {payout}, {amount}, {commission} |
| Transaction ID | Network's unique transaction identifier | {txid}, {transaction_id}, {order_id} |
| Status | Conversion status (approved, pending, rejected) | {status}, {goal} |
| Offer ID | Which offer converted | {offer_id}, {campaign_id} |
A typical postback URL looks like this:
https://your-tracker.com/postback?clickid={clickid}&payout={payout}&txid={transaction_id}&status={status}
When the conversion fires, the network replaces the tokens with real values:
https://your-tracker.com/postback?clickid=abc123&payout=15.00&txid=TX98765&status=approved
Setting Up a Postback: The Steps
1. Get your postback URL from your tracker
Your tracking platform provides a postback endpoint. This is the URL the network will call. It includes a parameter slot for your click ID.
2. Configure it in the network
Every network has a field for "postback URL", "conversion callback URL", or "S2S URL" in the offer or account settings. Paste your tracker's postback URL there.
3. Map the parameters
Match the network's token names to your tracker's expected parameter names. If your tracker expects clickid but the network uses aff_sub, configure accordingly. Most trackers document their expected parameter names.
4. Test the postback
Most networks offer a test postback button. Click it and verify the conversion appears in your tracker. If it doesn't, check the URL encoding, parameter names, and that the click ID is being passed correctly through the redirect chain.
Postback vs CAPI: Different Jobs
A common confusion: postbacks and Conversion API (CAPI) do similar things (server-to-server data transfer), but they serve different purposes.
| Postback URL | Conversion API (CAPI) | |
|---|---|---|
| Direction | From affiliate network to your tracker | From your tracker to ad platform |
| Purpose | Tell your tracker a conversion happened | Tell Meta/Google/TikTok a conversion happened |
| Who fires it | The affiliate network | Your tracker |
| What it feeds | Your tracking reports and attribution data | Ad platform optimization algorithms |
They're complementary. A postback tells your tracker about the conversion. Then your tracker fires CAPI events to tell the ad platforms. The full chain looks like this:
Network โ [postback] โ Your Tracker โ [CAPI] โ Meta / Google / TikTok
Without the postback, your tracker doesn't know about the conversion. Without CAPI, the ad platforms don't know about it. You need both for complete, end-to-end tracking.
Troubleshooting Postback Failures
Conversion happened but nothing appeared in your tracker
Check the click ID pass-through. The most common cause is that your click ID isn't surviving the redirect chain. Open the offer URL and verify the click ID parameter appears in the final URL the network receives. Redirects, cloakers, or landing page scripts can strip or overwrite query parameters.
Postback fires but conversion isn't matched
Check for encoding issues. Special characters in click IDs (like + or =) can break URL encoding. Your tracker may have generated a click ID with characters that the network URL-encodes differently on the callback. Double-encoding is a frequent culprit.
Duplicate conversions appearing
Check for multiple postback configurations. Some networks have global postback settings AND per-offer postback settings. If both are active, you'll receive two callbacks for every conversion.
Postback delay
This is normal. Some networks fire postbacks immediately on conversion. Others batch them every 5-15 minutes. A few only send postbacks after manual approval. Check the network's documentation for their postback timing.
How ClickerVolt Handles Postbacks
ClickerVolt provides a universal postback endpoint that accepts conversions from any affiliate network. You configure it once per network in the ClickerVolt dashboard: paste the postback URL into the network's settings, map the parameter tokens, and it works.
For networks like ClickBank, JVZoo, and WarriorPlus, ClickerVolt goes further. These networks use IPN (Instant Payment Notification)-based systems instead of standard postback URLs. ClickerVolt has built-in native IPN receivers for each one. That means there's no postback URL to configure at all. You enter your API credentials, and ClickerVolt automatically receives every sale, refund, and chargeback directly.
When a postback (or IPN) arrives, ClickerVolt does two things automatically: it records the conversion in your tracking data, and it forwards the event to every connected ad platform via their server-side APIs. Meta gets a CAPI event with up to 15 matching signals. Google gets an Enhanced Conversion event. TikTok gets an Events API call. All from one postback.
I've lost count of how many campaigns I've debugged where the whole problem was a broken postback chain. The campaign runs for three days, the ad platform shows zero conversions, the media buyer panics and kills the campaign. Then you check the postback setup and find the click ID was being stripped by a redirect on the landing page. Three days of ad spend, wasted, because of one query parameter.
The thing most beginners get wrong is assuming the postback "just works" once you paste the URL. It doesn't. You need to test it before you spend a dollar. Fire a test conversion, verify it appears in your tracker, verify the payout amount is correct, verify the click ID matches. That five-minute test saves you from the three-day debugging nightmare.
โ Try ClickerVolt's one-click postback setup (free, no credit card)
Frequently Asked Questions
What is the difference between a postback URL and a tracking pixel?
A tracking pixel fires in the user's browser when they load the thank-you page. A postback URL is a server-to-server HTTP request from the affiliate network to your tracker. Postbacks are more reliable because they don't depend on the user's browser, cookies, or ad blocker settings. Most affiliate networks now prefer or require postbacks over pixels.
Do all affiliate networks support postback URLs?
Most established networks do. ClickBank, MaxBounty, CJ Affiliate, ShareASale, Awin, and many CPA networks support either standard postback URLs or their own notification systems (like ClickBank's IPN). Some smaller or older networks may still be pixel-only. If a network doesn't support postbacks, ask their support team. They may have it under a different name.
Can I use postbacks and pixels together?
Technically, yes. But it's rarely needed. Running both creates a deduplication problem: your tracker sees two conversion notifications for the same event. If you must run both (some e-commerce setups require it), make sure your tracker has deduplication logic to avoid double-counting.
What happens if the postback request fails?
Most networks have a retry mechanism. If your tracker's server is down or returns an error, the network will attempt the postback again after a delay (usually 15-60 minutes). Some networks retry up to three times. After that, the postback is typically dropped. This is why your tracker needs reliable uptime: missed postbacks mean missing conversion data.
How is a postback URL different from a webhook?
They're conceptually identical: both are HTTP callbacks triggered by an event. In affiliate marketing, they're called "postbacks". In SaaS and e-commerce contexts, the same pattern is called a "webhook". The mechanics are the same: a server sends an HTTP request to a preconfigured URL when something happens.
