---
title: "Integrating Vouchers into Messages"
slug: "integrating-vouchers-into-messages"
updated: 2025-04-30T07:28:13Z
published: 2025-04-30T07:28:13Z
---

> ## Documentation Index
> Fetch the complete documentation index at: https://docs.mapp.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Integrating Vouchers into Messages

This page explains how to integrate **coupons** and **barcodes** into messages in Mapp Engage. You’ll learn how placeholders work, how messages behave during sendout, and how to handle preview and fallback options.

For step-by-step instructions, see the related How-To guides.

---

## 1. How can I add vouchers to a message?

| **Editor** | **Coupons** | **Barcodes** |
| --- | --- | --- |
| **Compose Message** | Insert using Engage Variable (text code) | Insert using Engage Variable (barcode image) |
| **CMS Templates** | Insert using coupon placeholder | Insert using placeholder or Content Element, depending on source |

---

## 2. Inserting vouchers into messages

### A. In the Compose Message editor

1. Open your message
2. Click **Engage Variables**
3. Choose the **Coupon** or **Barcode** category
4. Drag the desired item into your message
5. A placeholder is inserted (e.g. {{voucher.MyCouponList}} or {{barcode.BarcodeName}})

During sendout, Mapp Engage replaces the placeholder with each recipient's personal voucher code or barcode image.

---

### B. In CMS Templates

**Coupons:**

Use a placeholder like:

```plaintext
<%coupon.MyCouponList%>
```

**Barcodes:**

Barcodes can be inserted in two ways:

1. **As a placeholder**

If the barcode is based on a **coupon list** or a **custom attribute**, use a syntax like:

```plaintext
<%barcode.MyBarcodeName%>
```
2. **As a Content Element**

If the barcode was **manually created and saved** in the Content Store, insert it using a **Content Element**.

The correct method depends on how the barcode was created and how your CMS template is structured.

---

## 3. Message behavior during sendout

- Mapp inserts **one unique code per recipient**
- If the placeholder appears multiple times, the **same code** is shown throughout the message
- If no more codes are available:
  - Engage inserts **alternative text** (defined in the coupon list), or
  - **pauses** the sendout (depending on your settings)

---

## 4. Show or hide vouchers in the message

You can conditionally display message blocks depending on whether vouchers are available. This helps you manage the experience for users when codes are depleted.

> [!NOTE]
> The expression uses `ecx:isEmptyCouponList` to check if a list has available codes.

- **Show a section only if vouchers are available**

```yaml
<%InsertIf expression="${(ecx:isEmptyCouponList(coupon ['MyCouponList'])=='false')}">
  Your voucher code: <strong><%coupon.MyCouponList%></strong>
</%InsertIf>
```
- **Show fallback content if no vouchers are available**

```yaml
<%InsertIf expression="${(ecx:isEmptyCouponList(coupon ['MyCouponList'])=='true')}">
  This offer is no longer available — but check out our latest deals.
</%InsertIf>
```

You can also combine this logic with other attributes (e.g. previous purchases or customer status).

---

## 5. Test and preview behavior

- **Test messages and previews** do **not use real vouchers**
- Instead, a **preview value** is shown (e.g. MyCouponList_PreviewCoupon)
- You can define a **custom preview text** in the coupon list settings

This ensures your live voucher pool is preserved for actual sendouts.

---

## 6. Tracking and follow-up

If your CRM or shop system sends redemption data back to Mapp:

- You can track **which code was sent to which recipient**
- See which vouchers were **redeemed**, and by whom
- Use this information to:
  - Create **segments** (e.g. “used” vs “not used”)
  - Launch **reminder or follow-up campaigns**
  - Run **performance reports** or **coupon exports**

Redemption data is available via:

- Manual or automated **coupon exports**
- CRM-based event tracking (if integrated)

For more, see: [Create and Generate a Coupon Export](/v1/docs/generate-a-coupon-export)
