Create discount codes under Monetization → Catalog → Coupons. You can offer a percentage or fixed amount off a purchase, choose start and expiration dates, and set a minimum purchase amount.
Prepare and test the code before sharing it. Creating a coupon makes it active immediately unless you set a future start date; there is no separate Publish step.
Prepare your offer
Decide on the code, discount, dates, and minimum spend. Use a short, recognizable code such as SAVE20. Codes are saved in uppercase, and changing capitalization does not create a different code.
You need permission to manage coupons. If the Coupons tab is missing, ask your administrator to enable the Coupons commerce workflow in Pay hub → Overview → Commerce workflows.
Have a product and a working customer checkout ready. See Creating your first product and Getting started with payments.
Create a discount code
- Open Monetization → Catalog → Coupons and choose Add coupon.
- Enter the Coupon code and choose Percentage (%) or Fixed amount ($) under Discount type.
- Enter the Discount value. For example, enter 20 for 20% off or 5 for $5 off a USD purchase.
- Keep Scope set to All products, Payment method to Any payment method, and Applies at to Cart and checkout for a standard code. Review the limitations below before choosing other settings.
- Set an optional expiration date. Open Advanced options to add a start date or minimum purchase amount, then choose Create coupon.
The dialog closes after a successful save. Reload the list and check the code, discount, and expiration date. If Failed to create coupon appears, check that the code is unique and the required fields are filled in before trying again.
Closing an unfinished form offers Keep editing or Discard draft. Discarding removes the unsaved draft, not an existing coupon.
Choose an amount, dates, and minimum spend
A percentage reduces the eligible purchase amount proportionally. For a $50 eligible subtotal, 20% off gives a $10 discount. A fixed amount takes the stated amount off once: $5 off that subtotal leaves $45. Check shipping, tax, and any tip separately in the final checkout total.
The discounted purchase amount must remain above zero. A 100% discount, or a fixed discount equal to or greater than the purchase amount, is rejected. Use a separately configured free offer if you intend to give something away.
Start date begins at 00:00 UTC on the selected day. Expiration date remains valid through 23:59:59 UTC on that day. Account for the difference from your local time when announcing the offer. Leaving either field empty means no boundary at that end.
Minimum purchase (USD) is checked before the discount. For example, a $50 minimum lets an eligible $50 purchase use the code even when the discount takes it below $50. Test an amount just below the minimum as well.
For fixed discounts and minimum-spend offers, verify that the checkout uses USD. The dollar label in this form does not configure your checkout currency or convert the offer into another currency.
Understand which options work at checkout
Use All products without usage or customer restrictions for a standard coupon. The following form options currently cause checkout to reject the code:
- Specific products or Specific categories.
- Usage limit (optional) or Per-customer limit.
- New customers only.
The form displays a Not yet applied at checkout warning when you select these options. Do not publish a restricted promotion until your administrator has a supported way to enforce its terms. Removing a restriction changes the offer; only do that if an unrestricted promotion is what you intend.
Leave Automatically apply when conditions met unchecked. Selecting it alone does not make checkout discover and apply the code. Customers need a place to enter the code, or your storefront needs to supply it as part of checkout.
Check the intended payment flow
Any payment method and Cart and checkout give a standard code the broadest compatibility. They do not guarantee that every payment flow supports coupons.
For example, Stripe only can work with a direct Stripe checkout but be rejected in a cart that later pays through Stripe. Cart only and Checkout only can also reject a code at another step. Use those restrictions only after testing the exact customer journey.
Some direct crypto payment flows do not accept these codes. Codes created here also do not automatically become Stripe promotion codes for subscription checkout. For a subscription offer, arrange the promotion for that checkout separately and test its billing terms. See Creating subscription plans.
Apply the code before the checkout total is prepared. If you change the code or basket, return to the cart and start a fresh checkout rather than reusing an older payment page.
Test before sharing the code
Use a test site and a supported test payment setup.
- Open the customer storefront, add an eligible purchase, and enter the code where your checkout accepts it.
- Confirm the discount, currency, and final amount before payment. Check shipping and tax as well as the product subtotal.
- Complete a test purchase and compare the charged amount with the payment and order records.
- Try an invalid code and, if you set a minimum spend, a basket below that minimum. Confirm that the customer sees a clear rejection and can correct or remove the code.
- Repeat for every payment method and customer checkout you plan to include in the offer. Check scheduled start and expiration behavior before promising an exact promotion window.
Share the code only after those checks pass. State its discount, eligible checkout, minimum spend, and expiration clearly. Test one code at a time; do not promise that customers can combine codes.
Review or end a promotion
The list shows Code, Discount, Usage, Status, and Expires. An Active badge does not confirm that a code is within its dates or eligible for a particular purchase. Use the customer checkout to check redemption.
The list and summary counts may cover only the loaded coupons. A missing row does not prove a code was deleted. Usage and Redemptions are not a complete redemption report; review the related payment and order records when measuring an offer.
The current list has no edit, deactivate, or delete control. Ask your administrator to change or end a saved promotion through the site's supported management tools, then test that the old offer is no longer available. Add coupon creates a new code; it does not update an existing one.
Troubleshoot a rejected code
Check the spelling, dates, minimum spend, discount amount, and the options described above. A saved code can still be unusable at checkout, especially when it includes a restriction or reduces the amount to zero.
If there is no coupon field, ask your administrator which customer checkout supports the offer. Creating a coupon does not add a field to your storefront.
For help, provide the code, checkout URL, payment method, expected discount, and exact error. See Getting help and reporting a problem.