Discount Codes
Discount codes let you give customers a percentage-based or fixed-amount discount at checkout. Codes can be restricted to specific products, validity periods, or usage limits.
Form Fields
| Asetus | Kuvaus |
|---|---|
| Code | The discount code the customer enters at checkout. Maximum 50 characters. |
| Description | Optional internal description. Only visible in the dashboard. |
| Discount Type | Percentage discount or fixed amount. |
| Discount Percentage | The discount amount as a percentage. Used when the discount type is percentage. |
| Discount Amount | The discount amount as a fixed sum. Set separately for each currency. Used when the discount type is fixed amount. |
| Valid From | Optional. The code cannot be used before this date. |
| Expires | Optional. The code cannot be used after this date. |
| Usage Limit | Optional. How many times the code can be redeemed in total. |
| Max Per Customer | Optional. How many times the same email address can use the code. |
| Exclude already-discounted products | When enabled, the discount does not apply to products that already have a discounted price set on the offer. |
| Restrict to Products | Optional. When selected, the code only works for the chosen products. |
| Active | The code only works at checkout when this is enabled. |
How a Discount Code Works at Checkout
There is a dedicated field for entering a discount code in the checkout view. The customer types the code and confirms it — the price shown at checkout updates immediately to reflect the discount.
If the code is restricted to specific products but none of them are in the order, the code will not work and the customer sees a notification.
Some payment methods require the order total to be above a minimum amount. For example, Stripe requires a minimum of 0.50 €. If a discount code brings the total below the minimum, payment will fail. Keep this in mind especially when creating codes that can give large percentage discounts.
Reservation and Release System
When a customer enters a discount code, the system temporarily reserves one usage. This ensures that the usage limit holds even when multiple customers are at checkout at the same time.
The reservation is active as long as the customer is actively at checkout. If the customer does not proceed to payment, the reservation is released automatically after a few minutes, freeing up that usage for others. If the customer proceeds to payment, the reservation is extended to 2 hours — if payment is not completed and the customer does not return to checkout, the usage is only freed after two hours. If the customer returns to the checkout before completing payment, the reservation reverts back to a few minutes.
When payment is confirmed, the reservation becomes a permanent redemption and is recorded in the code's usage history.
If the customer removes the code at checkout, the reservation is released immediately. If the customer closes the browser window, the reservation is released after a few minutes.
Add-on Sales
An add-on sale is a separate product you can attach to an offer. It is created first as a standalone element, then attached to an offer with a position — Order Bump (inline at checkout before payment) or Pre-upsell (after form submission, before the payment method view).
Pricing
Products, offers, and add-on sales each have a price set per currency. Each currency has a regular price and an optional fixed discounted price.