Skip to main content

Unique Discount Codes from Uploaded Lists

Anthony Denis avatar
Written by Anthony Denis
Updated today

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

  1. You create a coupon list.

  2. You upload a CSV file containing your unique codes.

  3. You select that list in a discount block in a popup.

  4. 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.

Did this answer your question?