Customer segments
Customer segments in the admin sidebar shows the audiences your discounts and campaigns can target. You never create a segment by hand: every mailing-list tag is automatically a segment of the same name, and two are built in and always present:
- Platypus signups — everyone confirmed on your mailing list via the public subscribe form (the
subscribetag). - Platypus sales — everyone who has bought tickets from you, whether or not they ever joined your mailing list. Buying never adds anyone to the list as a side effect.
Each segment shows a live count of the people it currently matches, plus whether any discount uses it. The count runs the same checks checkout enforcement runs, so the number you see is the number that applies. To add or rename a segment, add or rename the mailing-list tag behind it: renaming a tag renames its segment, and deleting a tag removes it. A tag whose segment gates a discount can't be deleted until the discount is removed or re-targeted, and the built-in segments can't be deleted at all.
Discounts live on the event
Discounts are managed per event, on the Discounts tab of the event form. The tab appears once Tickets are enabled (see setting up an event).
Every discount is a voucher code. It has a name that buyers see on their order, a value in percent or dollars off, and a code the buyer enters at checkout — nothing applies by itself. By default a code works for anyone who has it; restrict it to a segment and it only works for buyers whose email is in that segment. Who receives the discount is decided by who you give the code to, which also makes it easy to explain: put the code in a campaign, on a poster, or in a hand at the door.
A discount only ever applies to the events that carry it. Creating one from an event's Discounts tab attaches it to that event; another event can opt into the same discount with the tab's Add an existing discount picker, so "SPRING10 across three spring shows" is one discount on three events. Removing a discount from an event keeps the discount — it stops applying there, and nothing more. Deleting it removes it from every event, and the confirmation warns you when other events share it. Deactivating works the same way: the switch is on the discount, not the event, so turning a shared code off from one event turns it off everywhere — the confirmation names the other events first.
Creating a discount
New discount on the event's Discounts tab opens a two-step wizard:
- Set up — name, percent or dollar value, and the code. Suggest fills in a ready-made code from the name; type your own if you'd rather it read
BESTIES25. The code is for anyone who has it unless you expand Limit to a customer segment and pick one — each segment shows how many people it currently matches, and picking one that matches nobody warns you (buyers would be refused until people match). Use limits and a validity window sit behind Limits & dates, all optional. - Review & publish — the summary, an optional promo line for the event page, what buyers will actually pay per ticket type, and whether the discount starts active.
The review step's price preview is computed by the same code that prices real checkouts, so what it shows is what buyers pay — including the rule that a discount never takes a paid order below $0.50 AUD. There is no events step: the discount is for the event you started from. Editing an existing discount is a normal form that saves from the top bar, with the same price preview; when the discount is shared, the editor lists the other events it applies to, since your changes reach them too.
Voucher codes
A voucher code is 3–32 letters, numbers, and dashes, unique within your account. Case doesn't matter: save10 and SAVE10 are the same code.
Buyers type the code into the optional Voucher code field on the checkout selection step and press Apply to see their discounted total before reserving anything. A wrong, expired, or used-up code says so right there; a segment-restricted code asks for the buyer's email first, then answers for that address. Skipping Apply loses nothing — the code is checked and applied when the buyer continues. A code entered on an event that doesn't carry its discount is refused with This code cannot be used for this event. If an event carries no active discount at all, the voucher field doesn't appear on its checkout.
You can limit a code:
- Total use limit — how many paid orders can ever use it (e.g. "first 20 buyers").
- Per-customer limit — how often one email address can use it (e.g. once each).
- Valid from / until — a window outside which the code doesn't work.
Only paid orders count against the limits. An abandoned checkout doesn't use anyone's code. The Discounts tab shows each code's uses against its limit (e.g. 3 / 100).
Whether a code is actually working
The Status column on the Discounts tab answers the question the other columns dance around: would this code work if someone typed it right now? The discount editor shows the same status, next to the dates and limits that decide it.
| Status | What it means |
|---|---|
| active | Redeemable now, with no end date and no limit in sight. |
| active until 30 Sep | Redeemable now; the window closes on that date, in your venue's timezone. |
| starts 12 Sep | Switched on, but its window hasn't opened yet. Nobody can redeem it before then. |
| N uses left | Redeemable, but the total use limit is close — a warning tint, so a code about to run out doesn't surprise you mid-season. |
| limit reached | The total use limit is spent. Buyers are refused. |
| expired | The end of its window has passed. Buyers are refused. |
| inactive | You switched it off, and nothing else is blocking it. |
Limit reached and expired are tinted as warnings, because both mean the same thing to a buyer at checkout: refused.
When a code is both switched off and out of road — deactivated with an end date already past, say — the status names the harder problem. A row reading expired is telling you that switching it back on wouldn't help; extend the window, or lift the limit, first.
Two things the Status column can't tell you, because both depend on who is buying: whether a buyer has personally used up a per-customer limit, and whether their email is in the code's segment. For those, the buyer sees the reason at checkout when they press Apply.
What a discount has given away
Once a discount has been redeemed on paid orders, its row on the Discounts tab and its editor show the cumulative dollar value it has given customers: the sum of what buyers actually saved, counted from paid orders only. The dashboard's Next event card shows the same idea at event level — a Discounts figure with the total given away on that event, next to its undiscounted revenue.
One discount per order
An order carries at most one discount: the code the buyer entered. Discounts never stack, there is nothing to rank or compare, and a buyer who enters no code pays full price even if their email would qualify for a segment-restricted one. The discount always leaves at least $0.50 AUD payable (card minimum) — a voucher can reduce a paid order, never make it free.
Where discounts show up
- The optional promo line appears on the event page and checkout for everyone. It never reveals whether a particular visitor qualifies, and it only decorates the events that carry the discount; a code outside its validity window stops decorating prices.
- A buyer who applied a code sees it by name with the amount taken off — on the selection step's preview, above the card details, and on the order summary. In the rare case a code is used up in the moment between entering it and paying, checkout says the code could not be applied and shows the full price before any card details go in.
- Redemptions appear in the audit log. The Discounts tab shows each code's paid-use count and dollars given, and the sales report's CSV export includes the discount columns.
Duplicating an event never copies its discounts: the duplicate starts clean, so a limited code can't quietly extend to a show you didn't intend.
Seeing a code refused where it should work? Check the event carries the discount, the code is active and in its window, its limits aren't used up, and — for a segment-restricted code — that the buyer's email is actually in the segment (the segment page shows who matches). If the numbers still look wrong, email support@platypus.tickets with the event, the discount, and the buyer's email address.