Skip to content
 

Render offers

This page applies when you render the wall yourself from the API. The hosted page already does this for you.

Render each offer

Every offer has offer_info.title, offer_info.description, entity.name, and action.payload.url. The other display fields depend on what the offer's source provides and are often missing, so use them when present and never require them.

ShowFieldAlways present
Titleoffer_info.titleYes
Descriptionoffer_info.short_description, falling back to a shortened offer_info.descriptiondescription only
Brand nameentity.nameYes
Logo or iconentity.logo, or a material[] image tagged logo or iconNo
Cover imageA material[] image tagged banner or hero, falling back to any image, then the logoNo
Badgeclaims[].text — hide the badge when there are no claimsNo
Tap targetaction.payload.url — the tracked click link to open when the user taps the offerYes

If you open an offer's detail page outside the Query response that served it, for example from a deep link or after a reload, look the card up by its offer_instance_id with the Offer Instance API from your server, and show its action only when one is returned. Never replace action.payload.url with the offer's landing page: that link carries no attribution. Always send X-AON-Placement-Id on Query, because cards served without a placement can't be looked up later.

Images

Images in material[] have format: "image", an optional tag describing their purpose, and an optional dimensions string such as "1024x500". Sizes vary from offer to offer, so crop to your own frame (for example with object-fit: cover) and keep a placeholder for offers without images.

Payout

goals[].pricing.amount is the offer's listed payout before the AON platform fee. You can use it to rank offers or to size a reward. What you actually earn per conversion arrives on the conversion Webhook; see Attribution and rewards.

Next

Attribution and rewards