Import promo codes from a CSV¶
Create many promo codes at once by uploading a spreadsheet of codes. Every code in the file gets the same discount and applies to the same events, checkouts, or products.
Who this is for
Hosts who need a batch of unique codes, for example one code per guest, sponsor, or partner, and don't want to create each one by hand.
Quick steps¶
- Put your codes in one column of a spreadsheet and save it as a CSV file.
- In the host dashboard, go to Promo Codes and click Import codes.
- Upload your CSV file and click Next.
- Map your codes column to Code.
- Set the discount type and amount.
- Choose what the codes apply to.
- Set a usage limit and an active timeframe if you need them.
- Click Finish import.
When the import finishes, your new codes appear in the promo codes table. A message at the top of the page confirms the import. If any codes weren't imported, the message lists them and stays until you close it.
Step-by-step walkthrough¶
1. Prepare your CSV file¶
- In Excel, Google Sheets, or Numbers, put one promo code per row in a single column.
- You can add a header in the first row (for example, Code). It is skipped by default.
- Save or export the file as CSV.
2. Open the importer¶
- In the host dashboard, go to Promo Codes.
- Click Import codes.
3. Upload your file¶
- Drag your CSV file into the upload area, or click to choose it.
- Click Next.
4. Map your codes column¶
- Above each column from your file, choose what the column holds.
- Set your codes column to Code.
- If your file has other columns, delete them with the trash icon. Only the code is imported.
- If your file has no header row, click the info icon on the first row so that row is imported as a code too.
Empty cells and codes that appear more than once in your file are highlighted in red. Fix or delete those rows before you continue.
5. Set the discount¶
- Choose Percentage or Fixed Amount.
- Enter the discount. Percentages must be between 0 and 100.
6. Choose what the codes apply to¶
In Apply Code To, pick one:
- All Products & Checkouts: the codes work everywhere.
- Specific Products / Checkouts: pick the events, checkouts, or products the codes work on.
- All Except Selected: the codes work everywhere except what you exclude.
7. Set usage limits and a timeframe (optional)¶
- Under Usage Limits, choose how uses are counted:
- Product Usage: each product the code is applied to counts as one use.
- Order Usage: each order the code is used on counts as one use.
- Enter the maximum number of uses, or leave it empty for unlimited.
- To limit when the codes work, check Set active timeframe and pick a start and end date. Codes start at 12:00 AM on the start date and stop at 11:59 PM on the end date, in your local time.
The limit applies to each code on its own. For example, Order Usage with a limit of 1 gives you single-use codes: each code works for one order.
8. Finish the import¶
- Click Finish import. If the button shows a message instead, fix what it describes first.
- Keep the page open while the codes are created. The progress shows next to Map Columns.
- When it finishes, check the message at the top of the Promo Codes page.
Every imported code starts as active. To change a single code later, open it from the table and edit it.
Troubleshooting¶
Some codes weren't imported
The message at the top of the Promo Codes page lists every code that wasn't imported, grouped by the reason. A code that already exists with the same discount and scope is the most common one. If the reason is a network or sign-in error, the import stops after a few failures in a row, and the codes it didn't send are listed too. Search the table for the code to check. To retry the others, put them in a new CSV and import again.
The Finish import button is grey
The button tells you what's missing. Common reasons:
- A column isn't mapped. Map it to Code or delete it.
- Some rows have errors. Fix or delete the rows highlighted in red.
- The discount is empty or a percentage is over 100.
- Specific Products / Checkouts is selected but nothing is picked.
- Set active timeframe is checked but a date is missing, or the end date is before the start date.
My codes lost their leading zeros
Spreadsheet apps often turn 0001 into 1. Format the codes column as Text before you type or paste the codes, then save as CSV again.