Personalized Promo Codes are unique, one-time codes tailored for individual customers. They are a powerful tool for driving engagement and conversions while protecting your promotion from abuse by preventing unintended sharing.
This guide will walk you through the entire process of setting up, managing, and tracking a promotion using Personalized Promo Codes in Optimove Promotions (formerly OptiPromo).
Before You Begin: Prerequisites
Before you start, please ensure you have the following:
- An active Promotions account with permissions to create and manage promotions.
- A list of unique promo codes prepared in a
.csvfile. The file must be a single-column file with no header and must be no larger than 50MB.
Step-by-Step Guide: Setting Up Your Promotion
The promotion creation process is a simple 5-step flow. Follow the steps below to configure your promotion.
Step 1: Configure Promotion Details
This first screen contains the core settings for your personalized code promotion.
- Navigate to Plan → Promotions → Promotions and click Create New.
- On the Promotion Details screen, fill in the following:
- Promotion Name: An internal name for your promotion (e.g., Loyalty Flash Sale 20%).
- Description (Optional): Add additional information about the promotion.
- In the Promo Code section, select Personalized Codes.
- Once selected, new options will appear on the same screen. Configure them:
- Fallback code (Optional): Enter a single, default promo code that is automatically applied if the list of personalized codes runs out. You can also click Generate.
-
Allocation Method: Choose how promo codes are assigned to customers across multiple campaigns of the same promotion:
- Consistent: Each customer gets one consistent code throughout the campaign series.
- Varying: A fresh code is assigned on every trigger, even if the previous one wasn’t used.
-
Upload Personalized Codes: Click to upload or drag and drop your prepared
.csvfile into the upload area. Codes will be distributed automatically, and you can upload more when the list runs out.
- After you upload a file, it appears in the Codes table with its file size, status, upload date, and Used / Total count.
- (Optional) Under Activate notifications via the following channels, turn on Email and/or Webhook, then use Set notification threshold to get notified when your personalized codes reach a chosen threshold, so you can stay ahead of code usage.
- Click Next to continue.
Step 2: Add Meta Data (Optional)
- The Meta Data screen allows you to add extra details to help categorize, search, or manage your promotion.
- You can click Add Property to include optional tags or info that helps identify the promotion.
- Click Next to continue.
Step 3: Define Rewards
On the Rewards screen, you will link your promotion to an External Reward. This is the standard method for personalized promotions, as your own system (e.g., e-commerce platform, point-of-sale) manages the actual value of the code.
- Select External Reward (Rewards will be set outside of Optimove).
- Click Next to continue.
Step 4: Set Budget & Constraints
- On the Budget & Constraints screen, you can set limits to control promotion distribution.
- Audience Cap: Click Add Cap, choose a Timeframe (Daily, Weekly, Monthly, or Lifetime), and enter the maximum number of participants who can redeem rewards. Once the limit is reached, the promotion will end.
- Budget Reward: A budget can be set for each reward type used in the promotion. When you use an External Reward, the value is managed outside of Optimove, so only the Audience Cap is shown.
- Click Next to continue.
Step 5: Review Summary and Activate
- The Summary screen allows you to review all the configured details before proceeding.
- Verify that the Code Type is Personalized and check your other settings, like the Default Code (fallback) and Allocation Method.
- When ready, choose one of the following options:
- Save: The promotion is saved as a Draft and will not be available for campaigns.
- Save and Activate: The promotion status becomes Active, making it available inside the Campaign Builder.
Integrating Your Promotion into a Campaign
An active promotion must be connected to a campaign to be distributed to customers.
- Navigate to the Campaign Builder.
- Set up your campaign details (name, audience, schedule, etc.).
- In the Execution Details section, click Add Promotion.
- From the list of available promotions, select the Personalized Promo Code promotion you just activated. Each customer in the target audience will now be eligible to receive a unique code.
- Turn on Conditional Execution.
Tracking and Monitoring Usage
You can track the usage and performance of all your promotions from the main Promotions lobby. This screen provides an at-a-glance overview of your promotions.
- Check Code Inventory: The Promo Codes (Used/Total) column is the best place to track your code supply. It shows how many codes are still available, a progress bar, and the exact number of codes used out of the total you uploaded (e.g., "43/100" means 43 codes have been used from a pool of 100). When the pool is empty, it will show 0 Available.
- Monitor Promotion Status: You can quickly see which promotions are Active and check other key details like the Code Type and Reward type directly from the list.
- Identify Fallback Usage: When a personalized code pool is depleted, the status may change to indicate that the fallback is now active (e.g., "Default Code On"). This signals that you may need to upload more codes for a future campaign.
- Find Promotions Easily: Use the Search bar and the date, status, and code type filters at the top of the page to find a specific promotion quickly. For example, filter to Personalized to see only personalized code promotions.
Use Case in Action: 48-Hour Loyalty Flash Sale
To see how these features work together, here is a breakdown of a 48-hour “20% off” flash sale for loyalty program members.
Prerequisites: First, you would create a "Percentage Off" Reward Type in Promotion Settings. Then, you would generate a list of unique promo codes (e.g., 50,000 codes for your 50,000 loyalty members) and save it as a .csv file.
Step 1: Promotion Details: Create a new promotion named "Loyalty Flash Sale 20%". You would select Personalized Codes, upload your .csv file, and enter a Fallback Code like "LOYALTY10" in case of any issues.
Step 2: Rewards: On the Rewards screen, you would select Single Reward and choose your "Percentage Off" Reward Type, entering "20" as the value.
Step 3: Budget & Constraints: You could set a Lifetime Audience Cap of 50,000 to ensure the promotion is limited to your intended audience size.
Step 4: Activate: After reviewing the summary, you would click Save and Activate.
Integration: In the Campaign Builder, you would create a new campaign targeting your "Loyalty Program Members" segment. In the execution channel (e.g., email or push notification), you would use a personalization tag to insert the unique promo code and attach the "Loyalty Flash Sale 20%" promotion.
For a detailed walkthrough on how to pull these unique codes into your email or push templates, see our guide on Using Data Connections to Personalize Templates with Promotion Properties.
Exporting Allocated Codes
The Export Allocated Codes feature allows you to download a CSV file containing a record of which unique codes were allocated to which customers. This is useful for auditing, compliance verification, and understanding how your codes were distributed across campaigns.
You can export at two levels:
- By Promo Code: Every allocation made for a given promo code, across all uploaded files.
- By File: Allocations from one specific uploaded file only.
Export by Promo Code
- Navigate to the Promotions lobby and click the promotion you want to audit to open the edit view.
- Scroll down to the Codes section.
- Click Export Allocated Codes.
- A CSV file will download automatically containing every allocation made for that promo code.
Export by File
- Navigate to the Promotions lobby and click the promotion you want to audit to open the edit view.
- Scroll down to the Codes section, where your uploaded files are listed.
- In the Actions column, click the three-dot menu (⋮) next to the file you want to export.
- Select Export Allocated Codes from the dropdown.
- A CSV file will download automatically containing only the allocations made from that specific file.
CSV Export Fields
The downloaded CSV contains the following columns:
| Field | Description |
|---|---|
customerId |
The ID of the customer who received the code. |
promocodeId |
The ID of the promo code. |
promotionId |
The ID of the promotion the code belongs to. |
fileId |
The ID of the uploaded file the code was drawn from. |
uniqueCode |
The actual promo code assigned to the customer. |
timestamp |
When the allocation occurred (in milliseconds). |
occurenceId |
The Optimove campaign occurrence that triggered the allocation. |
seriesId |
The Optimove campaign series the allocation is associated with. |
actionId |
The Optimove action that triggered the allocation. |
The occurenceId, seriesId, and actionId fields link each code allocation directly to the Optimove campaign that triggered it, making it easy to compare performance across different campaigns.
Common Use Cases
- Audit & Compliance: Need to prove which customers received which codes? Export the full allocation history for a promo code, or narrow it down to a single file, and share it with auditors or your compliance team.
- Troubleshooting: If a customer reports they never received a code, export the allocations and search for their customer ID to see exactly what was assigned and when.
-
Campaign Analytics: Use the
occurenceId,seriesId, andactionIdcolumns to filter allocations by campaign and compare code distribution across different Optimove campaigns. -
Demand Planning: Review the
timestampcolumn to understand when most codes were allocated, which is useful for identifying peak demand periods and sizing your code pools for future campaigns.