What a postback URL is (and how to build one correctly)
A postback URL is the quietest, most important line of text in your affiliate stack. Here is exactly what it does, how to construct one, and the four mistakes I fix most often.
Published July 26, 2026 · Osama Malik
The one-sentence definition
A postback URL is a web address your system calls, server to server, to tell a tracking platform that a conversion happened. No browser, no JavaScript, no cookie — your backend simply makes an HTTP request to the network, and the network records the conversion against the click that produced it.
That is the whole idea. Everything else — macros, event types, dedupe rules — exists to make sure the right conversion is attributed to the right click, exactly once.
How the round trip actually works
Every failure I have ever diagnosed lives in one of those four steps. The postback URL itself is rarely the problem — the click ID going missing in step two is.
- An affiliate sends a visitor to your offer through a tracking link. The tracking platform issues a unique click ID and redirects the visitor to your landing page with that ID in the query string.
- Your landing page and checkout carry the click ID through every step and store it on the order record in your CRM.
- When the order reaches a final state, your backend fires the postback URL, substituting the stored click ID and the conversion value into the URL.
- The tracking platform matches the click ID, records the conversion, applies the payout rule, and shows it to the affiliate.
Anatomy of a postback URL
A typical advertiser-side postback looks like a base endpoint from your network plus a handful of parameters you populate at fire time. Conceptually: the network endpoint, then the click ID, then the amount, then an order identifier for deduplication, and optionally an event name when the offer pays on more than one action.
The click ID parameter is the only genuinely mandatory one. Without it the platform has nothing to attribute the conversion to, and most networks will accept the request and then discard it — which is why a broken postback looks like silence rather than an error.
- Click ID — the value the tracking platform gave you on the click. Everflow calls it transaction_id; other platforms use clickid or click_id.
- Amount — the numeric order value, in the offer's currency, with no symbol and no currency code appended.
- Order ID — your own unique identifier, used by the platform to reject duplicates.
- Event — required only when the offer has multiple payable events (lead, sale, rebill, upsell).
Four mistakes that lose real money
- Pasting the postback URL with the macros left as literal placeholder text. The network receives the placeholder string instead of a click ID and silently drops the conversion.
- Firing on order creation rather than the terminal status. Pending orders that later fail still get paid out, and a retry can double-fire.
- Sending the amount as formatted currency. A value like 'USD 49.00' is usually accepted and logged as zero, so you see conversions with no revenue.
- Reusing order IDs between staging and production. The platform deduplicates on that identifier and rejects your live conversions as duplicates of test data.
Postback URL vs conversion pixel
A pixel fires from the visitor's browser; a postback fires from your server. The pixel is easier to install because marketing can drop it on a thank-you page without engineering. It is also blocked by ad blockers, broken by privacy defaults in Safari and Firefox, lost on mobile app browsers, and trivially spoofable by anyone who can load the page.
Postbacks survive all of that because there is no browser in the path. For anything you pay money on, use a postback. Keep pixels for analytics you can afford to lose.
Testing a postback URL before you trust it
- Generate a real tracking link and click it yourself, with a recognisable sub-parameter value.
- Complete a minimum-value order end to end, including any redirect or cart step.
- Open the order record and confirm the click ID is actually stored — this is where most setups fail.
- Check your own outbound logs to confirm the postback fired, with populated values rather than placeholders.
- Check the platform's inbound postback log for an accepted conversion with the correct payout.
- Repeat once with a refund or void, and confirm the reversal behaves the way your finance team expects.
FAQ
- What is a postback URL in affiliate marketing?
- It is a server-to-server HTTP request your backend makes to a tracking platform to report a conversion. It carries the click ID issued when the visitor arrived, the conversion value, and a unique order identifier, so the platform can attribute and pay the correct affiliate exactly once.
- Is a postback URL the same as a webhook?
- Technically they are the same mechanism — an outbound HTTP call triggered by an event. 'Postback' is the affiliate-industry term for the specific case of reporting a conversion to a tracking platform.
- Where do I get my postback URL?
- The tracking platform generates the base URL — in Everflow, TUNE, Trackier and similar tools it sits in the offer or advertiser settings. You paste it into your CRM or backend and replace the macros with your own stored values before it goes live.
Need this fixed on a live offer?
I run hands-on tracking QA, postback validation, and launch readiness for direct advertisers. Book a 30-minute readiness call — no pitch, just a real diagnosis.
Book a readiness call