Appearance
Discount codes
Discount codes let you run promotions — early-bird deals, partner offers, press comps — without creating separate ticket types. You create the codes, set how much they take off and for how long, and attendees type them in at checkout. This page covers creating and managing codes on the Promo codes page and what buyers experience when they apply one.
BagEvent has two kinds of code, shown as tabs on the page:
- Discount — reduces the price of a ticket.
- Invite — grants free access to the tickets in its scope (used for invite-only or comp registrations).
The rest of this page focuses on discount codes; invite codes share the same scope, limit, and validity controls.
Creating a code
- Open Promo codes for your event.
- Choose Create code.
- Set Kind to Discount code.
- Pick how the codes are generated (see below).
- Choose the discount method and value.
- Set the ticket scope, usage limit, and valid period.
- Save with Create promo code — or Create and add another to keep going.
Generation methods
You don't have to type every code by hand. When creating (not editing), pick one:
| Method | Use it for |
|---|---|
| Manual | One code you name yourself, e.g. EARLYBIRD10. |
| Random | A batch of system-generated codes (up to 500 at once). |
| Upload | Paste your own list, one code per line. |
| Upload + remark | Paste code,remark per line (comma or tab) to attach an internal note to each code. |
TIP
Use Upload + remark when codes go out through different partners — the remark (e.g. the partner's name) travels with each code so you can tell later where a redemption came from.
Fixed amount vs. percentage
The discount method decides how the price is reduced. BagEvent offers four:
| Method | Effect |
|---|---|
| Amount off | Subtracts a fixed amount from the full price of each applicable ticket. |
| Percent off | Takes a percentage off the full price (1–100%). |
| Set to price | Charges each applicable ticket at a fixed price you choose. |
| Free | Waives the ticket fee entirely — the applicable tickets cost 0. |
- Percent off must be between 1 and 100.
- Amount off and Set to price take a money value (0 or more).
Choose the method that matches how you describe the promotion. "20% off" is a percentage; "$15 tickets for members" is Set to price; "$10 off" is Amount off.
Ticket scope
A code can apply to:
- All tickets — every ticket type on the event, or
- Selected tickets — only the ticket types you check.
If you choose selected tickets you must pick at least one. When a buyer tries a code against a ticket it doesn't cover, checkout tells them the code doesn't apply to their selection.
Usage limits & validity window
Usage limit
- Unlimited — the code can be redeemed any number of times.
- Limited — set a maximum number of uses. Once that many orders have used it, the code is exhausted and further attempts are refused.
The list shows redemptions as used / max (for example 12 / 100), so you can see how much of a limited code is left.
TIP
A limited code's uses are returned if an order that consumed it is later cancelled, expires unpaid, or is rejected in review — so a redemption that never becomes a real registration doesn't permanently burn a use.
Valid period
By default a code follows the ticket sale window — it's usable whenever the tickets themselves are on sale. To run a shorter promotion, untick Default sale period and set an explicit Valid from and Valid to (both are required if you set a custom window).
Outside the window, checkout rejects the code as not yet valid or expired, depending on which end it falls on.
Active status
Every code also has an Active / Inactive state, independent of its window. You can:
- pause a single code from its row (Pause / Activate), or
- select several and use Activate selected / Pause selected.
A paused (inactive) code is refused at checkout even if it's inside its valid window.
Uniqueness (the "already exists" error)
Codes must be unique within an event (case-insensitive). If you try to create or rename a code to one that already exists on the event, BagEvent refuses it with a discount code already exists error. Randomly generated codes are guaranteed unique automatically.
If you hit this, either choose a different code or find and edit the existing one instead of making a duplicate.
How attendees apply a code
Attendees redeem codes on your public registration page:
- They select their tickets.
- They enter the code in the discount / promo field at checkout.
- The order total updates to reflect the reduction.
- They complete the order (and pay the reduced amount, if anything is still owed).
The applied code is stored on the order and the attendee, so you can see it in the order and attendee details and in your data export.
Invalid, expired, and exhausted codes
At checkout BagEvent validates the code and gives a specific reason when it can't be used:
| Situation | What the buyer sees |
|---|---|
| Code doesn't exist / was deleted | Not a valid code |
| Code is paused (inactive) | Code is inactive |
| Before the valid-from time | Code is not yet valid |
| After the valid-to time | Code has expired |
| Limited code with no uses left | Code has no remaining uses |
| Code doesn't cover the chosen tickets | Doesn't apply to selected tickets |
| Order quantity below the code's minimum | Quantity below the discount minimum |
Managing existing codes
From the Promo codes list you can:
- Search codes by text.
- Edit a code by clicking its row (the code string can be changed, subject to the uniqueness rule).
- Pause / Activate, Delete, or do any of these in bulk with the row checkboxes.
- Export CSV — download all codes for the event with their reward, scope, used/max counts, remark, status, and (for invite codes) invite link.
WARNING
Deleting or pausing a code does not undo orders that already used it. It only stops future redemptions.
Related
- Tickets — the ticket types a code can be scoped to.
- Exporting data — see which codes were used, and by whom.
- Approving attendees — how a rejected registration returns its code use.
- Quick start