One postback per step on multi-step offers
A multi-step offer sends one postback for each step a user completes, not one for the whole offer. Each has its own action_id, the step’s goal_id and conversion_name, and that step’s money. is_offer_complete=true marks the last one.
See also: Signed postbacks
On this page
Example. Harbor Blocks by Tidewater Games has 12 steps to level 40 and pays per install. Tidewater Games set a player reward for each step. Player u_48213 on Pebble Rewards, which uses the Offer API, plays to level 40. Three of the twelve postbacks Pebble Rewards receives:
conversion_name | action_id | payout | user_payout | is_offer_complete |
|---|---|---|---|---|
Install | act_5Kq2Wc | 4.2 | 1.5 | false |
Reach level 10 | act_8Rt3Lb | 0 | 1.5 | false |
Reach level 40 | act_2Wn7Qd | 0 | 6 | true |
All three carry the same sub_id=u_48213 and offer_id, and each its own goal_id. Pebble Rewards credits the player 1,500, 1,500 and 6,000 pebbles, at 1,000 pebbles per $1, and earns $4.20 in all.
- Which step:
goal_idmatchesgoals[].idin the Offer API, andconversion_nameis that goal’sname. Store both: a step removed from the offer later can still post back. - Your money:
payouton the Offer API, the Top Offers Feed and links;revenueon the Hosted Offerwall. Read it on every step. Your offer list shows what each step pays you ingoals[]..effectivePayoutUsd - The player’s reward:
user_payout, in USD. Credit it as sent. - The end:
is_offer_complete=trueon the last step only.
A step that pays you 0 still posts back when it carries a player reward, so you can keep crediting the player. Multi-step offers: which steps pay reads the same steps from the offer list’s side.
The first step, and any install step, is a conversion. Every later step is an event. A Conversion row receives both, unless an Event row applies to that step, so one global Conversion row is enough to receive every step. Global or offer-specific postbacks has the full order.
Each step posts back with placement=offerwall. revenue is what you earn on that step (0 on later steps of install-paid games) and payout and user_payout are the player’s reward on your wall. Credit user_payout, track revenue.
- Steps that never post back. A step listed in
goalsposts back. Steps that pay neither you nor the player, and steps the advertiser uses only for its own tracking, are usually left out ofgoalsand send nothing. - A step removed after the user passed it. It can still post back, paying you
0, with theuser_payoutyou were last sent for it, or the reward the advertiser set. It may not be ingoalsany more. - Time limits. Where the advertiser sets one,
goals[].is how many days the user has to reach that step, counted by the advertiser’s side.maximumCompletionTimeDays - Reversing one step. A reversal takes back one step and repeats that step’s
action_idwithstatus=reversed. The other steps stand. - Duplicates. Dedupe on
action_idandstatustogether, never onoffer_idandsub_id: one user completes many steps of one offer.