One question we’ve gotten a lot is how to give members or subscribers a periodic discount for products on your site, which is no easy feat to accomplish. Sites with subscriptions or memberships that entitle members to a set number of free or discounted products each month have difficulty creating this kind of system.
WooCommerce Memberships can let you create “Member Discounts”, which essentially give your members a members-only price on your products. However, these member discounts are not limited in usage, e.g., five discounts per month.
Limiting automatic discounts like this to a number of usages can be a very resource-intensive process, which isn’t great for your site performance. Instead, this is a much better use case for a usage-limited coupon.
Using AutomateWoo to Generate Member Coupons
AutomateWoo is a very useful plugin for automating several kinds of marketing and promotional workflows in your shop. We’re going to use it with WooCommerce Memberships to generate a new coupon for your members each month. This could let you:
- Give members 3 products from the “Downloads” category free each month
- Give members a new discount each month for all or some products
- Drip out discounts so member usage is limited each month (whereas a member discount via Memberships is unlimited)
You’ll need just two plugins to get started with this kind of set up:
WooCommerce Member Coupons: Create a Coupon Template
First we’re going to create our coupon template, which will be used to send coupons to our members. You can create one or more templates, and AutomateWoo will use this template to generate a unique coupon for the member that’s restricted to his / her email address. You can also set the expiration date on the coupon so that it expires each month.
Create your template coupon with a generic name, and determine the coupon value. As we’re using this for free “Download” products, we’ll make it a 100% coupon.
We’ll also restrict it to that product category:
Finally, we’ll set the usage limit of this coupon so the customer can only use it 3 times:
Now AutomateWoo can use this template in workflows — it will generate a unique coupon based on this template, but will add the email restriction and expiration date for us automatically.<
WooCommerce Member Coupons: Create Coupon Workflow 1
Once we have a template that AutomateWoo can use to generate coupons for members only, we can set up workflows to email members our coupons.
AutomateWoo will let us choose a “trigger” for the workflow. All of our workflows will have a similar trigger: “Order includes a specific product”. We’ll run this workflow for any customer order that includes our “membership” product, as that signifies that someone has purchased a membership.
Next, we’ll determine when to run the workflow. You can do this right after the purchase, or a set time after the purchase, to send the member the first coupon. The timing is pretty much the only thing that will change between our workflows; workflow 1 will be triggered first, then every new coupon will be a new workflow triggered later (i.e., 30 days, 60 days, 90 days, etc).
Finally, we’ll add the action AutomateWoo should take when the customer purchases the membership product. While you can add other actions if desired, the one we’ll need at minimum is to email the member the coupon code using the “Send Email” action, and the coupon code will be generated by AutomateWoo in the email. To generate the coupon, we’ll include the merge tag with our template coupon:
{{ user.generate_coupon | template: template-member-free, expires: 30, prefix: wcm }}
Now our new members will get their first coupons after purchasing:
And we can then add subsequent workflows to email the next months’ coupons.
WooCommerce Member Coupons: Create Other Coupon Workflows
Now we can set up the rest of our coupon emails, which will be very similar. We’ll need a workflow for each email, and we’ll just increase the delay for each one. We’ll still trigger on membership product being purchased, as there’s not really another way to determine if a customer is a member.
As with the first email, you’ll generate a coupon code for the member and set the expiration date. This can be the same template coupon, or you can use a different one if desired.
Keep adding workflows for each coupon email you want to send to your members, and remember to change the delay for the workflow each time until you have all coupon emails configured.
WooCommerce Member Coupons: (Optional) Check for inactive members
Since memberships sold with only WooCommerce Memberships are set-length and paid up-front, you probably don’t have many cancellations or refunds, so these workflows should almost always be run.
However, if you do end up refunding a membership, you may want to remove the workflows for that customer so that coupon emails are no longer sent. As a workflow is set up at the purchase (since we’re checking the order for a product), it will not be removed if the order is refunded.
You can easily delete the workflows for your former member by going to WooCommerce > Reports > AutomateWoo. Under the “Queue” section, you’ll see all waiting workflows. Delete the workflows for the customer whose membership you’ve refunded to ensure they no longer get remaining coupon emails each month.
WooCommerce Member Coupons: Summary
While WooCommerce Memberships can let you create member discounts, these are basically members-only sale prices, and thus can’t be limited to a certain number of purchases. Instead, coupons restricted by email are a much better choice for limiting discounts per month (or overall), and AutomateWoo does an excellent job of generating these on a schedule.
While coupon emails are not tied into active membership status, as WooCommerce Memberships only sells set-length memberships by itself for an up-front cost, you probably don’t need to cancel these emails unless a member is refunded.
Support for WooCommerce Subscriptions is available in AutomateWoo, which makes generating coupons based on a subscription renewal instead of a membership purchase possible. If you sell memberships with a recurring payment via Subscriptions, this will make your coupon generation much easier and consistent with the member’s billing.