With Uploaded Unique Discount Codes, you can upload your own list of coupon codes and automatically assign a different code to each visitor when your popup displays.
This feature works on all website platforms (Magento, custom websites, headless setups, etc.) — not just Shopify.
This feature is only available to users with a 2025 plan or newer. Upgrade to a new plan or reach out to Customer Success if you want to get access.
How It Works
You create a coupon list.
You upload a CSV file containing your unique codes.
You select that list in a discount block in a popup.
Each visitor who reaches the coupon step is assigned a unique code from your list.
Codes are automatically marked as assigned once displayed.
1. Managing Coupon Lists
Create a Coupon List
Go to Integrations → Uploaded Discount Codes and click Create list.
Each list includes:
Name (must be unique for your website)
Low stock alert threshold (default: 100 codes)
You can manage multiple lists for different campaigns (e.g. Black Friday, VIP Sale, Raffle, etc.).
Delete a Coupon List
You can delete a list unless:
It is used in an active campaign (archived or deleted campaigns don’t count).
It still contains codes (you’ll be warned before deletion).
If the list is used in a live campaign, you’ll see which campaigns are using it.
Uploading Coupon Codes
File Requirements
Your file must follow these strict rules:
Format: CSV
Max size: 50 MB
Columns:
1 required column for codes
1 optional column for custom text (see below)
The first row must be a header (Coupon or Coupon,Custom Text)
Example (1 column)
Coupon
WELCOME123
SUMMER456
VIP789
Example (2 columns with custom text)
Coupon,Custom Text
WINIPHONE,Congrats you won an iPhone!
KEYRING01,Sorry — here is a keyring for you.
Adding a Custom Text
If your CSV includes a second column for custom text, you can insert a dynamic variable inside your popup.
This allows advanced use cases like:
Raffles
Tiered prizes
Personalized winning messages
Example:
Code A → “Congrats! You won an iPhone!”
Code B → “Sorry — here’s a keyring.”
You can display the custom message before or alongside the assigned code in the success step.
Coupon Code Validation Rules
During upload, codes are automatically validated. A valid code must:
Be between 1 and 50 characters
Be unique within the list
Have no restriction on characters
Have leading and trailing spaces automatically removed
If:
A code is duplicated in the file → only one will be imported
A code is invalid → it will be ignored
After upload, you’ll see:
Number of codes imported
Number of codes ignored
Exporting a Coupon List
You can export your list as a CSV file. The export includes:
Coupon code
Status (Available / Assigned)
Upload date
Assigned date (if assigned)
Assigned to (email or phone — email preferred if available)
2. Using Uploaded Codes in Popups
In the popup builder, you’ll see three discount types:
1️⃣ Public discount code
Every visitor sees the same code that can be used multiple times.
2️⃣ Unique discount code from Shopify
Each visitor gets a Shopify-generated code that can be used once. (Only available for Shopify websites.)
3️⃣ Unique discount code from uploaded lists <-- Select this one
Each visitor receives a unique code from your uploaded CSV file.
Selecting an Uploaded List
When choosing “Unique discount code from uploaded lists”:
Select the coupon list you want to use
You cannot set a prefix (codes are used exactly as uploaded)
Shopify-specific options (apply to cart, redirect to cart, etc.) are hidden on non-Shopify websites
You can click “+ Upload new codes” to quickly go to the upload section
Remind your users about their discount code
You can add a tab that displays when the user closes the popup. If the user closes the popup on the step where the code is assigned to them, and they then click on the tab, this will reopen the popup and reminds them about their code.
3. Manage your codes
How Codes Are Consumed
A code is:
Assigned only when the visitor reaches the step where the coupon is displayed
Assigned in random order
Marked as “Assigned”
Linked to the visitor’s email or phone (if collected)
If a visitor doesn’t reach the coupon step, no code is consumed.
Low Stock & Automatic Suspension
To prevent running out of codes unexpectedly:
Low Stock Alert
When available codes reach your alert threshold:
All admins and editors receive an email notification
A warning appears in your dashboard
(Default threshold: 100 codes)
Critical Level (5 codes or fewer)
When available codes drop to 5 or fewer:
All campaigns using that list are automatically suspended
Admins and editors receive an email listing suspended campaigns
The dashboard clearly shows which campaigns were suspended
Best Practices
Upload more codes than you expect to distribute.
Set a realistic low stock alert threshold.
Use separate lists for separate campaigns.
If running a raffle, clearly label prize messages in your CSV.
Monitor assigned codes regularly if running high-traffic campaigns.
