Redemption Code
Learn more about campaign based on the redemption codes.
The Redemption Code trigger allows you to run campaigns based on codes entered by members. Codes can be delivered in multiple formats (alphanumeric, QR, barcode) and redeemed via mobile apps, websites, or admin interfaces.
This campaign type requires:
a custom event schema with a code attribute
properly configured code source (generated or imported)

The statuses of the codes will dynamically change each time the code is used.
Code Sources
Redemption codes can be provided in two ways:
1. Generated Codes (System-based)
The system automatically creates a pool of unique codes during campaign setup. Additional codes can be generated later on.

You can configure:
number of codes
code length
prefix
character set (numeric, alpha, alphanumeric)
This option is recommended when:
you don’t need predefined codes
codes are distributed dynamically (e.g. via API, app, email)
2. Imported Codes (CSV upload)
You can upload your own predefined codes using a .csv file.

This option is recommended when:
codes are printed externally (e.g. on products, flyers)
codes come from another system
you need full control over the code list
For more information on the sample import file for redemption codes upload, please refer to this section of the User Guide: Redemption Codes
Import Process (Asynchronous)
Code import is processed asynchronously.
What this means in practice:
After uploading the CSV, codes are not immediately available
Import is queued and processed in the background
Progress and results can be monitored in 👉 Imports / Exports section
Until the import is completed, codes cannot be used in campaigns.
Using Imported vs Generated Codes
Once available, both imported and generated codes behave identically:
they are stored in the same pool
they follow the same lifecycle (e.g. usage status updates)
they trigger campaigns in the same way
they are validated against the same event attribute
There is no difference at runtime between:
a system-generated code
an imported code
🛠️ Step-by-Step Setup
Create a Custom Event Schema
It is a one-step activity. The same schema can be reused for multiple campaigns.
Navigate to Custom Events → Custom Event Schemas
Add a text-type attribute (e.g.,
promo_code) for your redemption codes.Save the schema status to Active
For more information on how to create a custom event schema, please refer to this section of the User Guide: Custom Event Schemas
Add Campaign
Go to Campaigns or Referral Campaign → Add campaign
Under Trigger, select Redemption Code
Choose Code Source
Option A — Generate codes (system-generated)
Quantity: Number of initial codes to distribute (you can add more later)
Length: Number of characters per code
Prefix: Optional fixed text added before each code
Character set: Choose numeric, alpha, or alphanumeric

Option B — Import codes (CSV upload)
Select Import
Finish campaign creation first
Upload your
.csvfile in the Redemption Codes section

Set Basic Campaign Details
Name, Description, Translations
Start/End Date, Display Order, Visibility (Everyone / Segment / Tier)
Campaign Status – The campaign will start only if it is active
Add Rules
Condition: (optional) e.g., only trigger for members in a specific tier.
Effect: e.g., "Add 100 fixed points", "Issue coupon".
Set Limits & Budget
Per-member frequency (e.g., once per month)
Campaign-level spending caps (total units)
Summary
Review the campaign configuration and amend if needed
Click on Add Campaign
📋 Managing Codes
View or export codes: In the campaign list, click the ⋮ menu → Show, then optionally Export to CSV to extract the generated codes and their statuses. Statuses include used and unused.
Track code usage: Dashboard metrics show total codes redeemed versus remaining codes left

✅ Why Use Redemption Code Triggers
Offline-to-Online engagement: Scanable codes from receipts, email, or in-store collateral.
Limit control: Pre-generate and manage set code counts to control campaign scale.
Flexible targeting: Conditions on the event attribute (
promo_code) allow personalization (e.g., VIP-only codes).Full autonomy: Campaign logic is separate, ensuring your code campaigns don’t impact other campaign types.
🧠 Best Practices
Keep schemas simple—only include attributes needed for matching or personalization.
Test thoroughly: Generate a small set of codes, import them into your schema attribute, and test redemption scenarios.
Monitor redemption trends via the overview to adjust issuance or messaging.
Rotate prefixes for limited-time campaigns to avoid reuse or confusion.
Last updated
Was this helpful?

