Vouchers
Learn how vouchers work in the Loyalty Engine, including code types, use cases, and how to choose the right setup for your loyalty program.
Voucher-type rewards allow users to earn or redeem codes for discounts, free items, or other incentives. You can configure vouchers to generate codes on demand, issue codes from a pool, use static codes, or skip codes entirely for manual redemption.
This article explains how voucher rewards work, what happens during redemption, and how they integrate with external systems like POS or e-commerce platforms.
What voucher rewards are
Voucher rewards in the Loyalty Engine are used to deliver some kind of benefit to users—usually in the form of a voucher code. You can:
Let users purchase a voucher using points
Award vouchers automatically using a reactor
Configure vouchers to be free (0 points)
Each time a voucher is issued to a user, it becomes a benefit—a specific instance of that reward tied to one user. The Loyalty Engine tracks whether a benefit is valid, redeemed, or expired.
How voucher redemption works
Voucher redemption has two key parts:
Issuing system (Loyalty Engine): Issues and tracks the voucher benefit for each user.
Redemption system (e.g. POS or e-commerce): Validates and applies the benefit during a transaction.
When a user earns or purchases a voucher:
The Loyalty Engine assigns a voucher code (based on code type chosen in the reward configuration).
A benefit is created in the user’s wallet.
The user redeems the benefit to reveal and use the code.
The code is validated and fulfilled externally (e.g. by your POS).
One-step vs two-step redemption
You can design voucher redemption as:
One-step: Voucher is purchased and redeemed immediately (code shown instantly).
Two-step: Voucher is stored in the user’s wallet after purchase until they’re ready to redeem it.
Both options are supported by the Loyalty Engine, and you can implement either—or both—depending on your use case.
Choosing a voucher code type
Voucher rewards must have a code type, which determines how codes are issued and how redemption works. The right code type depends on whether your redemption system is integrated with the Loyalty Engine or not.
Code types
Each code type has a dedicated article with setup steps and integration guidance:
Fully integrated POS/ecomm
A unique code is generated by the Loyalty Engine on redemption and validated via the API by the POS system in real time. Most secure.
Non-integrated systems that support bulk code creation
Codes are uploaded in advance. Users get a unique pre-generated code from the pool.
Non-integrated systems or manual/in-person redemption
No code issued. A staff member confirms redemption manually.
Physical rewards, external services, or scenarios where redemption doesn’t require a code.
Hides the code field entirely. Use when fulfilment is handled manually, via webhook, or by another system outside the Loyalty Engine.
Voucher expiry
You can set an expiry time for vouchers—for example, expire 7 days after purchase if unredeemed. This prevents old or unused codes from being redeemed later. Expiry is managed per benefit (user-specific instance), not per reward.
Codeless vouchers
You can also create codeless voucher-type rewards. These are used when:
No code is required to redeem the benefit
Validation happens manually or through external systems
You’re rewarding something like a physical item or service
To create a codeless voucher-type reward, select any code type and toggle 'hide code on redemption' ON.
When to use vouchers vs gift cards
Vouchers are rewards that you fulfil—either through POS integration, manual validation, partnership with third-parties, or code-based workflows. You control the codes and the logic.
If you want to offer branded gift cards (e.g. Amazon, Visa, Target, John Lewis) without handling fulfilment yourself, see Reward Fulfilment instead. These are fully managed by WLL via our gift card partners.
Vouchers FAQ
Can I change the code type after creating a voucher reward?
No. Once created, the reward type and code type are fixed. If you need to change them, create a new reward.
Last updated
Was this helpful?