A coupon is a code the customer types into their cart to unlock a discount. The discount is built exactly like an automatic one; the coupon is just the key.
Step by step
- In the side menu, go to Catalog → Discounts and click New discount.
- In Basics, under How do customers get it?, choose With coupon code.
- Build the rest of the discount like any other (effect, products, condition, schedule, audience).
- On the Review step, click Save. Codes are only generated once the discount is saved.
- Reopen the discount from the list and go to the Review step. The Code section appears at the bottom.
- Click + Bulk coupons, fill in the Prefix and the Count (1-1000), and click Save.
- The system shows the generated codes. Copy them with the copy button on each row and hand them out yourself.
Codes are generated, not typed
You cannot choose the code. The system always builds the code as PREFIX-XXXXXX: your prefix, a hyphen, and six random characters. If you set the prefix WELCOME, you get something like WELCOME-K3M9PQ, not plain WELCOME.
- The suffix uses the alphabet
ABCDEFGHJKLMNPQRSTUVWXYZ23456789, with no easily confused characters (no 0/O, no 1/I). - You can generate up to 1000 codes per batch, all tied to the same discount.
- If you only want one code, generate a batch of 1.
Usage limits
With the discount engine, each code is created with one use per customer, and that is not configurable: the panel section shows it as a fixed value, "Uses per customer: 1".
- The same customer cannot redeem the same code twice.
- There is no global usage cap per code. If you hand a code to 500 people, all 500 can use it once each.
- The code has no expiry of its own. The only thing that retires it is the discount's schedule. If you want it to expire, give the discount a date-range schedule. See When it is active.
If you need a single-use code, generate one code per person with bulk generation (for example, prefix REF and 300 codes) and hand one to each.
Where the customer enters the coupon
The field is in the cart, next to the totals. The customer types the code and clicks Apply. If the code works, the cart shows "Coupon X applied" and the discount is already reflected in the total, with a button to remove it.
The wording changes with your store version, but the place is the same:
- New store: the field is called Discount coupon, with the helper text "Enter your code".
- Classic store: it sits inside the Order Summary block, below the total, and it is called Discount or promotion coupon.
The field only appears if your store has at least one active coupon. If you have not generated any code yet, or you disabled them all, nobody sees the field. There is no switch that enables it: generating the first coupon is what makes it appear.
Automatic or coupon-based: it is one or the other
How do customers get it? is an exclusive choice. A coupon discount never applies without a valid code in the cart, even if the customer meets everything else. If you want the promotion both ways, create two rules.
How uses are counted
- The use is recorded when the order is completed, atomically.
- If the order is voided, the use is given back.
- The "this customer already used it" check runs at order confirmation, not when the code is applied. That means the customer can apply the coupon, see the discount in the cart, and only get rejected when they confirm. This only happens if they had already redeemed it before.
Messages to the customer
When the code does not work, the message is generic: "Invalid or expired coupon" in the new store, "The coupon is not valid" in the classic one. That single message covers several different reasons: nonexistent code, mistyped code, disabled coupon, expired coupon and exhausted coupon. It does not tell you which one it is.
Two cases have their own message: "This coupon is only for new customers", when the coupon is first-purchase only and the customer already has orders, and "The coupon has already been used", when that customer already bought with that code.
If a customer reports "it tells me the coupon does not exist", check in this order: that they are typing the full code, suffix included, that the discount is Active, that it is within its schedule, and that the customer qualifies for the discount's audience. The Simulator lets you test the code against a real customer and tells you which of those four failed.
Deleting codes
Only Delete all exists: it wipes every code for that discount at once. There is no way to delete an individual code.
The semantics are the sensible ones: codes nobody used are deleted, and already redeemed ones are disabled instead of deleted, so you do not lose the record of who bought with what. Once disabled, the code stops working.
Handing out the coupons
The system does not send coupons. There is no screen for choosing who to send them to. You generate them, copy them with the copy button and distribute them yourself: by email, WhatsApp, printed or however you prefer.
If what you want is a benefit aimed at specific customers with no codes involved, an automatic discount with the audience narrowed to those customers is simpler. See Who it applies to.
There is a second coupon system
The platform still keeps an older coupon system in Settings → Marketing → Coupons. It is a different screen, with + Create coupon, where you do type the code by hand and choose between free shipping, a percentage or an amount, with cumulative, first-purchase-only and its own expiration date.
The two systems live side by side: a coupon created there does not show up in Discounts, and one created in Discounts does not show up there. If you cannot find a code, check the other screen. For new promotions it is better to use Discounts, which is where the whole engine lives (tiers, bundles, audiences, reports).
If you cannot find it
- You do not see the codes section in Review. It only appears once the discount is saved and is marked With coupon code. Save first, reopen it and go to Review.
- The customer does not see the coupon field. Your store has no active coupon. Generate at least one code.
- You created a coupon and cannot find it. Check whether you created it in Settings → Marketing → Coupons instead of in Discounts.
- You do not see "Discounts" in the menu. Sellers do not manage discounts. See Introduction.