Everything You Need to Know About Coupons in Woocommerce

I’ve recently updated this post to include some popular plugins that extend the functionality of coupons near the end of this article. While some of these plugins have a PRO version, and that has been provided to me for free, this in no way has affected the way I’ve reviewed them here, nor do I get any compensation should you decide to buy one.

big discounts on Koopa Troopas all week!

Right out of the box, Woocommerce comes with a great setup for creating coupons. No additional plugins required to do just about everything you’d want and most customers would expect when working with coupons.

Percentages, dollar amounts, minimum order requirements, applying coupons only to particular products or even restricting them to specific users, it’s all right here and ready for us to roll with. Enough with the introductions, though, let’s look at how it all works!

How to Enable Coupons in Woocommerce

You first need to enable coupons in Woocommerce before you can begin creating them.

One you’re logged into WordPress’ WP Admin area, go to Woocommerce > Settings > Checkout tab.

screenshot showing where to find the " Enable the use of coupons" checkbox in Woocommerce.

You can also choose to add them one after another here via the second checkbox. If you don’t check this, for example:

The user has a cart of $100.

He has two coupons, one for $10 off and one for 20% off. With the box unchecked, the math works like this.

$100 x 20% = $20 off
$100 - $10 = $10 off
$20 off + $10 off = $30 off total
$100 cart - $30 off total = $70 total after coupons

If you leave it checked, it works like this:

$100 - $10 off = $90
$90 x 20% = $18 off
$90 - $18 off = $72 total after coupons

Where is the coupons section in Woocommerce?

Firstly, let’s find the spot where we setup coupons in the first place.

Once you’re logged into WP, just go to Woocommerce > Coupons. Easy enough, eh?

screenshot showing where the coupons section is in Woocommerce
In WordPress’ WP-Admin, just go to Woocommerce and then choose Coupons.

Woocommerce Coupons: The Basics

screenshot of Woocommerce  edit / create coupon section
This is the only screen you absolutely need to create a coupon in Woocommerce.

Coupon code, that big field at the top, is the actual text your customers will enter to redeem their coupon. It is the coupon code, and it’s not case sensitive. So if you enter freeshipping here, your customers can still type in FREESHIPPING, FreeShippIng, etc.

The Description is just for your own reference and won’t be shown to customers at any point.

Under Discount type you can choose from four types:

Percentage Discount
This will deduct a percentage amount from the cart’s total. Example: the user’s cart is for $100, the coupon is for 20%, and after applying the coupon, the user pays $80 ($100 – 20%).
Fixed Cart Discount
A specific dollar amount that will be deducted from the cart’s total. Example: the user’s cart is for $50, the coupon is for $10, and after applying the coupon, the user pays $40.
Fixed Product Discount
A specific dollar amount that will be deducted from a single product’s total, and you’ll set the product later in the process. Example: a user buys socks and a shirt, there is a coupon for $10 off a shirt, so since the user has a shirt in his cart, $10 is deducted from his cart’s total. If he didn’t have a shirt, the coupon wouldn’t work.

Note that plugins–like Woocommerce’s Subscriptions–may add additional options here. Additionally, as noted in the comments below, there were different options in prior versions of Woocommerce. The list above is accurate as of 3.3.5 There are a plethora of plugins that can extend this: Woo Discount Rules, Woo Discounts Plus, Woo Show Product Discount, and Woo Extended Coupon Features.

Coupon amount is the big one, where you enter the actual $ or % amount to be deducted from the cart, based on the choice you made above. Just enter a number, no need for the dollar or percentage signs.

If you’d like to offer Free shipping, check the next box. You’ll also need to go to Woocommerce > Settings > Shipping and then setup a shipping zone with a free shipping option for this to fully work. More on shipping zones here.

Finally, you can set a Coupon expiry date if you’d like to limit the length of time a coupon will last.

Once you’ve got that all setup the way you’d like, just click Publish or Update near the top of the right column on the screen. Bam baby, you are ready to disseminate that coupon code throughout the web and make your millions!

Fine Tuning Usage Restrictions on Woocommerce Coupons

Aside from setting up when a coupon will expire, if you click the Usage Restrictions tab, you can add even more qualifiers on what it’ll take for a coupon to actually work.

screenshot of usage restrictions options in Woocommerce
Imagine this screen was a beautiful beach at sunset, and now let’s take a long walk down it.

In the example above, I’ve set the Minimum spend to 100, so a customer who wants to use this coupon code will need to spend at least $100 for the coupon to work. This is useful if you’re giving, for example, $25 off but want to make sure they spend enough to still throw a little profit your way.

Similarly, if they spend over $500, the Maximum spend parameter will kick in and the coupon won’t work. This is useful if you’re doing, say, 20% off and don’t want to lose $1000s of dollars when some baller comes in and drops $20k in your store.

Individual use only prevents this coupon from being used when another one is already applied, or applying additional coupons after this one was already added.

Exclude sale items, when checked, will keep this coupon from being applied to anything you’ve marked as on sale in the Product editor.

With the Products box, you can begin typing the name of one or more of your products and then select them from the dropdown that appears. If you’ve chosen Cart Discount or Cart Percentage from the Discount type dropdown on the General tab, entering a product here will mean that the customer has to have that product in the cart, but the discount will still be applied to the entire cart.

Otherwise, if you chose one of the Product type discounts from the Discount type dropdown, then this is where you set which product the coupon applies to. If the customer doesn’t have that product in their cart, the coupon doesn’t work. If they have that product and others, the discount is only applied to that product.

You can set as many products here as you’d like.

You can also Exclude products, so maybe you sell t-shirts and a refrigerator, and only want the 50% off coupon applied to your t-shirts, but don’t want to type them all in to the box above, you could just type in refrigerator here (assuming that’s the name of your product), to easily exclude it.

Product categories can be used to apply coupons to entire categories. In our refrigerator vs. t-shirts example above, maybe all of our t-shirts are in a category called “clothes”. We just type in clothes here, and bam, the coupon will only work for items in that category.

Inversely, we could type refrigerators into Exclude categories. All of this is dependent on you actually having setup categories, but this is a great way to do things like, “80% off all Summer Sale Items”, where you create a category called “Summer Sale” and put whatever items you’re looking to promote during the sale into that category.

And perhaps most awesomely, we can even limit a coupon to a specific customer by entering their email address in the Email restrictions box. Give Mic 50% off on microphones and Keith $10 off custom guitar strings just to say thanks, you know?

Usage Limits on Woocommerce Coupons

We can further limit how often our coupons can be used on the next tab, Usage Limits.

Enter a number in Usage limit per coupon. Once the coupon has been used to complete the checkout process that many times, no matter who has used it, it will no longer work.

Give Limit usage to X items a value if you want to restrict how many items the coupon can apply to. So say a user has 200 items in their cart, and the coupon is for 15% off, but you only want it to apply to 150 items max…enter 150 here.

Finally, Usage limit per user restricts how many times any one customer can use a coupon. So maybe you want to give 50% off to all customers, but only allow each one to use that coupon once, just enter a 1 here.

Beyond Woocommerce’s Built in Functionality

With the information above, and what’s built right into Woocommerce completely free, you can do just about anything most store owners will need to create sales and make customers happier. However, there are some other popular ideas we’ve become familiar with on e-commerce stores that you might be looking for. These require you to buy an extension from Woocommerce. As of this writing, there are about 35 extensions on the official woocommerce.com site that relate to coupons.

Some of the more popular ideas are to offer Product Bundles, so you can bundle, say, the wheels, trucks, hardware and deck to create a complete skateboard, and when a user chooses this bundle, they get some discount (set by giving the product bundle it’s own price, which would theoretically be cheaper than purchasing all the products individually).

While not exactly a coupon, there’s a plugin called Affiliates Pro which allows you to give codes / links out to other people–marketers, bloggers, etc.–who can then use that link to send people back to your site and earn a commission from you when they generate sales.

You can also offer your customers a discount for leaving a review, offer free gifts or supercharge coupons in general.

Examples of Useful Woocommerce Coupons

Let’s run a few real world scenarios to see how we can take care of some common needs store owners might have.

First 50 Customers Get 20% Off

You want to reward customers who act fast, here’s how:

  1. We’ll create a coupon and call it FIRST20
  2. Let’s make it a Cart % Discount and enter 20 into the Coupon amount field.
    examples of what we're describing here
    This is what you should have at this point.
  3. On the Usage Limits tab, enter a 50 into the Usage limit per coupon, and a 1 into Usage limit per user (assuming you don’t want any given customer to be able to purchase more than one with this offer. screenshot showing the correct inputs as described in this step
  4. Publish the coupon and you’re good to go!

You can change those values to whatever you’d like.

50% Off All Summer Apparel

It’s the middle of summer and you want to get ready to start stocking up on Fall gear, so you need to move some clothing before it’s too chilly out there to wear those skimpy summer affairs.

  1. Thenet’s create a new coupon and call it summersizzler.
  2. Discount type should be Cart % Discount, and Coupon amount will be 50.
  3. In the Coupon expiry date field, enter the date you consider the end of summer. Here, it’s the last day of August, 2016.
    screenshot of the form with the inputs as outlined above
    This is where you should be at this point.
  4. On the Usage Restrictions tab, we have two choices, depending on how our store is setup:
    1. If all of our “Summer Apparel” is already in a category, we can just type the name of that category into the Product categories field. This is probably the best way to do it.
    2. Or perhaps if you’ve only got a few products, say three or four shirts or something, you could just type those directly into the Products field.
  5. Publish your coupon and you’re good to go!

WordPress Plugins that Extend Coupon Functionality

Smart Coupons for Woocommerce

This is a free plugin available on the WordPress Plugin Repository, with limited functionality compared to their Premium offering. You can get the free version of Smart Coupons for Woocommerce here.

Once you go to Plugins > Add New > Upload in your WP Admin area, install and activate the plugin, you’ll see a link to manage the plugin’s settings right there on the plugin page:
screenshot of the functionality described here

Clicking this highlights the Dashboard menu item in the left column, so it seems that this settings link in the plugins page is the only place to access these settings.

The plugin offers some styling settings on that initial page, like so:
color settings of smart coupons plugin

Clicking the Coupon tab near the top left will take you to the normal Woocommerce Coupons page, where you can edit, create and delete coupons. If you don’t already have a coupon, click Add Coupon near the top of the page, or edit an existing coupon. Here’s what the free version adds:

General Settings

If you haven’t reviewed this area yet, it’s covered earlier in this article. This plugin adds the following checkboxes:
smart coupons for wordpress general settings additions

Apply coupon automatically will apply the coupon automatically if certain conditions are met. More on that below.

Show in My account will show the coupon, under a new tab, in a customer’s account, similar to this:
my coupons section of woocommerce

Usage Restrictions

New options are added here as well.

Product Conditions can now be toggled between “Any” and “All”. This is quite useful as it allows you, buy using the “All” feature, to say, “If a customer bought the Red T-shirt and the Green Ballcap, this coupon applies.” This allows you to setup coupons like “Buy the Red T-shirt get the Green Ballcap free!” by essentially making the price of the ballcap the fixed cart discount price.

A similar feature is included for Category Conditions.

The plugin also adds Matching Products conditions, including the following:
matching products options

The min / max quantity fields allow you to enter a number, i.e. 10, and then only if the customer buys 10 of the total allowed products, the coupon will be applied. In conjuction with Apply coupon automatically, on the General tab, this could allow you to automatically provide bulk pricing.

The min / max for subtotal is not about quantity of product, but total price. This allows for, “Give this 10% discount (automatically if you choose) if they spend $500 in T-shirts.”

Checkout Options

checkout options with smart coupons

This is a new set of options added by the plugin. Here we can restrict whether the coupon applies based on the Shipping Method, Payment Method, and the user’s role (Applicable Role.)

With these, we can create coupons that basically say, “Choose 3-day shipping and pay with PayPal to get 20% off!” or “50% Off for WordPress Contributors,” should something like that ever come up. You could also create custom WP Roles and offer discounts specifically to those folks. Theoretically, this would also allow you to offer coupons only to logged in, Woocommerce “Customers” (a WP Role created by Woo). “25% Off to Logged in Members!”

Give away Products

give away products smart coupons

Another great addition the free plugin adds, this allows you to say, “If this coupon applies, give them the Green Hat free.”

Whether you apply it automatically or not, you could use this for all types of scenarios:

  • “If the customer spends $150, give them a free t-shirt.”
  • “If the customer purchases $500 in skateboards, give them a free hoodie.”
  • “If the customer buys 3 tires, give them one free.”

Hey, read this before you comment! I publish these how-tos in an attempt to help the WP community in general, given that I make a living from WordPress and would like to give back. However, questions about how to setup custom coupon situations will likely not be replied to. If you need custom development, you can contact me. But I’m not cheap, so please note that as well, since I’m a busy fellow and don’t really have time to haggle or deal with low ballers. 🙂

Custom Woocommerce Functionality

Don’t see what you’re after over at Woocommerce? Get in touch, I can probably come up with something custom if you need it!

Get in Touch