Global or offer-specific postbacks: which one fires
For every conversion we pick exactly one active postback row and send to its URL. A row for that offer beats a global row, and for later steps a row naming the exact event beats a row for any event.
See also: Signed postbacks
On this page
Each row has a Postback Type: Conversion or Event.
- A conversion is an offer’s first step. An install is always a conversion, and an offer with one step only ever sends conversions.
- An event is any later step, such as reaching level 10.
A Conversion row receives conversions and events. An Event row receives events only. Being a conversion or an event says nothing about pay: read your earnings on each postback, in payout (in revenue on the Hosted Offerwall).
For one conversion, we take your active rows that apply and send to the highest one in this list.
| Rank | Row | Applies to |
|---|---|---|
| 1 | Event, Specific, naming this event | That event on that offer |
| 2 | Event, Specific, Any event on this offer | Every later step of that offer |
| 3 | Conversion, Specific | Every step of that offer |
| 4 | Event, Global | Every later step of every offer |
| 5 | Conversion, Global | Every step of every offer |
Rows set to Inactive are skipped, so a switched-off specific row falls through to the next one that applies. Only one row fires; we don’t send to several.
Example, for Pebble Rewards. Two active rows:
- A: Conversion, Global,
https://api. pebble. example/ afos - B: Event, Specific, Harbor Blocks, “Reach level 40”,
https://api. pebble. example/ afos/ l40
| What happened | Row that fires | Why |
|---|---|---|
u_48213 installs Harbor Blocks | A | An install is a conversion. Event rows never take conversions. |
u_48213 reaches level 10 | A | B names a different event. A takes events too. |
u_48213 reaches level 40 | B | Rank 1 beats rank 5. |
| Any step of another offer | A | B is for Harbor Blocks only. |
An Event row with Postback Level Specific asks for an Offer and then an Event. The list shows that offer’s steps, plus Any event on this offer. Pick several when you create the row and we save one row per event, all with the same URL. Steps that already have an active row show as already set up.
The match is exact: an event row fires only when the step’s name equals the goal’s name in the Offer API, which is also what the postback carries as conversion_name. Pick from the list rather than typing names you’ve seen elsewhere.
- No row applies. If you have rows but none fits this conversion, nothing is sent and Flight Recorder shows the delivery as
skipped_no_url. The most common cause is a set of Event rows with no Conversion row: installs then go nowhere. The form warns you before you save such a set. - An account-level URL. If our team set a postback URL on your account, it’s used only while you have no rows at all. Saving your first row replaces it, even an Inactive row.
- No postback secret. Rows don’t matter until it exists. See How to set up a postback URL.
Networks set one global URL under Workspace settings, in Postback Configuration. Offer-specific URLs, where your account has them, win over it for their offer, and one switched off falls through to the global URL. With no URL that applies, the conversion is recorded and nothing is sent.