With coupons, you can grant customers a discount in WooCommerce. For example, you can set up a percentage discount, a fixed cart discount, or a fixed discount on specific products.
You can also specify when a coupon may be used. For example, a discount can be restricted to specific products or categories, tied to a minimum order value, or made available only for certain email addresses.
You can find the voucher management in the WordPress backend under:
Marketing
→ Vouchers
Important: WooCommerce Core already includes extensive coupon management. Advanced features such as automatically applied coupons, free products, store credit, or special BOGO promotions, on the other hand, require additional extensions or custom adjustments.
Enable coupons in WooCommerce first #
Before you can use vouchers, the voucher function must be activated.
Open:
WooCommerce
→ Settings
→ General
In the voucher section, you activate the option to use voucher codes and save the settings.
After that you can under Marketing → Vouchers manage your vouchers and create new vouchers.
Create a new voucher #
Open:
Marketing
→ Vouchers
→ Add voucher
First, the voucher needs a Coupon code.
This is the code that your customer will enter later, for example, in the shopping cart or checkout.
A possible code would be:
WELCOME10
WooCommerce can also generate a coupon code for you.
Choose a code that is easy to read and enter correctly. A coupon only works if WooCommerce can match the entered code to a valid coupon.
The description is just for you #
You can add a description under the voucher code.
This description is intended for your internal administration and will not be displayed to the customer as part of the voucher.
You could note there, for example:
10 % Welcome Discount
for the Fall 2026 Promotion
Especially when you use multiple vouchers later on, a clear description helps you understand their purpose.
The three types of discounts in WooCommerce #
Under General you define the discount type. WooCommerce Core provides three options for this:
| Discount type | Effect |
|---|---|
| Percentage discount | Grants a percentage discount on the products for which the coupon is valid. |
| Fixed cart discount | Deducts a fixed amount from the cart. |
| Fixed product discount | Deducts a fixed amount per eligible product or item. |
Which type of discount you use depends on what your coupon is intended to achieve.
Create percentage discount #
A percentage coupon reduces the price of eligible products by a certain percentage.
For example:
Item Total:
CHF 200.00
Coupon:
10 %
Discount:
CHF 20.00
For a 10 percent discount, you simply enter in the coupon amount:
10
one.
You do not enter either the percent sign or a currency symbol.
Create fixed cart discount #
With a fixed cart discount, a specific amount is deducted from the eligible cart.
For example:
Goods value:
CHF 150.00
Voucher:
CHF 20.00
New goods value:
CHF 130.00
Do you choose as discount type Fixed cart discount and enter as the amount:
20
, the voucher grants a discount of CHF 20.00 on the eligible shopping cart.
Understanding fixed product discounts correctly #
At fixed product discount one detail is particularly important: The registered amount applies to every eligible item.
An example makes the difference clear:
3 T-Shirts
CHF 30.00 each
Fixed product discount:
CHF 5.00
Discount:
3 × CHF 5.00
= CHF 15.00
If you instead want a fixed discount of CHF 5.00 in total on the entire shopping cart, you must fixed cart discount use.
Note: „Fixed product discount“ does not automatically mean „a one-time discount on a product in the cart.“ The amount is applied per eligible item.
Add an expiration date to the voucher #
You can set an expiration date for a voucher.
After this date, the voucher can no longer be used.
This is useful, for example, in the case of time-limited promotions.
Promotion:
Autumn Discount
Valid until:
September 30, 2026
WooCommerce treats the coupon as already expired on the entered expiration date. Therefore, if a promotion is supposed to be valid up to and including a specific day, you should take this behavior into account when choosing the date.
Enable free shipping with a coupon #
A WooCommerce coupon can also be used for free shipping.
For this purpose, the voucher has the option Allow free shipping.
However, activating this option alone is not enough.
In the relevant shipping zone, the WooCommerce shipping method must also be added Free shipping be set up and configured so that a corresponding voucher can be used as a prerequisite.
The simplified procedure is therefore:
Coupon
„Allow free shipping“
+
Shipping zone
with „Free shipping“
+
Matching requirement
=
Free shipping with coupon
We explain how to set up shipping zones and shipping methods in the article Set up shipping zones, shipping methods, and shipping costs.
Important: A standard product discount or cart discount does not automatically reduce shipping costs. Shipping costs are not a standard cart line item.
Set usage restrictions #
A voucher does not have to apply to every shopping cart and every customer.
In the field of Restriction of use can you specify the exact conditions under which WooCommerce accepts the coupon.
WooCommerce Core offers several ways to do this.
| Setting | Meaning |
|---|---|
| Minimum order value | The voucher can only be used starting from a certain order value. |
| Maximum order value | The voucher can only be used up to a certain order value. |
| Apply only individually | The voucher cannot be used in conjunction with other vouchers. |
| Exclude discounted items | Products already on sale are excluded from the voucher. |
| Products | The voucher is only valid if certain products meet the conditions. |
| Exclude products | Certain products are excluded from the voucher. |
| Product categories | The voucher is restricted to products from certain categories. |
| Exclude categories | Products from certain categories are excluded. |
| Allowed email addresses | The voucher may only be used by the specified customer email addresses. |
You don't have to fill out all the fields. If you leave a restriction blank, the voucher will not be restricted based on this criterion.
Set minimum order value #
With the minimum order value, you can specify that a voucher is only accepted starting from a certain purchase amount.
For example:
Coupon:
10 % discount
Minimum order amount:
CHF 100.00
If the cart value relevant for the promotion does not reach this limit, the customer cannot use the voucher.
WooCommerce checks the minimum amount against the designated cart subtotal including tax. Other coupons are not simply deducted from the minimum amount in advance for this check.
Set maximum order value #
You can also restrict a voucher to a certain cart value.
For example:
Maximum order value:
CHF 500.00
If the cart value relevant for the voucher check is higher, the voucher is not valid.
This can make sense if a discount campaign is deliberately intended only for orders within a specific order value.
Prevent multiple vouchers simultaneously #
With Apply only individually or rather For individual use only You determine that this voucher may not be used in conjunction with other vouchers.
This prevents the following combination, for example:
Coupon 1:
10 % discount
+
Coupon 2:
CHF 20 discount
If your coupon is not to be combined with other promotions, you should enable this setting accordingly.
Exclude already discounted products #
WooCommerce can exclude products that already have a sale price from a coupon.
Are you activating Exclude discounted items, the voucher is not valid for corresponding sale products.
With a fixed cart discount, the coupon may also be invalid if the cart consists exclusively of excluded sale items.
This allows you to prevent an already reduced item from being discounted again by the same coupon.
Restrict voucher to specific products #
Under Products can you specify which products the voucher should apply to.
An example:
Coupon Code:
ZUBEHOER20
Discount:
20 %
Valid for:
Laptop Bag
USB-C Dock
Mouse
The discount will then be applied accordingly to the eligible products based on the type of voucher.
This function is helpful if an action should not apply to the entire assortment.
Exclude certain products #
Conversely, you can explicitly exclude individual products from a voucher.
This is useful, for example, when a general voucher is to apply to almost the entire shop, but individual products must not be discounted.
You don't have to enter all allowed products individually for this. Instead, you can specifically record the exceptions.
Limit voucher to product categories #
Instead of selecting individual products, you can also restrict a voucher to specific product categories.
For example:
Coupon:
SOMMER15
Discount:
15 %
Product Category:
Summer Clothing
This makes it easier to manage a discount promotion for an entire product group.
We explain how WooCommerce product categories fundamentally work in the article How to correctly use categories, tags, and attributes for products.
Exclude product categories #
The reverse procedure is also possible.
For example, you can create a general coupon and exclude a specific category from it.
Products from this category will not receive a corresponding discount.
Restrict coupon to specific customers #
WooCommerce Core offers under Allowed email addresses an easy way to restrict a coupon to specific customers.
There you can enter the email addresses for which the voucher should be valid.
WooCommerce checks the customer's billing email address in the process.
WooCommerce also supports a wildcard with an asterisk in this field. This makes it possible to whitelist an email domain, for example.
*@beispiel.ch
Such an entry allows matching billing email addresses for this domain.
Important: Advanced restrictions such as „new customers only“, specific user roles, or geographical rules are not part of these standard WooCommerce core settings. Additional extensions are required for this.
Set usage limits #
In addition to the conditions for a voucher, you can specify how often it may be used.
That is what the section is for Usage limits.
WooCommerce Core offers three important settings here:
| Setting | Meaning |
|---|---|
| Usage limit per voucher | How often the voucher may be used in total. |
| Limit usage to X articles | How many eligible items may be discounted by the voucher. |
| Usage limit per user | How many times a single customer may use the coupon. |
Usage limit per voucher #
This value limits the total number of uses.
For example:
Voucher:
START20
Usage limit:
100
After reaching the limit, the voucher can no longer be used.
If you leave the field blank, there is no set overall limit from this setting.
Limit discount to a specific number of items #
The article limit allows you to determine for how many eligible items the coupon will be applied.
This setting is particularly relevant for product discounts.
An example:
Cart:
5 eligible products
Item limit:
2
→ Discount will be applied to a maximum of
2 eligible items
If you leave the field blank, the voucher will be applied to all eligible items.
Usage limit per customer #
For example, with the per-user usage limit, you can set:
Usage limit per user:
1
This is intended to allow a customer to use the voucher at most once.
For logged-in customers, WooCommerce can use the user for verification. For guest orders, WooCommerce uses the billing email address to assign usage.
Note: A standard WooCommerce usage limit is a technical restriction within the store. If you need particularly complex rules against multiple uses or abuse, additional coupon extensions can offer more advanced checks.
Publish voucher #
If the discount type, amount, restrictions, and usage limits are correct, you can publish the coupon.
From this point on, the coupon code can be used in accordance with its specified terms.
Check again before publishing:
- Coupon code
- Discount type
- Discount amount
- Expiration date
- Products and categories
- Minimum or maximum order value
- excluded products
- Usage limits
Especially with percentage-based vouchers, you should check whether the discount actually applies to all desired products.
How does the customer use a voucher? #
The customer enters the coupon code in the designated coupon field in the shopping cart or checkout.
WooCommerce then checks the stored conditions.
If the voucher is valid, the discount will be applied to the eligible items and displayed in the calculation.
If a condition is not met, WooCommerce displays a corresponding message.
We explain how shopping cart and checkout basically work in the article Understanding Cart and Checkout in WooCommerce.
Why isn't a voucher working? #
If WooCommerce does not accept a coupon, it does not automatically mean that the coupon function is broken.
First check the conditions of the voucher.
Typical points are:
- Is the voucher published?
- Has it already expired?
- Has the minimum order value been reached?
- Has a maximum order value been exceeded?
- Is the product eligible for the voucher?
- Is the product or its category excluded?
- Is the product already discounted and are sale products excluded?
- Can the voucher be combined with another voucher?
- Has a usage limit been reached?
- Does the billing email address match with a restriction?
The error message in the shopping cart or checkout often already provides a hint as to which condition was not met.
Apply vouchers to manual orders #
An existing voucher can also be applied to a manually created or still unpaid order.
To do this, open the corresponding order in the WooCommerce backend and use the apply coupon function in the order items.
For that, you need the voucher code.
WooCommerce also takes usage into account when determining how often a coupon can be used.
We explain how to create and process such orders in the article Process and manually create order.
Vouchers and taxes #
WooCommerce takes coupons into account when calculating taxable product amounts.
Discounts are applied to the corresponding products before WooCommerce calculates the resulting taxes.
This is particularly important in the case of a fixed cart discount, because a flat-rate discount must be distributed across multiple order items.
We will cover the actual tax configuration in the article Properly setting up taxes and VAT in WooCommerce.
Important: WooCommerce provides the technical discount and tax calculation. You must determine which tax or legal rules apply to a discount in your specific business based on the regulations that apply to you.
A voucher for 100 percent? #
For percentage coupons, WooCommerce limits the actually applied discount to 100 percent. Therefore, a product price cannot fall below zero due to a coupon.
If a product is to become completely free, a 100 percent discount is the obvious limit for a standard percentage coupon.
However, that does not automatically mean that WooCommerce Core creates complex actions like „Buy Product A and get Product B for free“.
Such actions require additional logic or a corresponding extension.
What WooCommerce Core cannot do automatically #
Many tutorials on the internet show coupon options that are not present in a standard WooCommerce installation.
The reason is often that additional extensions are used there.
Functions like:
- Apply coupon automatically without code
- Automatically add free product to cart
- „Buy 2, get 1 free“
- Account balance or store credit
- Automatically send vouchers to customers
- Discounts based on a user role
- complex new customer rules
- extended geographical restrictions
do not belong in this form to normal WooCommerce core coupon management.
Such functions can be supplemented by extensions. When using a tutorial, you should therefore always check whether it shows WooCommerce Core or an additional coupon plugin.
Test voucher before publication #
A voucher should be tested before a real campaign.
Create a typical test order or test shopping cart for this purpose and check the voucher from a customer's perspective.
Do not only test the case where the voucher is supposed to work.
Also check at least one situation where he not may function.
Example: A voucher should only be valid from CHF 100.00. Test it once with an eligible shopping cart above the limit and once with a shopping cart below it.
For product or category restrictions, you should also test one permitted and one excluded item.
We will cover a complete review of the shop later in the article Testing a WooCommerce shop before launch: Test order and checklist.
What's next? #
Discounts affect the price of an order and therefore also the basis of calculation for taxes. That is why we will take a closer look at the WooCommerce tax settings in the next article.
We continue with Properly setting up taxes and VAT in WooCommerce.
Summary #
WooCommerce already has extensive coupon management built right into its core. You can percentage discounts, fixed cart discounts and fixed product discounts create.
Regarding the usage restrictions, you can restrict vouchers to specific order values, products, product categories, or billing email addresses, among other things, and exclude already discounted products.
With usage limits, you determine how often a coupon can be used overall or per customer, and to how many eligible items it can be applied.
A voucher can also enable free shipping. For this, the shipping method „Free shipping“ must also be appropriately set up in the respective shipping zone.
Advanced features like auto-applied coupons, free products, BOGO promotions, or store credit are not part of the standard WooCommerce core coupon management and require additional features or extensions.
Always test a voucher with different shopping carts before publishing it. This way, you can identify incorrect restrictions or unexpected discounts before real customers use the code.