Coupons are a great way to offer discounts and rewards to your customers, and can help promote sales across your shop.
To use coupons with WooCommerce.
- Go to: WooCommerce > Settings > General > Enable coupons
- Tick the checkbox to Enable the use of coupon codes.
- Save Changes.
More info at: Configuring WooCommerce – General options.
Adding a coupon
Add coupon code and description
To add a coupon:
1/Go to: Marketing > Coupons.
- A fresh installation of WooCommerce will show you an initial screen to create a coupon or to learn more.
- Existing stores start on the Coupons screen.
2/ Create a new coupon by selecting Add Coupon. Or hover over an existing one to Edit.
3/ Enter or generate a Coupon Code. The code is used by the customer to apply the coupon and associated discount. Must be unique as it’s used as an identifier.
- Your code – Enter any alphanumeric code you wish. Coupons are not case sensitive
- Any code – Select the Generate Coupon Code button if you want WooCommerce to auto-create and enter a coupon code via algorithm.
4/ Enter a Description (optional) — Info about the coupon for internal use. For example: Name of promotion/event, dates in effect, compensation, ticket number, customer name.
Under Coupon Data, there are three sections you can use to add restrictions and limits for the coupon: General, Usage Restriction, and Usage Limits.
- Discount type :
- Percentage discount – A percentage discount for selected products only. For example, if the cart contains three (3) t-shirts @ $20 each = $60, a coupon for 10% off applies a discount of $6.
- Fixed cart discount – A fixed total discount for the entire cart. For example, if the cart contains three (3) t-shirts @ $20 each = $60, a coupon for $10 off gives a discount of $10.
- Fixed product discount – A fixed total discount for selected products only. Customer receives a set amount of discount per item. For example, three (3) t-shirts @ $20 each with a coupon for $10 off applies a discount of $30.
- Coupon amount – Fixed value or percentage, depending on discount type you choose. Entered without a currency unit or a percent sign, which are added automatically, e.g., Enter ’10’ for £10 or 10%.
- Allow free shipping – Removes shipping cost when coupon is used. Requires Free Shipping to be enabled.
- Coupon expiry date – Date the coupon should expire and can no longer be used. Expiry happens at 12:00 am or 00:00 on the date chosen. If you want a coupon to be valid through Christmas Day but invalid the moment Christmas is over, set the expiration date to YYYY-12-26 as it will expire on YYYY-12-26 00:00. It uses your site’s time zone setting at Settings > General > Timezone in Ideakit.
- Minimum spend – Allows you to set the minimum subtotal needed to use the coupon. Note: The sum of the cart subtotal + tax is used to determine the minimum amount.
- Maximum spend – Allows you to set the maximum subtotal allowed when using the coupon.
- Individual use only – Tick the box if you don’t want this coupon to be used in combination with other coupons.
- Exclude sale items – Tick the box if you don’t want this coupon to apply to products on sale. Per-cart coupons do not work if a sale item is added afterward.
- Products – Products that the coupon will be applied to, or that need to be in the cart in order for the fixed or percentage discount to be applied.
- Exclude products – Products that the coupon will not be applied to, or that cannot be in the cart in order for the “Fixed cart discount” to be applied.
- Product categories – Product categories that the coupon will be applied to, or that need to be in the cart in order for the fixed or percentage discount to be applied.
- Exclude categories – Product categories that the coupon will not be applied to, or that cannot be in the cart in order for the “Fixed cart discount” to be applied.
- Allowed Emails/Email restrictions – Email address or addresses that can use a coupon. Verified against customer’s billing email. WooCommerce 3.4+ also allows you to include a wildcard character (*) to match multiple email addresses, for example, `*@gmail.com` would make any gmail address.
- Usage limit per coupon – How many times a coupon can be used by all customers before being invalid.
- Limit usage to X items – How many items the coupon can be applied to before being invalid. This field is only displayed if there is one or more products that the coupon can be used with, and is configured under the Usage Restrictions.
- Usage limit per user – How many times a coupon can be used by each customer before being invalid for that customer.
Once you’ve configured all settings, select Publish and your coupon is ready to use.
If you do not want the coupon to be immediately available, you can schedule it to become available on a future date/time using the option in the Publish settings:
Sending a coupon
Once coupons are published, go ahead and make available to customers: Copy the title and send, advertise it via email, social media and onsite banners.
Applying a coupon
From WooCommerce 3.2+, coupons can be added to or removed from orders in the Edit Order screen. Orders must be unpaid and you need to know the coupon code you wish to apply.
How do coupons impact tax calculations?
Coupons are applied to the product price before tax is calculated. To make sure taxes are then calculated correctly due to rounding, we need to split the discount across all items in the cart rather than remove an amount from the total.
When you split a discount across the cart, naturally, half values could occur that in turn can cause rounding issues once everything is summed up.
To help prevent this, we only use cent values. Once split between items, any remainder is applied one line item at a time until exhausted. The final total will then total the applied discount total. This is most important for fixed cart discounts.
How do coupons impact shipping calculations?
Coupons are applied to individual products or the items in the cart. Shipping Rates are not cart items so coupon discount will not be applied to shipping. e.g. a A $50 coupon applied to a $40 product with a $10 Flat Rate shipping will only discount $40. The order will still cost $10.
Can I customize the Generate Coupon Code function?
Yes, if you are a developer, it’s possible to customize the JS-driven Generate Coupon Code functionality by specifying length of code, and add a prefix and/or suffix. The Core team intentionally excluded characters that could be ambiguous or difficult to read.