Back to overview
Lesson 2 of 5

S2S Postback Architecture and Setup

9 min read

How S2S Postbacks Work

Server-to-server postback tracking removes the browser from the attribution chain. When a user clicks an affiliate link, your tracking platform generates a unique click ID and passes it to the operator landing page as a URL parameter. The operator stores this click ID alongside the user session. When the user converts, the operator server fires an HTTP request directly to the tracking platform with the stored click ID, confirming the conversion.

This architecture is immune to ad blockers, cookie restrictions, and browser crashes. The only dependency is server-to-server HTTP connectivity, which is reliable and auditable. Every major affiliate platform supports S2S postbacks as the primary tracking method.

The S2S Data Flow

  • Step 1: User clicks affiliate link. Tracking platform logs the click and generates a unique click_id.
  • Step 2: User is redirected to the operator landing page with click_id appended as a URL parameter.
  • Step 3: Operator frontend captures click_id from the URL and stores it (cookie, local storage, or passes to backend).
  • Step 4: User registers. Operator backend associates click_id with the new user account.
  • Step 5: User completes qualifying action (deposit, trade, challenge purchase). Operator backend fires S2S postback.
  • Step 6: Tracking platform receives postback, matches click_id, attributes conversion to affiliate, calculates commission.

Postback URL Structure

A postback URL is an HTTP endpoint on the tracking platform that accepts conversion data via query parameters. The operator configures their system to call this URL when qualifying events occur. Parameters typically include the click ID, conversion value, event type, and optional metadata.

ParameterPurposeExample Value
click_idLinks conversion back to original clickabc123def456
eventType of conversion eventregistration, ftd, trade, challenge_purchase
amountMonetary value of the conversion500.00
currencyCurrency of the conversion amountUSD, EUR, GBP
customer_idOperator internal user ID (for lifetime tracking)usr_78901
sub1-sub5Sub-affiliate tracking parameters passed throughcampaign_spring_2026
payoutCommission amount (if operator calculates)200.00

Always pass the customer_id in your postback alongside the click_id. This enables lifetime value tracking -- you can attribute future deposits, trades, or reactivations to the original referring affiliate without needing to fire new clicks.

Implementation Requirements

Implementing S2S postbacks requires coordination between your development team, affiliate platform provider, and operations team. The technical work is straightforward but the configuration details determine whether attribution is accurate at scale.

RequirementDetailsCommon Pitfall
Click ID captureFrontend must extract click_id from URL on every landing pageOnly capturing on one landing page, missing direct-to-registration flows
Click ID storageBackend must persist click_id with user record permanentlyStoring only in session cookie (lost on device switch)
Event triggersBackend must fire postback on each qualifying event typeOnly firing on registration, missing FTD and subsequent deposits
Retry logicFailed postbacks must be queued and retriedNo retry means lost conversions during platform downtime
IP whitelistingTracking platform may require whitelisted server IPsForgetting to whitelist after infrastructure changes
HTTPS requirementPostback URLs must use HTTPS in productionMixed content or certificate expiry causing silent failures

Multiple Event Postbacks

Modern affiliate programs track multiple events per user lifecycle, not just a single conversion. A Forex broker might fire postbacks for registration, identity verification, first deposit, first trade, and monthly trading volume. A casino operator might track registration, first deposit, cumulative deposits, and VIP tier upgrades.

  • Registration postback: Fired when user completes sign-up (used for CPA on registration deals)
  • FTD postback: Fired on first qualifying deposit (primary conversion for most CPA deals)
  • Revenue postback: Fired daily or per-trade with revenue/volume data (used for RevShare and lot-based models)
  • Reactivation postback: Fired when a dormant user returns and deposits again (used for lifetime value models)
  • Negative event postback: Fired on chargebacks, bonus abuse, or account closure (used for commission clawbacks)

Firing multiple event postbacks per user is standard practice. It allows the affiliate platform to support different commission models (CPA on FTD, RevShare on ongoing revenue) from the same integration, without requiring re-implementation when deal structures change.

Key Takeaways

  • S2S postbacks work by passing a click_id from tracking platform to operator and back on conversion -- no browser required
  • Always include customer_id in postbacks to enable lifetime value attribution
  • Implement retry logic for failed postbacks -- a single missed HTTP call means a lost conversion
  • Fire multiple event types (registration, FTD, revenue, negative events) to support all commission models from one integration
  • IP whitelisting, HTTPS, and click_id persistence are the most common failure points in new implementations