Reward Member Actions with Discount Coupons in WooCommerce

Listen to this article

WooCommerce Gift CouponMany times when we shop, stores offer memberships. The advantages of becoming a member are always glorified. You get a discount when you sign-up, which you can use the next time you make a purchase, or every time you bill say $100, you will get a 10% discount. Memberships based offers are meant to attract shoppers, and increase spending. And they do. Memberships guarantee loyalty. Heck, we do that all the time. Choose the same airline, to earn sky-miles, go to the same chain restaurant to get a percentage discount.

Where offers are concerned, shoppers are always happy with discount coupons. Because discounts guarantee an immediate benefit. WooCommerce provides e-shop owners the option, to create and offer discount coupons. By default coupons can be created for a set of products, or categories. You can set a percentage or amount value off of a product, or the cart total.

But in cases where you want to reward user actions, using coupons, you will need an extension.


Custom Coupons Extension for WooCommerce

Among WooCommerce extensions already available, the Smart Coupons Extension provides the option to email coupons on product purchase. You can create new coupons type, and associate them with product. Purchasing the product, guarantees you a discount coupon. For example, buy product A, and get a 10% discount coupon on the entire purchase, or earn some store credit. But this extension allows you to only award a customer on product purchases.

But what when you’re looking to give users discounts for other actions? For example, many stores offer an immediate discount coupon of say 20% on becoming a member. For such cases, Smart Coupons extension does not help. What we can surely do, is either tweak this extension a bit, or create our own.

We would need to achieve the following:

  1. Options for admin to set conditions (or rules), which decide when coupons should be awarded.

  2. Coupons should be sent automatically by emails to members.

  3. Coupons will be added to user account, and will be available during checkout, when applicable.

If we force the condition, that these benefits will be available to customers, only when they become members, we could easily present them as membership perks and convert more customers into members.

Hence, our custom plugin would have to work in the following way:

  1. Admin Options to Set Rules

The site admin, has the option to create and set new rules. A template will be provided using which, rules can be set. Every rule will be associated with a user action. For example, rules can be set for a user signing up. As soon as a user becomes a member, he would receive a discount coupon. Each rule, would have an associated id. User actions will be tracked, and if user performs the desired action, the rule will be applied.


  1. Template Coupon Type

A coupon associated with a rule, will be a template of a regular coupon (% cart, % product, cart, product). A template coupon will the same as a regular coupon, but a user would not be able to use the coupon code directly. This is to prevent users from distributing and misusing coupons. A template coupon may or may not be for a particular product, but it has to be set for one time use. Each time a rule is executed, a coupon code is generated for the linked template and sent to the user. For example, a template coupon ‘ABC’ might be set for rule ‘R’. If a user ‘User1’ performs ‘R’ action, a new coupon using ‘ABC’ template will be generated, such as ‘ABCU1’, and sent to the user. The properties of ‘ABC’ (discount value, usage restriction), will be set to ‘ABCU1’.


  1. Sending and Saving Coupons

Every time a new coupon is generated, it would be added and displayed under WooCommerce Coupons menu. A generated coupon would be sent to the member via an email, as well. Coupons sent to customers will also be displayed in the member’s account. Since the coupon is unique for each member, a member has to login to use the coupon. If the member has several coupons gifted to them, these coupons will be available for use during checkout.


How About Offering Loyalty Points

Many stores offer a points system. Every time you make a purchase, you can earn points. Which is a great way to improve loyalty. The Points and Rewards Extension for WooCommerce is meant for this very purpose. You can award points to users for purchases, or even newsletter signup, etc.

You may also like Reading: Create a Refer-a-Friend Reward System as an Extension to Points and Rewards plugin for WooCommerce

Rewarding customers for their loyalty is a great way to maintain your customer base and increase sales. And coupons are always welcome by customers. What are your thoughts about this custom feature? Do you think it would be useful for your WooCommerce store?


Sumit Pore

Sumit Pore

3 Responses

  1. Hi, great feature. I was just thinking, can this work on a multivendor setting?I have a woocommerce with multivendor setting. What I want to achieve is that, as Admin of the site, I want to reward both the buyer and the vendor on each transaction that they do… so that both of them will be happy to continually use the platform. Buyer earns points through his purchase, and the seller earns points for selling.

    I hope this is doable… thanks!


    1. Hi Alham,

      I think the Points and Rewards extension can suit your use-case, where you need to assign a buyer points on purchase. But to assign the seller points, you might need a custom solution. I haven’t come across a ready plugin which can do that for you.

Leave a Reply

Your email address will not be published. Required fields are marked *

Get The Latest Updates

Subscribe to our Newsletter

A key to unlock the world of open-source. We promise not to spam your inbox.

Suggested Reads

How to Make Responsive Tables using CSS without Tag
Join our 55,000+ Subscribers

    The Wisdm Digest delivers all the latest news, and resources from the world of open-source businesses to your inbox.

    Suggested Reads