Skip to content
GPLWP Guides

How to create advanced coupons in WooCommerce

WooCommerce Time About 30 minutes 7 steps Updated 24 Oct 2026

WOOCOMMERCE
The short answer

WooCommerce can create percentage, fixed-cart and fixed-product coupons with spending, product, email and usage limits. For BOGO deals, auto-apply offers, vouchers, store credit or bulk codes, you need a coupon extension rather than core WooCommerce alone.

The route
  1. 01Define the promotion rules
  2. 02Enable and create a core coupon
  3. 03Add restrictions and usage limits
  4. 04Know where core WooCommerce stops
  5. 05Add advanced coupon behaviour
  6. 06Test the complete checkout
  7. 07Use a plugin for complex campaigns

What you need

  • A WooCommerce store with products and checkout configured
  • Administrator or shop manager access
  • A clear promotion, including its eligibility and expiry rules
  • A staging site or test order if the offer affects live pricing

Define the promotion rules

Write down what the customer must do and what they receive. Decide whether the offer is a percentage discount, fixed amount, free shipping, BOGO deal, gift voucher, store credit or an automatic discount. Also set the eligible products or categories, minimum spend, expiry date, allowed customers and whether other coupons can be used.

Be precise about quantities. A promotion such as ‘buy two, get one free’ needs different rules from ‘buy one, get one at 50% off’. Decide what happens when a customer buys four, and whether the deal can repeat in the same cart.

Enable and create a core coupon

For a standard coupon, go to WooCommerce > Settings > General and enable coupon use if it is not already active. Then go to Marketing > Coupons, select Add coupon, enter a code, choose a discount type and add the amount. WooCommerce core supports percentage, fixed-cart and fixed-product discounts.

Set an expiry date and decide whether the coupon grants free shipping. A free-shipping coupon only works when your shipping setup has a free-shipping method that requires a coupon; an ordinary coupon does not reduce shipping charges.

Add restrictions and usage limits

Use Usage restrictions to set minimum or maximum spend, included or excluded products and categories, sale-item rules, individual use and allowed email addresses. Use Usage limits to limit total uses, uses per customer or the number of qualifying items that receive a product discount.

Check the boundaries before publishing. A maximum spend can make a coupon fail when the cart is too large, and an allowed-email restriction is checked against the customer’s billing email. If you set both minimum and maximum spend, the minimum must not be higher than the maximum in current WooCommerce versions.

Know where core WooCommerce stops

The manual route is fine for one-off percentage discounts, fixed amounts, free-shipping codes, scheduled coupons and simple product or customer restrictions. You can manage these without another plugin.

Core WooCommerce does not provide the full rule set needed for features such as BOGO promotions, store credit, gift vouchers, automatic application, shareable coupon URLs or bulk coupon generation. You can build some of these with custom development, but that means maintaining cart and checkout logic and testing it after WooCommerce, theme or payment changes.

Add advanced coupon behaviour

For BOGO or quantity deals, use a coupon extension that can add a product to the cart and apply a chosen discount to it. For automatic offers, configure the trigger and enable auto-apply rather than expecting customers to type a code. For campaign links, use a shareable coupon URL; for personalised promotions, generate codes tied to a customer or email address.

Keep each rule narrow. A coupon that both adds a free product and discounts the cart can behave unexpectedly if it is allowed to stack with another coupon. Set individual use where appropriate, and exclude sale items or low-margin products explicitly.

Test the complete checkout

Test with an eligible cart and at least one ineligible cart. Check the code, expiry, minimum spend, product restrictions, billing email, usage limit, tax and shipping total. WooCommerce applies coupons to product prices before tax calculation, and normal coupons do not discount shipping.

Then test the awkward case that often breaks promotions: remove the qualifying product, change the quantity, add a sale item, apply a second coupon and try checkout as a guest. If the coupon appears to apply but fails at order placement, check email restrictions and the final cart conditions rather than relying only on the cart message.

Use a plugin for complex campaigns

If you need rule-based coupons regularly, Smart Coupons for WooCommerce Pro by WebToffee is a suitable next step. It adds BOGO deals, vouchers, store credit, auto-apply coupons, URL coupons, advanced restrictions and bulk code generation to the normal WooCommerce coupon workflow.

Use the manual route when your offer is a basic coupon. Choose the plugin route when the campaign depends on cart conditions, automatic application, gifts, customer-specific credit or repeatable promotion rules that would otherwise need custom code.

The fast route

Let Smart Coupons for WooCommerce Pro By WebToffee do it

Rule-based coupons with BOGO deals, vouchers, and store credit for more flexible promotions than basic WooCommerce coupons.

Get Smart Coupons for WooCommerce Pro By WebToffee

Sources

  1. woocommerce.com /document/coupon-management/?utm_source=openai
  2. woocommerce.com /document/smart-coupons/how-to-create-coupons-using-smart-co…

Questions

Can WooCommerce create advanced coupons without a plugin?
WooCommerce can create basic coupons without a plugin, including percentage, fixed-cart and fixed-product discounts with product, category, spend, email and usage restrictions. It does not provide a complete native system for BOGO deals, store credit, gift vouchers, auto-apply rules or bulk code generation, so those features require an extension or custom development.
How do I create a BOGO coupon in WooCommerce?
A BOGO coupon needs an extension that can add the free or discounted product to the cart when a qualifying product is present. Configure the qualifying product, the item added to the cart, the quantity and the discount percentage, then test what happens when the customer buys multiple qualifying items. Standard WooCommerce coupons do not include this workflow.
Why is my WooCommerce coupon not applying?
A coupon usually fails because the code, expiry date, spend range, product restriction, sale-item rule, billing email or usage limit does not match the cart. Check the final cart rather than just the product page, and remember that an ordinary coupon does not reduce shipping. Test with a deliberately eligible cart before changing the settings.
Can WooCommerce coupons apply automatically?
Core WooCommerce expects customers to enter a coupon code at the cart or checkout. Automatic application, including applying a coupon from a campaign URL or when cart conditions are met, needs an extension or custom code. If you use automatic rules, test whether the coupon is removed when the qualifying product or spend threshold is removed.
Do WooCommerce coupons discount shipping?
No, ordinary WooCommerce coupons apply to cart items and do not reduce shipping charges. To remove shipping cost, create a coupon with free shipping enabled and make sure the relevant shipping method is configured to require a coupon. Test the full order total because a product discount can reach zero while shipping remains payable.