Ticket Tiers & Promo Codes

Sell General/VIP/Early-bird pricing instead of one flat price, then use promo codes to unlock hidden tiers or hand out discounts.

Instead of one flat price, you can sell named ticket tiers — General, VIP, Early bird, whatever fits — each with its own price. Promo codes then let you reveal tiers that aren't publicly visible, or discount an order, without touching the tier itself.

Setting up tiers

On the event creation/edit form, in the Tickets & capacity section, click + Add a ticket tier to turn the single base price into a reorderable list. Attendees pick one tier at checkout; it sets what they pay. Each tier has:

  • Name and price — required.
  • Capacity (optional) — seats available for this tier. Leave it blank and the tier is bounded only by the event's overall shared capacity pool, not by a separate per-tier number — it isn't uncapped, it just draws from the same pool everyone else does.
  • Max per order (optional) — how many of this tier one RSVP can buy. Blank means no per-order cap.
  • Hidden — check this to keep the tier off the public event page entirely. A hidden tier only becomes visible/purchasable to someone who redeems a promo code that reveals it.

Drag tiers to reorder how they appear to attendees. Editing a tier's price later only affects future RSVPs — anyone who already checked in at the old price keeps what they were charged.

Add-ons (t-shirts, dinner upgrades, extras) work the same way and can be marked Hidden too — everything below about promo codes revealing "tiers" applies equally to add-ons.

Managing promo codes

Promo codes live on the event's own hosting page, not the creation form — you need the event to exist first. Go to your event's host page → Promo codes+ Add promo code. Each code is configured independently:

  • Code and label — the code is what attendees type in; the label is an internal note shown only to you.
  • Reveal hidden tiers/add-ons — tick which hidden items this code unlocks. If you tick an item that isn't already hidden, saving the code automatically marks it Hidden — a reveal only makes sense if the item wasn't publicly visible to begin with.
  • Discount — none, a percent off (1–100%), or a fixed amount off the order. You get a live price preview next to each tier/add-on as you set the discount.
  • Max redemptions — caps total uses across all attendees; leave it blank for unlimited. Per-attendee use is fixed at one redemption per person per code — there's no control to raise that.
  • Active — toggle a code off without deleting it. Inactive codes stop working immediately but keep their history.

What attendees see

On the event page, signed-in attendees see a "Have a code?" box. Entering a valid code immediately reveals whatever tiers/add-ons it unlocks and shows the discount, before they pay. The code and the discounted amount it produced are frozen onto the RSVP at that point — if you later edit the code (change the discount, deactivate it, lower max redemptions), that doesn't retroactively change what someone already paid.

Enforcement is atomic, not first-come-first-served at checkout

Seats, add-on stock, and promo code redemptions are all enforced at the moment an order is confirmed, not when someone starts checkout. Starting a checkout and not finishing it doesn't reserve anything. If two people race for the last seat in a tier, the last unit of an add-on, or the last use of a single-redemption code, exactly one of them gets confirmed — the other sees a "sold out" or "code limit reached" message and has to pick something else.

Related

Related articles