# Render offers

Source: https://docs.aon.pro/offer-wall/rendering

> Derived from the same AON Docs release as the source page.

This page applies when you render the wall yourself from the [API](https://docs.aon.pro/offer-wall/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.

| Show | Field | Always present |
| --- | --- | --- |
| Title | `offer_info.title` | Yes |
| Description | `offer_info.short_description`, falling back to a shortened `offer_info.description` | `description` only |
| Brand name | `entity.name` | Yes |
| Logo or icon | `entity.logo`, or a `material[]` image tagged `logo` or `icon` | No |
| Cover image | A `material[]` image tagged `banner` or `hero`, falling back to any image, then the logo | No |
| Badge | `claims[].text` — hide the badge when there are no claims | No |
| Tap target | `action.payload.url` — the tracked click link to open when the user taps the offer | Yes |

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](https://docs.aon.pro/api/offer-instances) 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](https://docs.aon.pro/offer-wall/rewards#conversion-amounts).

## Next

[Attribution and rewards](https://docs.aon.pro/offer-wall/rewards)
