Import coupon codes in bulk

Use External coupon limits when you distribute many individual coupon codes — for example one-time codes printed on flyers — and need to control how often each code can be redeemed.

Coupon code form with trigger and benefit settings
Review the code, benefit, applicability, and limits before distributing coupon codes.

Before you start

  • Prepare a CSV file with a `code` column and an optional `maxRedemptions` column. Rows without headers also work in the form `code,maxRedemptions`.
  • Every code in the file must be unique; codes are matched case-insensitively.
  • Decide the fallback limit for rows without their own `maxRedemptions` value.

Import the codes

  1. In the back office, open Settings > External coupon limits.
  2. Select Import.
  3. On the Import codes page, choose your CSV file. Rows may leave `maxRedemptions` empty to use the default below, or unlimited if no default is set.
  4. Optionally enter a Default redemption limit. Leave it empty for unlimited.
  5. Select Import.

The import is all-or-nothing: if any row has an empty or duplicate code or an invalid limit, no codes are created and the error is shown.

To add a single code instead, select Create and enter the Code, an optional Redemption limit, and the Active state.

Track redemptions

The list shows each code with its Limit, Redeemed, Reserved, Remaining, and Status (Active or Inactive), plus Recent redemptions linking to the order or receipt.

A code applied in an open cart reserves one redemption; completing the purchase turns the reservation into a redemption, and an abandoned or expired cart releases it. When the limit is reached, further attempts to apply the code are rejected.

Deactivate or archive codes

  • Edit a code and switch off Active to stop it without losing it from the list.
  • Archive a code (or several at once) to retire it: archived codes cannot be redeemed, but their redemption history is kept. Archiving can be undone from the archived list.

Expected result

Each imported code can be redeemed up to its limit; the list shows live redeemed, reserved, and remaining counts with links to the orders and receipts involved.

Troubleshooting

ProblemWhat to check
Import failsEmpty code cells, the same code appearing twice in the file, and non-numeric limit values.
Code is rejected at redemptionRemaining count, Status, archived state, and whether another open cart holds a reservation.
Code applies but gives no discountThe matching promotion in Settings > Promotions or the coupon setup in the POS system.
Counts look too highReserved redemptions from open carts — these are released when the cart expires.

Ready to Get Started?

Book a free demo or reach out — we’d love to hear from you.