How to create and manage coupons

Shoppers apply coupons by entering a code during WooCommerce checkout. Some coupons apply automatically when the cart meets specific conditions. The WooDonkey Companion plugin extends WooCommerce core coupon functionality, adding features like auto-apply, free gifts, and more flexible discount calculations. Promotions, found under Advanced Tools, are a separate product for automatic discounts that do not use coupon codes.

What it is

The Coupons section, found under Store in the sidebar, is your dashboard for managing WooCommerce coupons. The page title is ‘Coupons’ with the subtitle ‘Manage WooCommerce coupons – create, edit, delete, and bulk actions.’ You can create new coupons using the New Coupon button, view an existing list, or edit them through a dedicated dialog. This product focuses on coupon codes and free gifts, distinct from ‘Promotions’ which are automatic discounts managed under Advanced Tools.

How it helps you

Merchants can create and manage various discount strategies using coupon codes. This includes offering percentage or fixed-amount discounts, providing free shipping, or adding free gift products to qualifying orders. Coupons can be set to apply automatically based on cart conditions, removing the need for shoppers to enter a code. Shoppers benefit by receiving discounts or free items either by entering a provided code or by having the discount automatically applied to their cart.

What is included

  • Coupon List: Displays all your WooCommerce coupons with sortable columns for Code, Type, Discount, Usage, Start date, and Expiry.
  • Coupon Status: An ‘Expired’ badge appears next to coupons past their expiry date.
  • Quick Actions: Each coupon row includes an Active switch to enable or disable the coupon, along with Edit and Delete buttons.
  • Auto-apply and Free Shipping Indicators: ‘Yes’ appears in the Auto-apply and Free shipping columns for coupons with these features enabled.
  • Pagination: Control the number of coupons displayed per page (20, 50, or 100) and navigate through pages.
  • Search: Find coupons by their code using the ‘Search coupon code…’ field.
  • Bulk Actions: Select multiple coupons to Set expiry, Apply expiry, or Delete them.

New Coupon / Edit Coupon Dialog:

  • Coupon code: A required field for the unique code shoppers will enter.
  • Discount type: Choose between ‘% Discount’, ‘Fixed amount (cart)’, or ‘Fixed amount (product)’. Default is ‘% Discount’.
  • Discount value: The amount or percentage of the discount. Default is empty.
  • Calculate the percentage from: For percentage discounts, choose ‘The remaining price (after existing discounts)’ (default) or ‘The original price (before existing discounts)’. A helper explains how stacking percentages works. The ‘Original price’ option requires the WooDonkey Companion plugin.
  • Description: An internal note for your reference.
  • Start date & time: When the coupon becomes active. Default is ‘Starts immediately’.
  • Expiry date & time: When the coupon becomes inactive. Default is ‘No expiry’.
  • Valid only on purchases above / up to: Set minimum or maximum cart totals for coupon validity.
  • Total usage limit per coupon: The maximum number of times this coupon can be used overall.
  • Total usage limit per customer: The maximum number of times a single customer can use this coupon.
  • Free shipping: Check to grant free shipping when the coupon is applied. Default is false.
  • Exclude sale items: Prevent the coupon from applying to products already on sale. Default is false.
  • Combining with other coupons: Control how this coupon interacts with others. Options are ‘any’, ‘Cannot be combined with other coupons’ (which maps to WooCommerce’s individual use setting), or ‘selected’ coupons. Default is ‘any’.
  • Auto-apply in cart: Automatically apply this coupon when the cart meets its conditions. Default is false.
  • Recurring discount: Only available for ‘Fixed amount (cart)’ discount types.
  • Free gift products: Add products to the cart for free when the coupon is applied. Specify quantity and search products by name or SKU. Variable products cannot be added as free gifts.
  • Add the gift only when these products are in the cart: Optionally specify trigger products that must be in the cart for the free gift to be added.
  • Applies to products: Specify which products the coupon applies to (empty means all products).
  • Excluded products: Specify products the coupon does not apply to.
  • Applies to categories: Specify which product categories the coupon applies to.
  • Excluded categories: Specify product categories the coupon does not apply to.
  • Excluded attributes / brands: Specify product attributes or brands the coupon does not apply to. This feature requires the WooDonkey Companion plugin.
  • Email restrictions: A comma-separated list of email addresses allowed to use the coupon (empty means everyone).
  • Save Button: Disabled until a Coupon code is entered.

Toasts: Notifications appear for ‘Coupon deleted’, ‘Coupon enabled’, ‘Coupon disabled’, ‘Done ({{count}} coupons)’, and ‘Coupon saved’.

Error States: ‘No coupons found’, ‘Loading…’, and ‘Error’ messages are displayed as needed.

How to turn on and manage each capability

  1. Open Coupons: From the sidebar, navigate to Store, then click Coupons.
  2. Create a New Coupon: Click the New Coupon button.
  3. Set Basic Details: Enter a unique Coupon code. Select the Discount type and enter the Discount value.
  4. Configure Optional Features:
    Auto-apply: Check ‘Auto-apply in cart’ if you want the coupon to apply automatically without a code.
    Free Shipping: Check ‘Free shipping’ to grant free shipping.
    Free Gift: Under ‘Free gift products’, search for and add products. If the gift should only be given when specific products are purchased, search for and add those products under ‘Add the gift only when these products are in the cart’.
    Combining: Choose how this coupon combines with others under ‘Combining with other coupons’.
  5. Save the Coupon: Click Save. A ‘Coupon saved’ toast will appear.
  6. Enable or Disable a Coupon: On the main Coupons list, use the Active switch in the coupon’s row to enable or disable it. A ‘Coupon enabled’ or ‘Coupon disabled’ toast will appear.
  7. Set Expiry for Multiple Coupons: Select multiple coupons using the checkboxes. Choose Set expiry from the bulk actions dropdown, enter the expiry date and time, then click Apply expiry. A ‘Done ({{count}} coupons)’ toast will appear.
  8. Delete a Coupon: Click the Delete button in the coupon’s row. A confirmation dialog ‘Delete the coupon “{{code}}”?’ will appear. Confirm to delete. A ‘Coupon deleted’ toast will appear.
  9. Delete Multiple Coupons: Select multiple coupons using the checkboxes. Choose Delete from the bulk actions dropdown. A confirmation dialog ‘Confirm Delete {{n}} coupons?’ will appear. Confirm to delete. A ‘Done ({{count}} coupons)’ toast will appear.

What to know before you start

  • New Coupon Defaults: When creating a new coupon, the default settings are: ‘% Discount’ type, empty discount value, percentage calculated from ‘The remaining price’, auto-apply off, no recurring discount, no free gifts, no free shipping, and able to combine with any other coupons.
  • Recurring Discount Limitation: The ‘Recurring discount’ option is only available when the Discount type is ‘Fixed amount (cart)’.
  • Free Gift Product Type: Variable products cannot be added as free gifts. If you attempt to add one, it will be skipped on the storefront.
  • Auto-apply Free Gifts Without Trigger: If a coupon with a free gift is set to ‘Auto-apply in cart’ but has no products specified under ‘Add the gift only when these products are in the cart’, a warning will appear. The WooDonkey Companion plugin will prevent such gifts from being added to every cart to avoid unintended behavior.
  • Brand and Attribute Exclusion: To use the ‘Excluded attributes / brands’ feature, the WooDonkey Companion plugin must be active.
  • Promotions Combining: The ability for a coupon to combine with an active promotion is controlled by a separate setting within the specific promotion, not within the coupon itself.

Problems you may hit, and how to fix them

  • Symptom: A coupon is not applying as expected. Fix: Check if the coupon is Active (enabled), if its Start date & time and Expiry date & time are valid, if its Total usage limit per coupon or Total usage limit per customer has been reached, if ‘Exclude sale items’ is checked and the products are on sale, or if its ‘Combining with other coupons’ setting prevents it from being used with other active discounts.
  • Symptom: A free gift product is not added to the cart. Fix: Ensure the free gift product is not a variable product, as these cannot be given as free gifts.
  • Symptom: A free gift is being added to every cart, even when not intended. Fix: If the coupon is set to ‘Auto-apply in cart’ and has a free gift, but no specific trigger products are defined under ‘Add the gift only when these products are in the cart’, the WooDonkey Companion plugin will prevent the gift from being added to every cart. Add trigger products to ensure the gift is only given under specific conditions.
  • Symptom: The ‘Recurring discount’ option is missing. Fix: This option is only available when the Discount type is ‘Fixed amount (cart)’.
  • Symptom: You cannot calculate a percentage discount from ‘The original price (before existing discounts)’. Fix: This feature requires the WooDonkey Companion plugin.
  • Symptom: Searching for a coupon code yields no results. Fix: Double-check the spelling of the coupon code. The search is exact for the code field.
  • Symptom: You are prompted to confirm when deleting a single coupon. Fix: This is expected behavior. A dialog ‘Delete the coupon “{{code}}”?’ appears to prevent accidental deletion.
  • Symptom: You are prompted to confirm when deleting multiple coupons. Fix: This is expected behavior. A dialog ‘Confirm Delete {{n}} coupons?’ appears to prevent accidental bulk deletion.

Related reading