Sales & checkout

Discount codes

Create a percentage or fixed-amount discount code in three steps, let customers use it at checkout, and read its usage stats.

4 min readLast updated Oct 29, 2026

A discount code lowers the price when the customer types it in the checkout form. When you finish, you will have an active code, know how a customer applies it, and know where its results are tracked.

Create a code

1

Open Discount codes

In the sidebar open Offers → Discount codes (/discounts) and click Add coupon. The three-step wizard opens as a full page (/discounts/new) with a Back to discounts link in the top-left corner.

2

Step 1 of 3: The code

Type the Code (letters, numbers, dashes and underscores; it is stored in uppercase and customers can type it in any case). Under How much off? choose Percentage or Numeric and enter the value. For a Numeric code, also choose how the amount works when the customer buys several items: Whole order (the default) takes it off once across the products the code covers, Each item takes it off every item bought. Additional products are never discounted. In the Edit coupon drawer this choice is the Amount applies to field. Click Choose what it applies to →. A code that already exists is refused with Code already exists.

3

Step 2 of 3: What it applies to

Pick All products (including products you create later) or Selected products and tick the paid products from the list. With selected products you can additionally Limit to specific prices (optional); leave it empty to cover every price of those products. Click Set the limits →.

4

Step 3 of 3: Limits & launch

Optionally turn on Set usage limit (a number of uses) and Set time limit (Available from / Available to). For Stripe payments, Stripe duration decides whether the code applies Once (first payment only) or Forever (every renewal) of a subscription. Leave Active on and click Create discount code. You land on the code's own page.

The code's page

The page at /discounts/<id> shows the code with its value badge, an on/off switch, a copy icon (Code copied to clipboard) and an Edit button that opens the Edit coupon drawer. The code itself can never be renamed; everything else can be changed. Four tiles summarize results: Redemptions, Orders, Revenue with this code and Applies to. Orders that used this code lists every order with date, client, product, amount and status. Turning the switch off makes the code invalid immediately.

How a customer uses it

Customers need the promo-code field on the checkout: in the checkout editor, Form & UX tab, turn on Show promo code field. The same section lists the codes that apply to this product and offers Create discount code and Manage all codes. On the checkout page the customer clicks Add promotion code, types the code and clicks Apply; the price is reduced and a tag with the code appears. An inactive, expired or wrong code shows Invalid coupon code.

Good to know

Without a connected payment gateway only 100% (free access) codes can be created. A code that brings a one-time price to zero closes the order as a free order: the checkout skips the payment step and the customer gets access at once. On a subscription paid through Stripe the checkout still asks for payment details with such a code; with Once (first payment only) the first payment is free and renewals are charged at the full price, with Forever (every renewal) every payment is free. The wizard warns when a fixed amount would bring a price to zero (a 100% discount), and when a code would leave a price above zero but below the payment provider's minimum charge. A Stripe checkout refuses a code that leaves less than that minimum when the customer applies it (see Troubleshooting sales and checkout). A code used up to its usage limit stops working; the Redemptions tile then reads, for example, 5 / 5.

See also: Black Friday by the rules, on showing the lowest price from the last 30 days next to a code sent to everyone.

Was this article helpful?

Related articles

Spotted something off? Tell us at support@zanfia.com.