Guides WooCommerce Creating a Coupon in WooCommerce

Creating a Coupon in WooCommerce

A coupon in WooCommerce is a code a customer types at checkout to get money off. Setting one up takes about two minutes once you know where the screen is, and the only decision that really matters is the discount type, because two of the options look almost identical and one of them can give away several times more than you intended. This guide covers making a coupon, restricting who can use it and how often, and testing it before you tell anybody about it.

Coupons live under Marketing, not Products. In your dashboard go to Marketing, then Coupons. Plenty of tutorials and older articles will tell you to look under Products, because that is where they used to be years ago. If you have been hunting under Products and concluding your site does not have coupons, this is why.

Making a coupon

  1. Go to Marketing, then Coupons, and click Add coupon.
  2. Coupon code. This is what the customer types. Short and memorable beats clever, and it is not case sensitive, so SPRING20 and spring20 are the same code. Avoid letters and numbers that get misread out loud, such as a capital O next to a zero.
  3. Description. Only you ever see this. Use it. “Spring newsletter, expires end of April” saves you guessing in six months what SP20B was for.
  4. On the General tab choose the Discount type and enter the Coupon amount. Read the warning below before you pick.
  5. Set a Coupon expiry date if it should stop working on its own. Also read the warning about dates below, because this field does not behave the way most people assume.
  6. Publish. The coupon is live the moment you publish it, so if you are not ready for customers to use it, save it as a draft instead.

Choosing the discount type

There are three types on a normal store, and the difference between the last two is the single most expensive misunderstanding in WooCommerce.

Type What it does Example on a 5 item order
Percentage discount Takes a percentage off the order. Amount 10 gives 10% off the whole order.
Fixed cart discount Takes a set amount off the order, once. Amount 10 takes 10 off the order total. Ten in total.
Fixed product discount Takes a set amount off every qualifying item. Amount 10 takes 10 off each of the five items. Fifty in total.
Fixed product discount multiplies by quantity. This is not a quirk, it is what the setting is for, and it is the right choice when you genuinely mean “ten off every bag”. It becomes a problem when somebody picks it thinking it means “ten off this order”, because a customer who adds twenty items then gets two hundred off and the coupon works exactly as configured. If you mean a set amount off the whole order, you want Fixed cart discount. When in doubt, choose percentage: it scales with the order rather than against it.

The other two tabs

Usage restriction controls who and what the coupon applies to:

  • Minimum spend and Maximum spend. A minimum is the usual way to stop a discount being used on a single cheap item.
  • Individual use only. Stops this coupon being combined with any other. Worth ticking on anything generous.
  • Exclude sale items. ⚠️ Easy to forget and awkward when you do, because without it customers stack the coupon on top of items you have already reduced.
  • Products and Exclude products, and the same for categories. This is how you make a coupon that only applies to one range.
  • Allowed emails. Ties the coupon to specific email addresses. Useful for a goodwill gesture to one customer.

Usage limits controls how many times it can be used:

  • Usage limit per coupon. The total number of times anyone can use it. The safety net on a public code.
  • Usage limit per user. Normally set to 1 for a welcome offer.
  • Limit usage to X items. Caps how many items in one order the discount applies to, which is the other way to defuse the fixed product problem above.
Always set a usage limit per coupon on anything public. Codes get posted to voucher sites within hours, and a generous coupon with no limit is the one that turns a good week into a bad one. A limit is not pessimism, it is a cap you can raise in ten seconds if the promotion goes well.

Two things that catch people out

The expiry date is the day it stops, not the last day it works. A coupon set to expire on the 30th stops working at midnight as the 30th begins, so the last day a customer can actually use it is the 29th. If your promotion is meant to run to the end of the 30th, set the expiry to the 31st. This is worth getting right on anything you have advertised with a deadline, because customers who try on the final day will be told the code is invalid and you will hear about it.

Free shipping coupons need one extra step, elsewhere. Ticking Allow free shipping on the coupon does nothing on its own. Your store also needs a Free shipping method set up in the relevant shipping zone, configured to require a valid free shipping coupon. If you have ticked the box and shipping is still being charged, this is almost always why, and it is a settings change we are happy to make for you rather than something to go hunting for.

Test it before you announce it

Two minutes here saves a lot of apologising.

  1. Open your own shop in a private or incognito window, so you are not treated as a logged in admin.
  2. Add whatever the promotion is actually about to the basket, in the quantity a real customer would.
  3. Enter the code at the basket or checkout and check the discount figure, not just that it was accepted. A coupon can apply cleanly and still take off five times what you meant.
  4. If you set a minimum spend, test just below it too, and confirm it is refused.

Turning a coupon off

You have three options, and deleting is rarely the best one:

  • Set an expiry date. Cleanest for a planned end.
  • Move it to Draft. Stops it immediately and keeps it for reuse.
  • Delete it. Fine, but you lose it from your coupon reports, so you can no longer see how a past promotion performed. Past orders keep their discount either way.

To see how a coupon did, go to Analytics, then Coupons. See WooCommerce Analytics.

If your discount type list has far more than three options

Some stores run WooCommerce Subscriptions, which adds options such as sign up fee and renewal discounts to the same dropdown. If you see eight or ten entries rather than three, that is why, and nothing is broken. For ordinary promotions the three in the table above are still the ones you want. The subscription specific types only apply to subscription products and behave differently, so ask us before using one.

When to email us instead

  • Anything with a percentage above what you would be comfortable seeing repeated a hundred times.
  • Free shipping coupons, if the shipping method is not already set up for them.
  • Bulk generating unique codes, one per customer.
  • A coupon that needs to behave differently for subscriptions or memberships.
  • Anything you have already advertised and which is not working. Send it to us rather than experimenting on a live promotion.

What we need if something goes wrong

The coupon code, what you expected it to do, what it actually did, and an order number if a customer has already used it.

Still haven’t found what you’re looking for?

Let us know and we’ll do our best to help out!

Your Digital Marketing

Resource Centre

Have questions about paid ads, campaign optimisation, or platform features? Browse our knowledge base for step-by-step guides, FAQs, and expert insights to help you succeed.

Secret Link
SHARE YOUR CART