Coupons — discount codes
Creating codes, limits and expiry, and giving a referrer their own code.
Creating a code
LAUNCH20, PODCAST. It isn’t case-sensitive, so someone typing launch20 still gets the discount.Codes only do something on a course that costs money. If everything in your catalog is free, set a price first — the code starts working the moment there’s something to discount.
Percent or amount — and free
A 100% code makes the course free for whoever uses it — the cleanest tool for partners, press, podcast guests and JV swaps, because they still enroll properly and appear in your students list like any other learner.
Limits and expiry
If someone starts a checkout and abandons it, the use goes back on the shelf automatically — an unfinished order never eats one of your limited codes. The same happens on a full refund.
Giving a referrer their own code
The What each referrer drove table shows paid orders, revenue and discount given per person. Attribution is recorded from day one; actually paying a referrer runs through the credits program, which is still switched off platform-wide — turn it on in Referrals when you’re ready.
Turning a code off, and what you can edit
The discount itself can’t be changed after a code exists. Buyers may already be holding it, and quietly re-pricing a code people were promised is how disputes start — retire it and issue a new one. For the same reason a code that has been used can’t be deleted, only switched off: your order history has to stay explainable. A code nobody has used can be deleted outright.
From the API
coupon:write API key: GET/POST /admin/coupons, PATCH and DELETE /admin/coupons/{id}, plus GET /admin/coupons/referrers for the rollup — handy for issuing a code per affiliate at launch. See the API keys guide.