WooCommerce Loyalty Points and Rewards

Looking for a WooCommerce Loyalty Rewards or Reward Points plugin?

WooCommerce Loyalty Rewards allows you to add a loyalty program and rewards program to your WooCommerce site.

Customers earn points by purchasing products and can redeem those points like cash in your store, or redeem them for coupons and store credit.

The most powerful loyalty rewards &  points system available for WooCommerce.

WooCommerce Loyalty Rewards plugin can award your shoppers points that act like cash in your online store, or coupons good for purchases in your store – or both.

You have full control of the rewards & points program on your site with simple, easy to use settings. Configure it to work as “Points Only“, “Rewards Only“, or “Points and Rewards“.

Here’s a brief list of features:

  • Award points based on the cart subtotal, or assign points per product
  • When using per-product reward points shoppers see the points they’ll earn on the product page, cart page, checkout page, and in their order receipt
  • Optionally display a message on the product page that tells shoppers how many points they can earn for buying the product.
  • Award points when a user signs up for an account
  • Award points for a customer placing their first order
  • Award points for a customer placing each new order
  • Award points for posting their first review of a given product
  • Award points for posting their first comment to a given blog post
  • Optionally set a points expiration date
  • Optional send users a notice before their points expire, which helps increase sales
  • Optionally rounding points to nearest whole number
  • Track points earned, added, removed, or redeemed with the built-in points logging tool
  • Add or remove points for a user with the built-in points management tool
  • Optionally rounding points to nearest whole number
  • Optionally create a page to explain your rewards program and have it automatically linked on the My Accounts page.
  • Otionally apply points to all of your pre-existing orders after you activate the plugin
  • Fully customizable My Accounts add-on templates ( and related email templates ).
  • Exclude specific users and roles from earning award points

When using Points mode:

  • Optionally limit how many points can be redeemed per new order
  • Control the value of a point. For example: 1 point = 10 cents

When using Rewards mode:

  • Create as many reward tiers you want. Each one is tied to a specific number of reward points.
  • Each reward includes a coupon code where you have full control over the coupon settings, including a coupon code prefix for easy reference.
  • Coupon rewards can be for a percentage off a product or the entire cart, or a dollar amount off a product or the entire cart.
  • Reward values are calculated in your store’s currency.
  • Rewards can be set to generate new coupons and be set to use existing coupons.
  • Optionally limit reward coupon use to the customer it was issued to, or optionally allow the reward coupon to be used by anyone that has the code.
  • Optionally set expiration dates on reward coupons.
  • Optionally limit reward coupons to specific products or product categories.
  • Customers  can view their points earnings and redeem their points for rewards using their My Account page. No administration required by you!
  • Customer receive their reward coupon codes immediately after redeeming their points.
  • Hide expired reward coupons on a customer’s My Account page
  • Integrate our Gift Certificates Pro plugin so that your rewards can include gift certificates or store credits.
  • Manage all your issued rewards coupons via the WooCommerce coupons interface.
  • Track how many times points are redeemed to obtain each reward.

After you configure the settings the WooComerce Loyalty Reward Pro plugin runs itself – there’s almost zero administrative work for you.

Here’s what the cart page might look like, it has notices at the top of the screen. Those same notices would also appear on the checkout page.

WooCommerce Loyalty Rewards & Points - Sample Cart Page with points messages and points form
WooCommerce Loyalty Rewards & Points – Sample Cart Page with points messages and points form


When you set the software to assign points per product shoppers see a note on single product pages that lets them know how many points they earn for the product:

WooCommerce Loyalty Rewards & Points - Sample Product Page with points displayed
WooCommerce Loyalty Rewards & Points – Sample Product Page with points displayed


The log tool shows who earned points, when those points were earned, and why those points were earned:

WooCommerce Loyalty Rewards & Points - Customer Points Log, see how and when points were awarded
WooCommerce Loyalty Rewards & Points – Customer Points Log, see how and when points were awarded

You can easily manage user points with the points management tool:

WooCommerce Loyalty Rewards & Points - Customer Points Manager, easily add and remove points by clicking a user name to edit
WooCommerce Loyalty Rewards & Points – Customer Points Manager, easily add and remove points by clicking a user name to edit


Compatibility: WooCommerce 4.0 and newer

Current version: 4.2.3

WooCommerce Loyalty Rewards & Points - Sample Product Page with points displayedWooCommerce Loyalty Rewards & Points - Sample Cart Page with points messages and points formWooCommerce Loyalty Rewards & Points - Settings Page, Part 1WooCommerce Loyalty Rewards & Points - Settings Page, Part 2WooCommerce Loyalty Rewards & Points - Customer Points Manager, easily add and remove points by clicking a user name to editWooCommerce Loyalty Rewards & Points - Customer Points Log, see how and when points were awardedWooCommerce Loyalty Rewards & Points - when awarding coupons you control the coupon settings

We keep all of our software up to date with the latest versions of WooCommerce and WordPress.

If you don't see any recent changes below it's because none have become necessary!

Version 4.2.3 - April 17, 2024

	Adjust language presented on the My Account page for percentage and cart discounts

Version 4.2.2 - March 20, 2024

	Disable running the function get_discount_for_redeeming_points during WC REST API requests

Version 4.2.1 - March 14, 2024

	Fix issue where category-related points were not awarded properly
	Fix order date display on Rewards Points admin page

Version 4.2 - June 30, 2023

	WooCommerce 7.8 compatibility
	WooCommerce high performance order system (HPOS) compatibility
	Fix math calculations for PHP 8.x compatibility
Version 4.1.38 - June 22, 2022

	Update fee processing to use $fee->get_amount();

Version 4.1.37 - June 1, 2022

	Updated $order_total calculation used when adding points for a new order

Version 4.1.36 - September 1, 2021

	Pass empty array for $args when calling the "woocommerce_before_template_part" action

Version 4.1.35 - June 10, 2021

	Corrected a typo in various labels
	Updated rewards template logic used to display reward coupon details

Version 4.1.34 - April 27, 2021

	Ensure "round_points" setting is parsed from the correct settings 
	Do not remove points again when order transitions from processing to completed when using cart-based rewards

Version 4.1.33 - October 5, 2020

	Updated the math calculation for cart-based rewards to take into account sites that enter prices including tax
	Do not round point when calculating the discount amount when using points for a purchase

Version 4.1.32 - September 22, 2020

	Updated the admin class for reward coupons to pass coupon ID and coupon object in action call for "woocommerce_coupon_options"

Version 4.1.31 - August 12, 2020

	Added new setting for reward coupons: Expire coupon X number of days after issuance

Version 4.1.30 - June 25, 2020

	Adjusted processing for cart-based rewards 
	Do not award points when the order total is zero

Version 4.1.29 - January 31, 2020

	Use cart subtotal to determine number of points to award when using cart-based rewards
	When calculating points use (order total - shipping - taxes - fees)

Version 4.1.28 - November 22, 2019

	Adjusted "get_cart" method availability check

Version 4.1.27 - November 21, 2019

	Don't try to load the cart object if the user is in the admin area

Version 4.1.26 - October 7, 2019

	Added new "Per Order Points" setting to award X number of points for each new order

Version 4.1.25 - August 22, 2019

	Removed the string "%s" inadvertantly left in place when modifying a message string in an earlier version.

Version 4.1.24 - August 19, 2019

	Fixed a typo in a variable name related to the action of removing all user points

Version 4.1.23 - May 3, 2019

	Ensure cart meta data is returned when checking if the plugin needs to add any cart meta data

Version 4.1.22 - January 25, 2019

	Format the points input from the user before calculating discount amount
	Ensure that when applying points, if points are already applied to exit the Ajax call

Version 4.1.21 - December 14, 2018

	Updated code generator to use more unique codes
	Corrected an issue where the order note might show zero points redeemed for XXX amount
	Deduct points when the order is on hold

Version 4.1.20 - December 12, 2018

	Updated processing for cart-based rewards

Version 4.1.19 - November 20, 2018

	Updated the icons for the buttons on the Reward Points page

Version 4.1.18 - September 28, 2018

	Ensure users and role settings array element is not false, default to array()
	Test the $product global variation to ensure it is an object when determining whether to inject footer scripts for variable products

Version 4.1.17 - May 2, 2018

	Updated the rewards template for the My Account page to not show a reward coupon if its usage limit has been exceeded

Version 4.1.16 - April 25, 2018

	Adjust the "Round points" setting processing to ALWAYS round to the nearest whole number if that setting is enabled

Version 4.1.15 - April 4, 2018

	Updated rewards log code for PHP 7.1.x and newer

Version 4.1.14 - January 8, 2018

	Ensure cart total is rounded to the number of decimal places used by the site when calculating how many points to display as being earned in the cart/checkout pages.
	Fixed processing of first order points for WooCommerce 3.x

Version 4.1.13 - January 8, 2018

	Updated commenting points code to address changes in WordPress

Version 4.1.12 - November 6, 2017

	Added the newer WC coupon settings "Limit use to X items" and "Usage limit per user" for rewards mode.
	Updated email template used to send coupon rewards to customers.

Version 4.1.11 - November 3, 2017

	Updated hook for adding points for a new product review
	Print a notice to the shopper if the points redemption ratio is not set
	Do not allow the shopper to use more points than required for an order

Version 4.1.10 - November 2, 2017

	Added support for displaying rewards for grouped products on the single grouped product page
	Ensure "Point label" setting is applied everywhere the label is written in the admin area and logs
	Corrected the order notes to display the actual number of points redeemed and their value

Version 4.1.9 - October 31, 2017

	Changed a variable name in the rewards log code

Version 4.1.8 - October 30, 2017

	Moved role and user exclusion checking out of the My Account page template and into the plugin

Version 4.1.7 - October 18, 2017

	Ensure $customer_id or $user_ID is defined before testing against it

Version 4.1.6 - October 16, 2017

	Adjusted the excluded role checking to ensure setting is defined and the proper setting is checked for exclusions

Version 4.1.5 - October 6, 2017

	Ensure that the "Earn Points Message" is display when using "Points Only" mode with coupon use disabled in WooCommerce.

Version 4.1.4 - July 25, 2017

	Update points redemption logic

Version 4.1.3 - July 17, 2017

	Adjust points redemption so that a shopper can redeem as many points as they want, up to the order total

Version 4.1.2 - June 21, 2017

	Remove ratio calculation when reducing points from a users account by the amount redeemed.

Version 4.1.1 - May 4, 2017

	Ensure variation IDs are obtained correctly in WooCommerce 3.x
	Add new Ajax hook to save variation points when editing a variation and using the Save Changes button

Version 4.1 - April 26, 2017

	WooCommerce 3.x compatibility 

Version 4.0.26 - February 8, 2016

	Check rewards mode before displaying global product-based reward points in the cart display table

Version 4.0.25 - November 8, 2016

	Swapped jQuery Chosen out for jQuery Select2 in the rewards editor
	Modified rounding to use whole numbers as indicated in the help tip for that setting

Version 4.0.24 - October 19, 2016

	Added new setting for limiting the maximum points that can be redeemed per order

Version 4.0.23 - September 1, 2016

	Updated cart JS to deal with the WC cart JS added in WC 2.6.x which hooks itself to all submit actions on the cart page

Version 4.0.22 - June 1, 2016

	Adjusted processing for points modes when the redemption ratio is less than 1

Version 4.0.21 - May 12, 2016

	Updated to allow mixed guest and non-guest checkout - note that guests cannot receive points or rewards.
	Updated the guest check nag message and made it dismissable.

Version 4.0.20 - March 1, 2016

	Updated points display on cart and checkout 
	Updated points display cart item meta
	Updated points processing for variations

Version 4.0.19 - February 21, 2016

	Updated the logging points display

Version 4.0.18 - February 5, 2016

	Updating processing for category points and default product points

Version 4.0.17 - October 15, 2015

	Modified processing for excluded users and roles

Version 4.0.16 - October 13, 2015

	Fixed issue with awarding points for product reviews

Version 4.0.15 - September 23, 2015

	Corrected a typo

Version 4.0.14 - September 22, 2015

	Surpress PHP warning for empty variable

Version 4.0.13 - September 21, 2015

	Added checks to not show points and earnings when a user is excluded based on the plugin settings

Version 4.0.12 - July 15, 2015

	Updated variation points calculation when cart-based rewards is enabled

Version 4.0.11 - July 1, 2015

	Added post status to get_posts() for WooCommerce version detection

Version 4.0.10 - April 23, 2015

	Fixed "exclude sale items" for reward settings
	Fixed points rounding
	Updated JS for customer view

Version 4.0.9 - March 16, 2015

	Added new filter to allow reward coupon expiration dates``

Version 4.0.8 - Feburary 22, 2015

	Modified reward points field for variations

	Tweaked points-related coupon calculation code for WooCommerce 2.3.x processing

Version 4.0.7 - Feburary 17, 2015

	Updated JS that handles applying points to all orders in the admin area

Version 4.0.6 - Feburary 13, 2015

	Adjusted calculation method for Rewards Only mode so that it uses the cart subtotal

Version 4.0.5 - January 7, 2015

	Updated to support adwarding and redeeming fraction points - e.g. points with a value less than 1

Version 4.0.4 - December 19, 2014

	Tweaked mode setting detection

	Fixed saving coupon restriction setting
	Added new setting to control points redemption ratio
	Tweaked object pointers
Version 4.0 - October 24, 2014

	Major code refactoring
	Many new features!
	WooCommerce 2.1 or newer REQUIRED
	Updated documentation regarding My Account page template file requirements
	Added new setting to hide expired reward coupons on a customer's My Account page
	Added new setting for default number of points per product
	Added new button to the Reward Points admin page so that admins can optionally remove all from all users
	Updated Reward Points page to show all users with all roles
	Added new setting to award points when a user signs up for an account
	Added new setting to award points for a customer placing their first order
	Added new setting to award points for posting their first review of a given product
	Added new setting to award points for posting their first comment to a given blog post
	Added new setting to exclude specific users and roles from gaining award points
	Added new function for developers: ign_remove_points_for_user()
	Added new setting to enable rounding points to nearest whole number
	Updated cart-based points calculation logic to address use of rewards in a purchase. If a shopper is using a reward for a fixed cart amount or a percentage cart amount then they only earn points for the amount of the order not discounted. 
	Added new feature to allow admins to add a note when updating a user's points
	Added a new points tracking log to show when and why points were added, removed, or redeemed
	Add new mode of operation: Points Only
	Added new setting to allow points to expire 
	Added new setting to send users a notice before their points expire
Version 3.4 - September 18, 2014

	WooCommerce 2.2 compatibility

Version 3.3.25 - Jul 7, 2014

	Updated the customer points manager to allow setting points to zero

Version 3.3.24 - May 21, 2014

	Changed the My Account page template to always show the rewards table

Version 3.3.23 - May 19, 2014

	Adjusted reward coupon creation to address additional coupon meta fields
	Adjusted My Account template to display coupon products correctly when coupons are related to specific products

Version 3.3.22 - May 14, 2014

	Adjusted saving minimum amount when issuing coupons for reward points

Version 3.3.21 - May 12, 2014

	Adjusted saving rewards points config for simple products

Version 3.3.20 - April 29, 2014

	Updated JSON coupon search for later version of WordPress

Version 3.3.19 - April 6, 2014

	Fixed rewards points display on product page for variable products with multiple attributes
	Fixed bulk edit for variable products

Version 3.3.18 - March 10, 2014

	Added code to the My Account template to show which products are eligable if the discount is product related

Version 3.3.17 - March 4, 2014

	Fixed incorrect variably name that caused the plugin's email template not to be used correctly

Version 3.3.16 - Feburary 28, 2014

	Fixed deprecated WooCommerce functions
	Fixed hook firing order to avoid fatal error when redeeming rewards

Version 3.3.15 - Feburary 28, 2014

	Changed mailer code to use the WooCommerce mailer
Version 3.3.14 - February 13, 2014

	WooCommerce 2.1 compatibility
Version 3.3.13 - January 4, 2013

	Tweaked a few strings that had the incorrect langauge text domains

Version 3.3.12 - December 19, 2013 

	Fixed menu slug for rewards area

Version 3.3.11 - December 16, 2013 

	Fixed menu slug for customer points area

Version 3.3.10 - December 12, 2013 

	Don't add order item meta for points if the shopper is checking out as guest

Version 3.3.9 - December 10, 2013 

	Fixed reward field for simple products broken by previous update.

Version 3.3.8 - December 10, 2013 

	Fixed tax calculation problem with cart-based rewards

Version 3.3.7 - November 16, 2013 

	Deprecated older function used to insert reward point fields into variations

Version 3.3.7 - December 2, 2013 

	Fixed variable checking to avoid PHP warning messages

Version 3.3.6 - November 11, 2013 

	Add "processing" status to the cases where orders are award points - was previously only "completed" status
	Fixed a condition where buyers weren't always awarded points based on the purchased quantity of an item 
	Updated reward setting field for variable products

Version 3.3.5 - October 30, 2013 

	Added new function ign_add_points_for_user( $user_id, $points ) that can be used by integrators to add points to a user account. 

Version 3.3.4 - September 27, 2013 

	Added bulk edit for reward points in product variations

Version 3.3.3 - August 5, 2013 

	Moved some JS to the page footer and set to only load when viewing variable products
	Added cart item data that shows how many points the shopper will earn. This info is seen on the cart and checkout pages.

Version 3.3.2 - August 2, 2013 

	Adjusted JS code to work better with WooCommerce 2.x when dealing with variations
Version 3.3.1 - July 20, 2013 

	Fixed a few harmless PHP warning messages

Version 3.3 - June 14, 2013

	Added customer editor interface so that admins can adjust user rewards points manually
Version - May 4, 2013

	Fixed test email to strip slashes so that test messages don't have backslashes that break images and alter the text layout

Version - April 3, 2013

	Fixed typo in a function name 

Version 3.2.7 - March 29, 2013

	Avoid loading jQuery UI CSS unless on the rewards editor page

Version 3.2.6 - March 21, 2013

	Updated capabilties for backward compatibility with WooCommerce 1.6.x

Version 3.2.5 - March 7, 2013

	Add checks for variations to be compatible with WooCommerce 2.x - they apparently changed "variable" to "variation" in some places of core code.

	Remove erroneous "capabilties" checking for Rewards post type access

Version 3.2.3 - March 6, 2013

	Updated to work with WooCommerce 2.x

Version 3.2.2 - February 7, 2012

	Fixed bug with points being removed when a new order is placed

Version 3.2.1 - February 3, 2012

	Fixed bug with My Account page

Version 3.2 - January 30, 2012

	Updated to support awarding points based on cart total

Version 3.1.6 - January 4, 2012

	Updated to support automatic updates
Version 3.1.5 - December 27, 2012

	- Fixed attributes tab 

Version 3.1.4 - October 26, 2012

	- Fixed error in discount type detection in the template for My Account page

Version 3.1.3 - October 26, 2012

	- Removed hook to non-existant function

Version 3.1.2 - October 23, 2012

	- Fixed a problem where mail wasn't always sent from My Account page

Version 3.1.1 - October 18, 2012

	- Fixed a problem where mail wasn't always sent from admin test area

Version 3.1 - August 3, 2012

	- Initial public release

Version 2.0

	- Put into use on private sites

Version 1.0

	- Initial development

Ask a Question:


From: 89.00 / year

Award your shoppers for their ongoing purchases by giving them points or coupons redeemable in your store.

All of our plugins come with great support via email and phone.

Subscription options

A subscription entitles you to 1 year of updates and support. Each individual web site requires a license key, so choose the right license for your needs.