How money moves: click, conversion, postback, payout
Money moves in four steps. We record the tap as a click, the advertiser’s tracking confirms an install or a step, we match it to that click and send the publisher a signed postback with its payout, and the publisher credits its own user. The advertiser pays for the steps it prices, the publisher earns its payout and the player’s reward comes from the publisher.
On this page
A user taps an offer’s tracking link. We record the tap with its own click ID, keep the publisher’s sub ID on it, run our traffic checks and send the user on to the store or the site.
A tap we refuse never reaches the advertiser, so nobody pays for it. The user sees “This offer isn’t available for your account”, and the offer stays live for everyone else.
The advertiser’s tracking reports the install or the step inside the app, and we match it to the click ID. A step that can’t be matched to a click can’t be paid to anyone.
Advertisers who run campaigns directly on AffiliateOS capture afos_click_id from the tap’s landing URL and send it back as clickId with each event from their server. A live event that matches a tap is charged its price from their prepaid balance. An event without a click ID is logged as missing_attribution, and test events are never charged.
We send the publisher a signed postback. sub_id says which user it belongs to, action_id identifies the conversion, status is completed, payout is the publisher’s earnings and user_payout is the player’s reward in USD when there is one. The publisher checks the signature, then credits its user in its own currency.
On the Hosted Offerwall the fields shift: revenue is the publisher’s earnings and payout is the player’s reward. We only send postbacks once the publisher has created a postback secret; until then, conversions count in reports but nothing reaches its server.
Each completed conversion counts toward what we pay the publisher. The payout the offer list shows for a step is the payout the postback carries for it. Publishers find each conversion in Conversions, the totals in Reporting and their lifetime earnings in Billing. Billing is open to Owners, Admins and teammates with earnings access.
Example. At 2:06 PM player u_48213 taps Harbor Blocks, a game by Tidewater Games, inside Pebble Rewards on an iPhone in Texas. We record clk_7Q2f81. At 2:09 PM the player installs and opens the game, the game’s tracker reports the install, and we match it to clk_7Q2f81.
A second later Pebble Rewards gets a postback with sub_id=u_48213, status=completed, payout=4.20 and user_payout=1.50, the install reward Tidewater Games set. It checks the signature and credits 1,500 pebbles, and the $4.20 counts toward what we pay Pebble Rewards.
- Reversals. When the advertiser or our checks take a conversion back, we send a second postback with the same
action_idandstatus=reversed. A reversal isn’t paid, so deduct what you credited. - Test postbacks carry
test=true. They check your server, not a conversion: log them and skip crediting. - Publishers who joined through a network see their own payout, set by their network. The network sees its own numbers.
- Advertiser balance. When it can’t cover an event, the event is logged as
insufficient_balanceand not charged.