Turn coupons on, then add the code
In WordPress admin, open WooCommerce, Settings, General, tick Enable the use of coupon codes and save. Then open Marketing, Coupons and choose Add coupon. You need an administrator or shop manager account; if Marketing is missing from the menu, the role has not been given coupon rights.
- Go to WooCommerce, Settings, General, tick Enable the use of coupon codes, and click Save changes.
- Go to Marketing, Coupons. A new store shows a prompt; choose Add coupon either way.
- Type the code in Coupon code, or click Generate coupon code. Letters, numbers and symbols such as & $ - @ are allowed, and the code is not case sensitive.
- Add a Description for your own records. Customers never see it.
- Pick a Discount type and enter Coupon amount as a plain number: 10 means ten, not ten percent or ten rupees.
- Set an expiry date if the offer ends, then click Publish.
Coupons are off by default on a new install, which is why the first attempt usually fails at the cart rather than at this screen.
Pick the discount type that matches the offer
WooCommerce ships three discount types. On the same ₹2,000 cart they behave differently, and the difference shows up on multi-item orders.
| Type | What it discounts | Example on a ₹2,000 cart |
|---|---|---|
| Percentage discount | A share of each eligible item | 10 fills 10%, so ₹200 comes off |
| Fixed cart discount | One amount off the whole order | 200 comes off once, whatever the item count |
| Fixed product discount | That amount off each qualifying item | 200 comes off every eligible item |
Use percentage for a catalogue-wide sale, fixed cart for a spend-and-save nudge such as ₹200 off above ₹1,500, and fixed product when one line needs a price cut. Ticking Allow free shipping adds free shipping to the coupon; it does not discount paid shipping on its own.
Cap the damage with usage limits and restrictions
Two tabs decide who may use the code and how often. Leave both blank and the code works for anyone, forever, on any cart size.
- Usage limit per coupon: total redemptions across all customers.
- Usage limit per user: how many times one customer may use it.
- Limit usage to X items: caps the items a percentage or fixed-product discount covers. It does not cap a fixed cart discount.
- Minimum and maximum spend: the cart subtotal range the code accepts.
- Individual use only: blocks stacking with other coupons.
- Exclude sale items: keeps the code off stock that is already discounted.
- Allowed emails: billing-email match, wildcards such as *@gmail.com are accepted.
In WooCommerce 11.2 and later, a minimum spend above the maximum is rejected when you save the coupon. If the save will not stick, lower the minimum or raise the maximum and save again.
The expiry date is the first day the code stops working, not the last day it works. A coupon that expires on 31 October is already dead on 31 October, so date it the day after the offer ends.
Test the coupon on a real cart before the sale
Publish, then test on the storefront in a private window. The admin preview does not calculate the cart the way a customer's browser will.
- Add eligible products to the cart and open the cart page or checkout.
- Enter the code in the coupon field and click Apply.
- Compare the discount line with the amount you intended. On a mixed cart, check that excluded items kept their full price.
- Build a second cart outside the rules, below the minimum spend or from an excluded category, and confirm the code is refused with a message.
- Place a test order and read the confirmation email and invoice. Both should show the discount line.
You know it worked when the eligible cart shows the exact discount, the ineligible cart is refused, and the order total and tax recalculate to the figures you expected.
Why a coupon is rejected at checkout
WooCommerce prints a reason with the refusal. Match that message to one line of the table before you edit anything.
| What the checkout says | What to change |
|---|---|
| Coupon does not exist | Spelling, or the coupon was deleted. Check the Marketing, Coupons list. |
| Coupon has expired | The expiry date has been reached. It stops working on that date. |
| Minimum spend not met | The cart subtotal is below the minimum. Coupons read the displayed subtotal, including tax when prices are shown with tax. |
| Not applicable to the products in the cart | Product or category rules exclude everything in the cart. |
| Usage limit reached | The total or per-customer limit is used up. Raise it only if the margin allows. |
| Coupon is not valid for your email | The billing email is not on the allowed list. |
| No coupon field at all | Coupons are still disabled under Settings, General. |
One cause is not on the coupon screen: a checkout block that hides the coupon field. Switch the field back on in the checkout block settings, then re-test the same cart.
Run a festive coupon without wrecking the margin
Diwali and Navratri bring the traffic spike, and an uncapped code meets it. Set the total redemption limit to the stock you can afford to discount, exclude low-margin categories, and run one code per channel so you can tell later which one paid for itself.
A discount reduces the item price before tax, so GST is charged on the discounted value. The invoice should carry the discount line so the customer's copy and your books agree; the GST invoice setup guide covers that field.
A hosting discount code is a different animal. It is a code a hosting company issues against its own plans, and it creates no coupon in your store. Do not mix the two when you report campaign results.
Where WebJi® fits
WebJi® hosts WooCommerce on Linux shared plans with cPanel, LiteSpeed and free SSL, from ₹300 a month before 18% GST. The coupon work is inside WordPress; what hosting decides is whether checkout still answers when the campaign traffic lands.
If your store is outgrowing a shared plan, e-commerce hosting and the WooCommerce plans list the disk, PHP and database limits. Ask our team before a sale week rather than during one.
Frequently Asked Questions
How do I create a coupon in WooCommerce?
Open WooCommerce, Settings, General and enable coupon codes. Then go to Marketing, Coupons, Add coupon, type a code, pick a discount type, enter the amount and publish. Test it on a cart before you share it.
Why is my WooCommerce coupon not applying?
Check the enable toggle first, then the expiry date, minimum spend, product or category rules, the usage limit and the allowed-email list. A cart outside any one of those is refused, and the message names the reason.
Can I limit a coupon to one use per customer?
Yes. Under Usage limits, set Usage limit per user to 1. Set Usage limit per coupon as well if the total matters, otherwise one customer can use it once while a thousand customers can still use it.
Does a coupon expire at the start or the end of the date?
At the start. A coupon with an expiry date of 31 October cannot be used on 31 October. Date it the day after the offer ends if you want the final day included.
Can I exclude sale items from a coupon?
Yes. Tick Exclude sale items under Usage restriction. A fixed cart discount can still apply when the cart holds a mix of sale and full-price items, so test that exact cart.
How do I create a free shipping coupon?
Tick Allow free shipping on the coupon and confirm a free shipping method exists in the shipping zone. The coupon waives shipping only; it does not cut the product price unless you also set a discount.

