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, by including the following string in a text block:
{{ wisepops.discount.text }}
Example:
The visitor will see his unique code and the custom text associated to it
Coupon code validation rules - 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. If a code is invalid → it will be 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
Select the block "Discount Code"
Then "Unique code from uploaded lists"
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)
Optional: 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. More information about unique 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. A Hidden field is automatically added to your form - filled with the generated code for that subscriber. This allows you to send this code to your email/phone integration database and include the unique code in your welcome email/sms.
If a visitor doesn’t reach the coupon step, no code is consumed.
Low Stock & Automatic Suspension
To prevent running out of codes unexpectedly:
Configurable Low Stock Alert
When available codes reach your alert threshold, all admins and editors receive an email notification. A warning also appears in your dashboard.
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 and display that message using the custom text variable in your popup.
Monitor assigned codes regularly if running high-traffic campaigns.









