Integrating Vouchers into Messages

Prev Next

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:

<%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:

    <%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.

The expression uses ecx:isEmptyCouponList to check if a list has available codes.

  • Show a section only if vouchers are available

    <%InsertIf expression="${(ecx:isEmptyCouponList(coupon ['MyCouponList'])=='false')}">
      Your voucher code: <strong><%coupon.MyCouponList%></strong>
    </%InsertIf>

  • Show fallback content if no vouchers are available

    <%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