# Add and arrange offer blocks

> Build an offer from blocks such as a heading, the product, a checklist and a countdown, in the order you choose.

Source: https://help.attravo.com/post-purchase-upsell/articles/add-and-arrange-offer-blocks
Updated: 2026-10-06

An offer is a stack of blocks: a heading, the product, its price, the buttons and anything else that helps a customer say yes. Adding a checklist of benefits or a rating often answers the question that stops a customer accepting.

## Arrange the blocks

Under **Blocks**, the list shows the offer from top to bottom.

![The blocks of an offer, each with move, duplicate and remove buttons](https://xprvgpfulbcxrftgyppu.supabase.co/storage/v1/object/public/help-media/5d8df30e-32a3-4311-b03c-158adc08841b/fd2105e9-1c4a-4e4a-8037-4b3b60e781d9/offer-blocks-1-list-bdfaba6914.webp#w=1122&h=688)

- Drag a block by its handle, or use **Move up** and **Move down**. The preview follows.

![Moving the Checklist block up the list, and the preview following](https://xprvgpfulbcxrftgyppu.supabase.co/storage/v1/object/public/help-media/5d8df30e-32a3-4311-b03c-158adc08841b/fd2105e9-1c4a-4e4a-8037-4b3b60e781d9/offer-blocks-5-move-5ee9fc590b.mp4#w=2096&h=1118)

- **Duplicate** copies a block with its settings. **Remove** takes it off the offer.
- **Buttons** cannot be removed: every offer needs its accept and decline buttons.

## Add a block

Under **Add a block**, select a block to add it to the end of the offer, then move it into place. Blocks that can appear only once leave the list when they are in use.

![Add a block, grouped into Text, Product, Persuasion, Media and Layout](https://xprvgpfulbcxrftgyppu.supabase.co/storage/v1/object/public/help-media/5d8df30e-32a3-4311-b03c-158adc08841b/fd2105e9-1c4a-4e4a-8037-4b3b60e781d9/offer-blocks-2-add-c718b85cbd.webp#w=1122&h=1061)

| Block | What it adds |
| --- | --- |
| **Heading** | A short headline for the offer. |
| **Text** | A sentence or two explaining the offer. |
| **Badge** | A small label such as Limited time or Ships free. |
| **Product** | Image, title and variant of the product you are offering. |
| **Product description** | The product's own description, from your catalogue. |
| **Price** | Offer price, with the original price and the saving. |
| **Variant picker** | Lets the customer choose a size or colour before adding. |
| **Quantity picker** | Lets the customer choose how many to add. |
| **Shipping line** | Reassures the customer that this ships with their order. |
| **Checklist** | Benefits, one per line, each with a tick. |
| **Trust points** | Reassurances such as secure payment or free delivery. |
| **Rating** | A star rating and review count for the product. |
| **Testimonial** | A quote from a customer, with their name. |
| **Order summary** | What the order costs once this is added. |
| **Countdown** | Counts down, then hides the offer when it runs out. Not shown in checkout. |
| **Image** | Your own image instead of the product photo. |
| **Video** | A cover image that opens your video in a new tab. |
| **Divider** | A line between sections. |
| **Spacer** | Extra space between blocks. |
| **Buttons** | Accept and decline actions. Every offer needs these. |

## Change a block's settings

Select a block's name to open its settings. Text fields can use these placeholders, filled in for each order: `{{customer.first_name}}`, `{{order.number}}`, `{{product.title}}`, `{{discount.value}}` and `{{shop.name}}`.

![The Heading block open, with the placeholders you can use](https://xprvgpfulbcxrftgyppu.supabase.co/storage/v1/object/public/help-media/5d8df30e-32a3-4311-b03c-158adc08841b/fd2105e9-1c4a-4e4a-8037-4b3b60e781d9/offer-blocks-3-heading-3b55c10dae.webp#w=1122&h=514)

Where a value is not known yet, such as a first name on some thank you pages, the placeholder is left blank.

**Buttons** sets the wording and style of both buttons:

![The Buttons block open, with the accept and decline settings](https://xprvgpfulbcxrftgyppu.supabase.co/storage/v1/object/public/help-media/5d8df30e-32a3-4311-b03c-158adc08841b/fd2105e9-1c4a-4e4a-8037-4b3b60e781d9/offer-blocks-4-buttons-72862fae71.webp#w=1122&h=1062)

- **Accept button** and **Decline button**: the labels.
- **Show decline button**: untick to show only the accept button.
- **Show the price on the accept button**: adds the price to the label.
- **Stack buttons vertically** and **Accept button style**: the layout, and whether accept is filled or outlined.

## Good to know

- The post-purchase page shows the product with your heading, text and button labels. Its other blocks show on the order pages.
- A **Video** link is hidden in in-app browsers such as TikTok's, where opening a tab would take the customer out of checkout. Set a fallback image in the block for them.
- A step with no **Product** block is skipped on the thank you and order status pages.
