Title: Simple Points and Rewards for WooCommerce &#8211; Create a Loyalty Program
Author: Elliot Sowersby / RelyWP
Published: <strong>🍂 🔟 24, 2025</strong>
Last modified: 🍂 9️⃣ 30, 2026

---

Search plugins

![](https://ps.w.org/simple-points-and-rewards/assets/banner-772x250.png?rev=3388209)

![](https://ps.w.org/simple-points-and-rewards/assets/icon-128x128.png?rev=3388123)

# Simple Points and Rewards for WooCommerce – Create a Loyalty Program

 By [Elliot Sowersby / RelyWP](https://profiles.wordpress.org/elliotvs/)

[Download](https://downloads.wordpress.org/plugin/simple-points-and-rewards.2.3.0.zip)

 * [Details](https://emoji.wordpress.org/plugins/simple-points-and-rewards/#description)
 * [Reviews](https://emoji.wordpress.org/plugins/simple-points-and-rewards/#reviews)
 *  [Installation](https://emoji.wordpress.org/plugins/simple-points-and-rewards/#installation)
 * [Development](https://emoji.wordpress.org/plugins/simple-points-and-rewards/#developers)

 [Support](https://wordpress.org/support/plugin/simple-points-and-rewards/)

## Description

Simple Points and Rewards for WooCommerce helps you launch a lightweight, no‑bloat
points and rewards loyalty program without complexity.

Customers earn points for actions (signup, orders, referrals) and redeem them for
rewards like WooCommerce coupon vouchers, specific products, or checkout discounts–
a complete Points and Rewards experience for WooCommerce.

A dedicated “Rewards” tab appears under My Account with points, history, ways to
earn and redeem, and redeemed vouchers.

Admins get a clear settings area and tools to manage points, logs, and vouchers 
in your loyalty program.

### Points and Rewards – Free Features

 * My Account “Rewards” page (or shortcode) for customers to view and manage their
   points and rewards
 * Levels and Badges System (Some limits apply in free version)
 * WooCommerce Subscriptions support: award points on subscription renewals
 * Deduct points when orders are refunded/cancelled/failed
 * Customisable email notifications (points earned, rewards claimed)
 * Admin tools: Settings, Points Activity Log, Customer Points manager, Reward Vouchers
 * Order meta box showing awarded/deducted points context
 * Plugin customisations (points labels, rewards labels, headings, colors, etc)

### Why choose this Loyalty Points and Rewards plugin?

 * Built specifically for WooCommerce
 * Fast and lightweight
 * Simple UX: one Rewards dashboard with points, levels, ways to earn and redeem
 * Easy to setup and configure
 * Works alongside WooCommerce coupon discounts and sales
 * Flexible reward types: vouchers, products, or checkout discounts
 * Levels and multipliers to incentivise more spending
 * Comprehensive admin tools for managing your loyalty program

### Ways to Earn Points

There are several ways for customers to earn points, including:

 * Signing up for an account
 * Placing new orders
 * Referring friends via referral links
 * Subscription renewals (WooCommerce Subscriptions)

The Pro version adds points for first order, after X orders, writing reviews, birthdays,
social shares, and daily logins.

### Types of Rewards

Reward points can be redeemed for various rewards vouchers including:

 * WooCommerce coupon vouchers for discounts
 * Free shipping on their next order
 * Claim a specific free product

Alternatively, you can enable the “Points Discount on Checkout” option. This is 
a more simple and traditional method, that allows customers to convert points into
an immediate order discount at checkout without generating a coupon.

### Redeeming Points

Customers can redeem their points via the Rewards dashboard or at checkout (if enabled):

 * My Account > Rewards: Customers view available points, total earned, level progress,
   ways to earn, ways to redeem, redeemed vouchers, and a paginated points history.
 * Redeeming rewards:
    - Voucher reward: creates a WooCommerce coupon tied to the customer that they
      can use on their next order.
    - Product reward: creates a WooCommerce coupon and directs to checkout with 
      the product added to the cart for free.
    - Product bundle reward (Pro): creates a WooCommerce coupon and directs to checkout
      with all products in the bundle added to the cart for free.
    - Points discount on checkout: lets customers apply their points as an instant
      discount on the current order from the checkout rewards box.

### Pro Features

 * Unlimited access to all features
 * Referral coupons and offers (gift coupons, attribution rules)
 * Conditional Rules for Earning Methods
 * Product Bundle Rewards
 * Floating Rewards Widget
 * Floating Gift widget
 * Reward points with a Prize Wheel
 * Reward points on First Order
 * Reward points after X Orders
 * Reward points for keeping an Order Streak
 * Reward points for Writing Reviews
 * Reward points on Birthdays
 * Reward points for Social Shares
 * Reward points for Daily Logins
 * Reward points for Product Offers & Bonuses
 * Custom Ways to Earn points via developer API
 * Custom renewal earning rates for WooCommerce Subscriptions (percentage or fixed
   points per renewal)
 * Multi-currency support for points earning
 * Points inactivity expiry
 * Reward expiry and automatic cleanup
 * Min and max points redemption limits
 * Additional settings and UX enhancements

[TRY PRO FREE FOR 7 DAYS](https://relywp.com/plugins/simple-points-and-rewards/)

### Settings Overview

 * Rewards: Create and configure reward items (voucher or product), costs, and limits.
 * Ways to Earn: Signup points; order earning rate; award timing; refund/cancel 
   deductions; referral earning (PRO supports fixed or percent-based with attribution).
 * Levels & Badges: Enable levels, multipliers, progression, and display options.
 * General: Labels (Points/Rewards), headings, display toggles.
 * Email: Subjects/bodies for “points earned” and “reward claimed”, with placeholders
   available.
 * PRO tabs: Conditional Rules, Referral Offers, Gift Widget, Rewards Widget.

Tip: You can also embed the Rewards dashboard anywhere with the shortcode: [spar_points_rewards].
This lets you place your Points and Rewards experience on any page.

### Migrations

You can easily migrate your existing customer points data from other popular WooCommerce
Points and Rewards plugins including:

 * WooCommerce Points and Rewards (by WooCommerce)
 * MyRewards (by Long Watch Studio)
 * WPLoyalty (by flycart)
 * Points and Rewards for WooCommerce (by WP Swings)
 * YITH WooCommerce Points and Rewards (by YITH)

### Why do I need a Points and Rewards program?

A Points and Rewards program incentivizes customer loyalty by rewarding repeat purchases
and engagement. It encourages customers to return to your store, increasing lifetime
value and fostering a sense of community around your brand. By offering points for
actions like signing up, making purchases, and referring friends, you create a positive
feedback loop that benefits both your business and your customers.

### Why choose Simple Points and Rewards for WooCommerce?

Simple Points and Rewards for WooCommerce is designed to be a lightweight, easy-
to-use solution that integrates seamlessly with your WooCommerce store. It offers
a comprehensive set of features without the complexity and bloat of larger WooCommerce
loyalty programs. With a focus on user experience, both for customers and administrators,
it provides a straightforward way to implement a loyalty program that drives engagement
and sales.

## Screenshots

[⌊Customer Rewards dashboard: Ways to Earn⌉⌊Customer Rewards dashboard: Ways to 
Earn⌉[

Customer Rewards dashboard: Ways to Earn

[⌊Customer Rewards dashboard: Ways to Redeem⌉⌊Customer Rewards dashboard: Ways to
Redeem⌉[

Customer Rewards dashboard: Ways to Redeem

[⌊Customer Rewards dashboard: Levels and Badges⌉⌊Customer Rewards dashboard: Levels
and Badges⌉[

Customer Rewards dashboard: Levels and Badges

[⌊Customer Rewards dashboard: Points Log History⌉⌊Customer Rewards dashboard: Points
Log History⌉[

Customer Rewards dashboard: Points Log History

[⌊Admin settings example: Rewards tab⌉⌊Admin settings example: Rewards tab⌉[

Admin settings example: Rewards tab

## Installation

 1. Install and activate the plugin.
 2. Ensure WooCommerce is active.
 3. In the admin area, open the “Points & Rewards” top-level menu, then Settings, to
    configure.
 4. Customers will see “Rewards” under My Account automatically.
 5. Optionally add the shortcode [spar_points_rewards] to any page or post to display
    the rewards interface.

## FAQ

### Where do customers access their Points and Rewards?

They can view their points, history, ways to earn and redeem, and redeemed vouchers
in the “Rewards” tab under the “My Account” page in WooCommerce.

You can also use the shortcode [spar_points_rewards] to display the rewards interface
on any page.

They can also use the checkout rewards box (if enabled) to redeem points for rewards
or discounts at checkout.

In the Pro version, you can also enable a floating rewards widget for easy access
to points and rewards anywhere on the site.

### How are points awarded in the Points and Rewards program?

There are several ways to award points:

 * Signing up for an account

Customers can earn points when they register a new account on your WooCommerce store.

 * Placing new orders

By default, points are awarded when an order is created and they are taken to the“
thank you” page.

You can change this behavior in Settings to award points when the order is marked“
processing” or “completed”.

 * Referrals

If the referral features are enabled, customers can earn points by referring friends
via referral links or gift coupons.

**Pro Version Only:**

 * First Order

Customers earn points when they place their first order.

 * After X Orders

Customers earn points after completing a set number of orders.

 * Writing Reviews

Customers earn points for writing product reviews.

 * Birthdays

Customers earn points on their birthday.

 * Social Shares

Customers earn points for sharing your store or products on social media platforms.

 * Daily Logins

Customers earn points for logging into their account daily, with bonus points for
consecutive logins.

 * Order Streaks

Customers earn a bonus for ordering to a regular schedule, such as once a week or
twice a month, and keeping it up for a number of periods in a row. Set a minimum
order value if only real orders should count. Missing a period ends the streak, 
a progress bar on the rewards dashboard shows how it is going, and optional reminder
emails nudge customers before they lose one.

 * Wheel Spins

Customers can earn points by spinning a prize wheel for a chance to win various 
rewards.

 * Product Offers & Bonuses

Customers earn bonus points for purchasing certain amounts of specific products,
product bundles, or product categories.

 * Custom Ways to Earn

You can create your own ways to earn points entirely from code with the developer
API.

### Can customers share referral links to earn points?

Yes.

Referral features allow tracking via a cookie and (optionally) via referral gift
coupon (PRO version) with attribution modes and self-referral blocking.

### Can I customize the labels “Points” and “Rewards”?

Yes, in Settings you can change labels and several display texts.

### What is a Points and Rewards program?

A Points and Rewards program lets customers earn reward points for actions (like
placing orders or referring friends) and redeem those points for rewards such as
discount vouchers or free products. This plugin provides a simple, flexible Points
and Rewards system for WooCommerce.

### Does it work with WooCommerce Subscriptions?

Yes. When WooCommerce Subscriptions is active, a “Subscriptions” tab appears in 
the plugin settings.

You can award points on subscription renewal orders, choose when renewal points 
are awarded, include or exclude sign-up fees from points calculations, exclude subscription
products from earning entirely, and control whether renewals count toward the “Bonus
after X Orders” milestone.

In the PRO version, you can also change the renewal earning rate: award renewals
a percentage of the regular points (e.g. 50%) or a fixed number of points per renewal,
instead of the full regular rate.

### Does it work with custom checkout plugins?

Yes, the plugin is designed to work with most custom checkout plugins.

It has specificly been tested and integrated with these checkout plugins:
 – FunnelKit(
Checkout and Side Cart) – CheckoutWC – Flux Checkout

### Can I create Custom Rewards?

You can create a reward of type “Custom (Developer Hook)” in the Rewards settings
tab. A custom reward lets you deduct points and then run your own logic when the
customer claims it.

Fields:
 – Short Description – shown to customers in the Ways to Redeem list. – 
Developer Reward ID – lowercase unique identifier (letters, numbers, hyphens, underscores)
you can use to distinguish multiple custom rewards.

Hook fired after successful claim and points deduction:

spar_custom_reward_claimed( $user_id, $developer_id, $reward_array, $points_spent)

If your logic fails and you need to refund points, call:

spar_update_user_points( $user_id, $points_spent, ‘add’, ‘Refund: custom reward 
failed’, ‘redeem_refund’ );

This keeps the plugin flexible for bespoke reward types (subscriptions, access passes,
digital downloads, etc).

### Data & privacy

This plugin stores points in user meta and logs points activity in a custom database
table to enable efficient history pagination.

Referral features (if enabled) use cookies to attribute referrals:
 – spar_referrer:
stores referral code (up to ~30 days) for attribution – spar_referral_coupon: temporary
helper cookie cleared on order completion

As site owner, include these cookies and data uses in your site’s privacy policy
as applicable.

### Does this Points and Rewards plugin use a 3rd party service?

Freemius: The plugin uses the Freemius SDK for licensing of PRO features; see [Freemius privacy and terms](https://freemius.com/privacy/)
for details.

Font Awesome: The plugin uses Font Awesome (free) for icons; see [Font Awesome privacy and terms](https://fontawesome.com/privacy/)
for details.

### Do you provide support?

Yes. If you need any help setting up the Points and Rewards plugin, please feel 
free to [get in touch](https://wordpress.org/support/plugin/simple-points-and-rewards/#new-topic-0)
and we’ll be happy to help!

### How can I report issues/bugs with the plugin?

You can report feature bugs by creating a [support ticket](https://wordpress.org/support/plugin/simple-points-and-rewards/#new-topic-0).
Please provide as much information as possible to make it easier for us to find 
a solution for you.

### Where do I report security bugs found in this plugin?

Please report security bugs found in the source code of the Simple Points and Rewards
plugin through the [Patchstack Vulnerability Disclosure Program](https://patchstack.com/database/vdp/7a3a83f9-8684-4b90-b087-cdb6bc45274d).
The Patchstack team will assist you with verification, CVE assignment, and notify
the developers of this plugin.

## Reviews

![](https://secure.gravatar.com/avatar/4cee16e580cec33dd0b086c627b81144047c87735d5ae3447d21a97136d9b199?
s=60&d=retro&r=g)

### 󠀁[Great plugin and outstanding support](https://wordpress.org/support/topic/great-plugin-and-outstanding-support-63/)󠁿

 [medusa88](https://profiles.wordpress.org/medusa88/) 🍂 🔟 6, 2026 1 reply

Compared to other loyalty plugins, this one has all the features we need while remaining
very lightweight. The interface is clean and easy to use. What really stands out
is the support from Elliot. He’s been incredibly helpful and quick to respond, often
adding requested features and releasing fixes almost immediately. It’s been a great
experience working with a developer who listens to feedback and acts on it so quickly.
Highly recommended, both for the plugin itself and the excellent service behind 
it!

![](https://secure.gravatar.com/avatar/ce637e749f2453e0b27473a64ff8ff81fd5db470fd3e05b9d71bcae9353d83f5?
s=60&d=retro&r=g)

### 󠀁[Just the best loyalty plugin on wordpress](https://wordpress.org/support/topic/just-the-best-loyalty-plugin-on-wordpress/)󠁿

 [andany](https://profiles.wordpress.org/andany/) 🌸5️⃣ 3, 2026

If you need a loyalty points plugin – this plugin is all you need! After seeing 
how a very well-known loyalty plugin was impacting my site's speed, even before 
the site was fully operational, I decided to look for a new, similar plugin. I stumbled
across this one quite by chance and thought: great reviews, but it's still very 
new, should I give it a try? I'm so glad I did. This plugin does exactly what a 
loyalty points plugin should do, with a very simple setup, many features in the 
free version, and most importantly, it has absolutely no impact on website speed
and requires almost no entries in the database. Is it magic? All I can say is – 
this is absolutely the best loyalty points plugin for WordPress!

![](https://secure.gravatar.com/avatar/1250c4bbf3a163b0cf864ba68e99b45a3986720ac6514cf36f32ceb78e90e63a?
s=60&d=retro&r=g)

### 󠀁[Gets the job done without any problem](https://wordpress.org/support/topic/gets-the-job-done-without-any-problem/)󠁿

 [Nuski](https://profiles.wordpress.org/nuski/) ❄️1️⃣ 28, 2026 1 reply

One of the best plugins out there for loyalty programs. UI is clean, modern and 
adopts to the theme. Plugin support is impressive. Had a couple of bugs initially
and the fixes are implemented soon. Knowing the author whose is behind another great
plugin, I hope that the standard will maintained throughout.

![](https://secure.gravatar.com/avatar/d0d31d48d8007f0e67db2bc84b7f5e5263ba73d58cfeb502f8a78ed1a31a29ea?
s=60&d=retro&r=g)

### 󠀁[Amazing plugin – Even more amazing support](https://wordpress.org/support/topic/amazing-plugin-even-more-amazing-support-5/)󠁿

 [jamilhindi](https://profiles.wordpress.org/jamilhindi/) ❄️1️⃣ 26, 2026 1 reply

This plugin did exactly what we needed. What is even more impressive is that we 
had some glitches, and the service we received was beyond spectacular. I have nothing
but positive things to say about the plugin and service. Highly recommended!

![](https://secure.gravatar.com/avatar/14547cd10a45d1d454693e24feaad8e62784b3dbdf8468d0b507e3f3ccdf7c54?
s=60&d=retro&r=g)

### 󠀁[Great Plugin](https://wordpress.org/support/topic/great-plugin-41206/)󠁿

 [ritikj](https://profiles.wordpress.org/ritikj/) ❄️1️⃣ 16, 2026 1 reply

This is the kind of plugin I was looking for rewards, easy to configure and good
UI.

![](https://secure.gravatar.com/avatar/81a461f8b5039e5bc30edaa96890b3a0fee00162b4889eb1a2513273a154b7ee?
s=60&d=retro&r=g)

### 󠀁[Bought lifetime pro license instantly](https://wordpress.org/support/topic/bought-lifetime-pro-license-instantly/)󠁿

 [pjv](https://profiles.wordpress.org/pjv/) ❄️1️⃣2️⃣ 19, 2025 1 reply

We've been looking for a replacement for the over-bloated rewards points premium
plugin we've been using for a few years. When I saw that Elliot was releasing a 
new plugin for this purpose I had high hopes and high expectations because his affiliate
program plugin has been amazing for many years now, with both excellent support 
when issues arose and also regular, excellent updates. As soon as I started using
the free version of Simple Points and Rewards I could see that it was another winner
and I immediately purchased a lifetime license for the Pro version.

 [ Read all 7 reviews ](https://wordpress.org/support/plugin/simple-points-and-rewards/reviews/)

## Contributors & Developers

“Simple Points and Rewards for WooCommerce – Create a Loyalty Program” is open source
software. The following people have contributed to this plugin.

Contributors

 *   [ Elliot Sowersby / RelyWP ](https://profiles.wordpress.org/elliotvs/)
 *   [ RelyWP ](https://profiles.wordpress.org/relywp/)
 *   [ Freemius ](https://profiles.wordpress.org/freemius/)

“Simple Points and Rewards for WooCommerce – Create a Loyalty Program” has been 
translated into 1 locale. Thank you to [the translators](https://translate.wordpress.org/projects/wp-plugins/simple-points-and-rewards/contributors)
for their contributions.

[Translate “Simple Points and Rewards for WooCommerce – Create a Loyalty Program” into your language.](https://translate.wordpress.org/projects/wp-plugins/simple-points-and-rewards)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/simple-points-and-rewards/),
check out the [SVN repository](https://plugins.svn.wordpress.org/simple-points-and-rewards/),
or subscribe to the [development log](https://plugins.trac.wordpress.org/log/simple-points-and-rewards/)
by [RSS](https://plugins.trac.wordpress.org/log/simple-points-and-rewards/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### Version 2.3.0 – 21st September 2026

 * New: Simple Store Credit integration. When our Simple Store Credit plugin (free
   or PRO) is installed, a “Simple Store Credit” tab appears in the settings with
   everything switched on by default. Customers can redeem points for store credit
   in two ways: a new “Store Credit” reward type in the Rewards tab (a fixed amount
   of credit for a fixed number of points, delivered to the account balance or as
   a credit voucher), and a “Convert points” tool on the rewards dashboard (also
   available as the [spar_points_to_store_credit] shortcode) where the customer 
   chooses how many points to convert, at the points discount rate or a custom rate.
   Points and store credit no longer double up: store credit spent on an order (
   redemption tool, credit vouchers, or the Store Credit payment method) and purchases
   of store credit itself (top-ups and gift cards) are kept out of the points earning
   base and the cart/checkout preview, points discounts and reward vouchers are 
   kept out of the cashback base, and an earning mode can make an order earn points
   or cashback but not both. Levels gain a cashback multiplier, so higher levels
   earn more Shop & Earn cashback. The store credit redemption tool can sit inside
   the checkout rewards box as its own tab instead of a second box, the checkout
   box header, the rewards dashboard and the floating rewards widget show the available
   store credit balance, and the store credit account page lists “Redeem points”
   as a way to get credit. Store credit can also be a referral bonus (in addition
   to, or instead of, the referral points) and a Prize Wheel prize. A dedicated “
   store credit claimed” email is sent for points redemptions (with the store credit
   plugin’s generic email kept quiet so customers are not emailed twice), every 
   points email can use a {store_credit_balance} placeholder, the admin customer
   page shows the store credit balance, the order edit screen shows store credit
   used on the order, and (PRO) Conditional Rules gain a “Customer: Store Credit
   Balance” condition. Without the plugin installed, the “Simple Store Credit” tab
   is still there and describes what the integration does, so you can see what it
   offers before deciding to install it.
 * Tweak: (PRO) The “Product Offers & Bonuses” section on the rewards dashboard 
   now keeps its offer boxes inside the section card, beneath the heading, rather
   than listing them as separate boxes underneath it, so the offers read as one 
   section in the same way as the other ways to earn.
 * Tweak: Improved some styling for the rewards dashboard on mobile devices.
 * Tweak: The rewards dashboard shortcode under Account > Display on Custom Page
   is now a field with a “Copy” button next to it, rather than text to select by
   hand.
 * Fix: Redeeming points for a cart discount could apply one cent less than the 
   preview showed for certain point amounts (for example 29 points at 100 points
   per 1.00 applied 0.28). The discount is now worked out in whole cents, and the
   cart, checkout, dashboard and admin order previews use the same rounding.
 * Fix: Saving the Rewards settings raised an “undefined variable” warning in the
   debug log for every reward, because the icon colour mode was never read from 
   the form. It is now saved correctly.
 * Fix: The “Voucher Amount”, discount type and free shipping fields no longer appear
   on rewards that are not vouchers. On a saved Free Product, Free Product Bundle
   or Custom reward they were shown alongside the fields that do apply, suggesting
   a voucher value that was never used. They now appear only on voucher rewards,
   as they already did on a reward being added.
 * Fix: (PRO) The “Product Offers & Bonuses” section on the rewards dashboard now
   follows the dashboard’s dark mode. It was the only section left with light backgrounds
   and dark text when dark mode was on, so the offer boxes, product images, descriptions
   and progress bars stood out against everything around them.
 * Fix: (PRO) The “Product Offers & Bonuses” section on the rewards dashboard no
   longer appears as an empty box once every product rule is outside its start and
   end dates. A rule whose end date had passed, or whose start date was still to
   come, was correctly kept off the dashboard, but the section heading was still
   drawn above the empty space. The section is now left out until at least one rule
   is live. In the settings, each product rule now shows an “Expired” or “Scheduled”
   tag in its header when its dates are keeping it off the dashboard, so it is clear
   why an offer is not showing.
 * Fix: (PRO) The floating rewards widget could pick up styling from the theme and
   end up looking wrong – the wrong font, oversized or uppercase text, stray bullet
   points and link arrows, mis-sized buttons and inputs, or labels pushed out of
   line. It now shields itself from theme and page builder styling, including rules
   marked !important, so it renders the same on every store, and its own layout 
   has been tightened up: the tabs along the top stay on one line however many of
   them are on show (opening History or Terms could previously squash or clip them),
   the header and tabs keep their size at every Widget Size setting, and the “Regular”
   size is now 20px wider and taller. The points discount panel inside the widget
   still uses your store’s own button styling, as before.
 * Fix: The “Current level” card in the rewards dashboard header now lines up with
   the cards beside it. The level badge made its row taller than the number rows
   on the other cards, so the level name and “Current level” text sat a few pixels
   lower than the neighbouring labels. A custom badge image in that card is also
   now sized to match the built-in badge icons instead of showing at its full size.
 * Fix: The “Earn Points” tab of the rewards dashboard was cut off on phones. The
   ways-to-earn list was being sized to its widest content (the birthday date field,
   the Product Offers boxes), so every card ran past the right edge of the tab and
   was clipped. The list now always fits the screen, and the tab has been tidied
   up for small screens: less nested padding so the cards get more of the width,
   the “View Products” and “Spin Wheel” buttons drop onto their own line under the
   card title instead of overflowing, the birthday date field fills its column, 
   referral stats show two per row rather than four stacked cards, the “How it works”
   box is rounded to match the cards around it, the referral link and coupon code
   fields take the full width with the Copy button beneath them, share buttons stay
   two per row (three on tablets) instead of stacking into one tall column, each
   row of the referral “Link Clicks” log now shows its column names beside the values(
   the table header is hidden on phones, which left bare dashes and “No” with nothing
   to explain them), and (PRO) each Product Offers & Bonuses box is laid out for
   phones and tablets – the product image sits beside the offer name and points,
   the description and requirement run the full width beneath, the progress bar 
   and its “x / y purchased” label share a row with the Add to cart button, and 
   on phones the button spans the box – instead of squeezing the name, points and
   button into a one-word-per-line column, which happened at any width under about
   700px.
 * Fix: The dashboard’s dark mode toggle now lines up with the first line of the
   heading on phones, and the heading keeps clear of it, so a long dashboard title
   no longer runs underneath the button.

#### Version 2.2.0 – 10th September 2026

 * New: (PRO) Added an “Order Streak” way to earn, for rewarding customers who keep
   ordering to a regular schedule. Set the schedule under Earn > Order Streak – 
   for example one order every week, or two orders every month – along with how 
   many periods in a row a customer must keep it up before the bonus is awarded.
   Periods run from the order that started the streak rather than from the calendar,
   so a customer who starts on the 10th always has until the 10th of the next period.
   Miss a period and the streak ends, and their next order starts a new one. A minimum
   order value can be set so token orders cannot keep a streak alive, measured the
   same way as your “Points for Spending” earning rate. The bonus can be awarded
   once per customer, or paid out again every time an unbroken streak reaches the
   length you set. Reminder emails can be turned on to warn customers before a streak
   runs out: choose how many days before the period ends to send them, and the minimum
   streak a customer must have built up to be worth reminding, so first-time customers
   are not chased. A customer is emailed at most once per period, and never once
   they have already placed the orders that period needs. The reminder email is 
   edited from the Email Notifications tab, and the streak works with level multipliers,
   conditional rules, points delay, and the reports breakdown like every other way
   to earn. On the rewards dashboard and in the floating rewards widget, customers
   get a progress bar showing how many periods they have banked, which one they 
   are working on and what it still needs, which turns amber when the period is 
   about to run out.
 * New: Added a [spar_product_points] shortcode for placing the product points message
   by hand, for stores that want it somewhere the automatic placement does not reach.
   Drop it into any page builder shortcode widget or block on a product template.
   It uses the product being viewed, or a specific one with [spar_product_points
   product_id=”123″]. A matching “Manual placement” choice has been added to the“
   Product points display location” dropdown, which turns the automatic placement
   off so the shortcode is the only thing that renders the message.
 * New: The “Reward Points” panel on the order edit screen now explains why an order
   has not earned points, instead of showing “Points not yet awarded” for every 
   case. It names the actual reason: the order has no customer account assigned (
   the most common cause on orders created by hand in the admin, where the Customer
   field is left as Guest and there is nobody to credit the points to), the customer
   is banned from earning points, points were redeemed on the order, the order earns
   no points, or the order is simply waiting to reach the status that points are
   awarded on, which is now named in the panel. Each reason comes with a short note
   on what to do about it, and the “Grant points now” button reports the same reasons
   when it cannot award, rather than a generic failure message.
 * New: Added a “Redeem a Reward” panel to the admin customer page (Points & Rewards
   > Customer Points > View Customer), for redeeming a reward on behalf of a customer,
   for example when taking an order over the phone. It runs exactly the same redemption
   the customer would run themselves: their points are deducted immediately, the
   voucher coupon is created and restricted to their email address, and the reward
   claimed email is sent, so the code can then be applied to a manually created 
   order with the WooCommerce “Apply coupon” button. Rewards that add a product 
   to the cart can still only be redeemed by the customer, because an admin request
   has no cart, so only voucher and custom rewards are offered here.
 * New: Added an “Apply Points for Discount” section to the “Reward Points” panel
   on the WooCommerce order edit screen, for spending a customer’s points against
   an order you are building for them, for example one taken over the phone. It 
   stays collapsed to its heading until you open it, and only appears when there
   is actually something to redeem: the order has to still be editable, and the 
   customer has to have enough points for the order to be worth discounting. Entering
   an amount shows what it is worth as you type it, and applying it deducts the 
   points and adds the discount to the order as the same discount line the checkout
   produces. The section refreshes as soon as you change the Customer field, so 
   you are always looking at the balance of the customer the order is actually for.
   Removing the discount returns the points. Because the discount is the same line
   the checkout creates, refunding or cancelling the order returns the points exactly
   as it does for a redemption the customer made themselves, and the “Do not award
   ANY points on orders where points were redeemed at checkout” setting recognises
   it too.
 * New: (PRO) An order whose points are being held back by the “Points Delay” feature
   now says so on the order edit screen. The “Reward Points” panel shows how many
   points are waiting and the date they reach the customer’s balance, so a delayed
   award is no longer indistinguishable from one that failed: the order records 
   the points as earned while the balance deliberately stays unchanged until the
   delay is up. Orders with more than one pending release show the combined total
   and how many parts it arrives in.
 * Tweak: Redesigned the “Reward Points” panel on the order edit screen. The customer
   the order belongs to is now shown with their avatar, name, email address and 
   current balance, so it is obvious whose points any action on the panel affects.
   The potential, awarded and deducted totals are laid out as figures rather than
   run-on text, and the status message now takes its colour from what it means —
   red when something needs attention, green when points have been awarded, amber
   while an order is still waiting to reach the status that awards them — where 
   previously every state, including outright failures, was shown in the same amber
   box.
 * Fix: The product points message now appears on product pages built with a page
   builder or a block theme. Elementor, Divi, Bricks, Oxygen, Royal Elementor Addons
   and WordPress block themes build the product page out of their own widgets and
   blocks, and never run the WooCommerce hooks the message was attached to, so “
   Show points on product pages” appeared to do nothing on those stores. The message
   is now placed next to the add to cart button on such templates, respecting whether
   the chosen display location sits before or after it. Themes that use the standard
   WooCommerce product template are unaffected and keep using the exact display 
   location chosen in the settings.
 * Fix: Points redeemed at checkout are no longer lost on WooCommerce Subscriptions
   renewal orders. When a customer paid for a renewal manually, WooCommerce Subscriptions
   removed the points discount from the renewal cart before the order was created,
   but the points were still deducted — leaving the customer paying full price with
   their points spent. The discount is now kept on renewal checkouts and the points
   are deducted against it as normal.
 * Fix: Points are never deducted unless the discount actually reaches the order.
   If anything removes the points discount before an order is created, the points
   now stay on the customer’s balance and a note is added to the order explaining
   what happened, instead of silently charging them.
 * Fix: A points discount applied when buying a subscription product is no longer
   included in the subscription’s recurring total, so it only ever comes off the
   order it was redeemed on rather than every future renewal.
 * Fix: The points discount is now correctly recognised on stores using a translation
   of the plugin, where the discount line was previously not matched by name.
 * Fix: Points redemption is now captured on the WooCommerce Checkout block at the
   point the order is placed, rather than relying on the customer reaching the order
   confirmation page.
 * Fix: The settings page no longer triggers a fatal error (“Uncaught ValueError:
   Unknown format specifier”) on stores running the plugin in a translated language.
   Some of the bundled translations had lost the “%s” placeholder from their text—
   for example the Italian translation of “%s appear on the customer account page
   and rewards widget” — which made PHP fail as soon as the string was displayed
   and took the whole page down with it. The affected strings in the French, Italian,
   Japanese, Dutch, Polish, Brazilian Portuguese and Russian translations have been
   corrected, and a handful that could not be recovered now fall back to English.
 * Fix: Added a safeguard so a faulty translation can no longer break a page. Every
   translated string is checked before it is used, and if its placeholders do not
   match the original text the English original is shown for that string instead.
   This also protects stores that use their own translations from WordPress.org,
   Loco Translate, WPML or similar tools.
 * Fix: The discount value shown next to the points slider now always matches the
   discount applied to the cart. On stores that display prices including tax, the
   announced value and the cart line were worked out by two different calculations
   and could disagree by a cent — for example, redeeming 500 points at a rate of
   120 points per 1.00 announced “5.00” but took 4.99 off the cart. The preview 
   now follows the same steps WooCommerce takes when it taxes a discount, including
   on carts that mix more than one tax rate, so the value a customer is quoted is
   always the value they receive.
 * Fix: The points discount preview in the FunnelKit side cart now includes tax 
   on stores that display prices including tax, where it previously showed the value
   before tax was applied.
 * Fix: An order is no longer recorded as having awarded points when the points 
   were actually refused. If the points could not be credited, for example because
   the customer is banned from earning, the order was still stamped with the awarded
   amount, so the order edit screen reported “Points Awarded” while the balance 
   had not changed, and the order could never be put right because both the automatic
   award and the “Grant points now” button treat that stamp as proof the points 
   were given. The order is now only marked as awarded when the balance actually
   changed, so affected orders can be granted afterwards once the cause is fixed.
   Points held back by the PRO points delay feature are unaffected and are still
   recorded as awarded.
 * Fix: The “Completed status” setting under Earn > Place an Order no longer hides
   a status that has gone missing. If the status chosen there came from a plugin
   that is no longer active, the dropdown quietly fell back to displaying “Completed”
   while still storing the missing status, so no order could ever reach it and points
   were never awarded automatically, with nothing on screen to explain why. The 
   saved status is now kept in the list and labelled “(status no longer registered)”,
   with a warning that a valid status needs to be chosen, and the order edit screen
   reports the same problem.
 * Fix: The “Potential Points” figure on the order edit screen now matches the points
   the order will actually earn. It was worked out from the order’s spend alone,
   so it left out the “Maximum points per order” and “Maximum percentage of total”
   limits, the customer’s level multiplier, fixed points tiers and any conditional
   rules: on a store that caps orders at 100 points, a 300.00 order announced 300
   points on the panel and then awarded 100, with nothing to explain the difference.
   The figure now comes from the same calculation the award itself uses, so what
   the panel promises is what the customer receives. The “Modify” editor still works
   on the underlying amount, which is the figure those limits are then applied to,
   and a first order bonus is still added on top rather than being capped along 
   with the order points. The pending points shown on a customer’s profile are calculated
   the same way, where they previously left the per-order limits out.
 * Fix: Orders created by hand in the admin no longer end up fixed at 0 points. 
   The “Modify” field in the “Reward Points” panel was part of the order form, so
   every “Create” or “Update” click quietly saved the figure on display as a custom
   points amount for the order. On the “Add New Order” screen that figure is 0, 
   because the panel is drawn before any products have been added, so the order 
   was fixed at 0, awarded nothing when it was completed, and the panel reported“
   No points earned for this order”. Saving an existing order froze the displayed
   figure in the same way, so products added afterwards no longer counted, and on
   a first-time customer the frozen figure included the first order bonus, which
   was then awarded a second time. A custom amount is now only saved when it has
   actually been entered in the “Modify” editor, which also now opens on the figure
   it replaces rather than the total including the first order bonus, and the potential
   points follow the order’s items otherwise. Orders that already carry a custom
   amount now show it as “Custom”, with a “Reset” button that returns them to the
   automatic calculation, and a custom amount of 0 is reported in plain terms rather
   than as an order that earns nothing, so affected orders can be put right and 
   granted with “Grant points now”.

#### Version 2.1.0 – 29th July 2026

 * New: Added WooCommerce Subscriptions support with a dedicated “Subscriptions”
   settings tab that appears when WooCommerce Subscriptions is active. Points are
   now reliably awarded on subscription renewal orders — previously, renewals only
   earned points when the award timing was set to “completed” and were silently 
   skipped on the default timing. Because renewal orders are created in the background
   and never reach the “thank you” page, a dedicated award timing option controls
   when renewal points are granted: matching your “Place an Order” timing (default),
   when the renewal payment completes, or when the renewal order is completed. Renewal
   earnings are labelled separately in the points activity log, and refunded or 
   cancelled renewals deduct points as normal.
 * New: (PRO) Added a “Renewal earning rate” option to the Subscriptions settings,
   to award renewal orders a percentage of the regular points (e.g. 50%) or a fixed
   number of points per renewal, instead of the full regular rate.
 * New: Added “Include sign-up fees in points calculations” and “Exclude subscription
   products from earning points” options for initial subscription purchases. Both
   are applied consistently across order awards, cart/checkout previews, and product
   page points messages.
 * New: Added a “Count renewal orders toward the Bonus after X Orders milestone”
   option, so automatic subscription renewals can be excluded from order-count bonuses(
   the “Bonus after X Orders” earning method itself is a PRO feature).
 * New: Added a “Points Value Prefix” option under the Points Label settings tab,
   letting you show a symbol before every points amount (for example a “$” so 100
   points display as “$100”). The prefix is applied everywhere points are shown 
   to customers, including the rewards dashboard, floating rewards widget, product
   pages, cart, checkout and thank you pages, the Claim Rewards page, points history
   and customer emails.
 * New: Added a “Points Icon” option under the Points Label settings tab to show
   a small icon next to points values. Choose from the bundled icons (coin, dollar,
   star, gem, trophy or gift) or upload your own image from the WordPress media 
   library, and choose whether the icon appears only on prominent amounts (balances
   and product/cart totals) or on every points value shown to customers.
 * New: (PRO) The “Use different multipliers per earn type” option under Levels &
   Badges now includes every way to earn, including the “Product Offers & Bonuses”,“
   Daily Prize Wheel” and any developer-registered “Custom Ways to Earn”, so each
   can have its own multiplier.
 * New: (PRO) The “Cart: Coupon Applied” conditional rule condition can now be left
   blank to match ANY applied coupon, instead of requiring specific coupon codes.
   This makes it easy to reduce or disable points whenever a customer uses any discount
   voucher (for example, pair it with the “Hide/Disable” action to award no order
   points on any coupon order). Entering one or more codes still targets only those
   coupons as before.
 * New: (PRO) The “Cart: Coupon Applied” conditional rule condition now includes“
   Coupon Types” checkboxes, letting you choose which coupon types count for the
   condition: “Regular WooCommerce Coupons”, “Points Voucher Coupons” (including
   Prize Wheel vouchers) and “Points Referral Coupons”. All types are enabled by
   default, so existing rules are unchanged.
 * New: (PRO) Added a “Color” column to the Prize Wheel prizes settings, allowing
   each prize’s panel colour on the wheel to be customised. Colours default to the
   wheel’s existing palette, so existing wheels are unchanged.
 * New: (PRO) Added “Exclude products from points redemption” and “Exclude product
   categories from points redemption” options under Rewards > Advanced Settings.
   The value of any matching cart items is removed from the cart total used to cap
   the points discount at checkout, so points can no longer be redeemed against 
   those products (for example, items in a Sale category). Works alongside the existing“
   Maximum cart percentage for points redemption” limit, and is enforced on both
   the redemption slider and server-side.
 * New: (PRO) Added a “Minimum cart total required to redeem points” option under
   Rewards > Points Discount on Checkout > Advanced Settings. Customers cannot pay
   with points until the cart reaches this amount. When the cart is below the minimum,
   the redemption slider and “Add Discount to Cart” button are disabled and an explanatory
   note is shown beneath the tool on the cart and checkout. The requirement is enforced
   server-side too, so an already-applied discount is automatically removed if the
   cart later drops below the minimum (for example, after removing items). Works
   alongside the existing “Maximum cart percentage for points redemption” limit.
   Set to 0 for no minimum.
 * New: Redesigned the admin “Reports & Analytics” page. Added a date range dropdown
   with quick presets (All time, Last 7/30/90 days, Last 12 months, or a custom 
   range), a new “Points Trend” chart showing points earned vs redeemed over time(
   daily for shorter ranges, monthly for longer ones), and a new “Points Redeemed
   Per Method” section breaking down where points are being spent or deducted (reward
   redemptions, order refunds/cancellations, points expiry, admin adjustments, referral
   clawbacks and prize wheel spin purchases). The “Points Earned Per Method” boxes
   now also show how many times each method was awarded, and the stat boxes are 
   laid out in a tidier grid of up to five per row.
 * New: Added new metrics to the “Reports & Analytics” overview: “Redemption Rate”(
   the share of earned points that have been redeemed in the selected range), “Points
   Liability” (the monetary value of all points currently in circulation, calculated
   from your points redemption rate), “Avg Earned / Customer” (average points earned
   per active customer in the range) and “Outstanding Vouchers” (claimed reward 
   vouchers that have not been used or expired yet, including the combined value
   of fixed-amount vouchers).
 * New: Added an “Export CSV” button to the “Customer Points” admin page, allowing
   every customer’s points balance and lifetime earned total to be downloaded as
   a CSV file.
 * New: Added an “Export CSV” button to the “Points Activity Log” admin page, allowing
   the points activity log to be downloaded as a CSV file. The download respects
   any filters currently applied to the log (date range, customer, action text, 
   points range and type).
 * New: Added an “Import / Export Settings” section to the plugin settings page,
   opened with the small link at the very bottom of the settings page. “Export Settings”
   downloads every plugin setting as a JSON file, for backups or for copying your
   configuration to another site, and “Import Settings” restores a previously exported
   file. Imported values pass through the same validation and sanitisation as a 
   normal settings save, and any settings not present in an imported file (for example
   an older export from a previous version) keep their current values rather than
   being reset.
 * New: Added anti-fraud controls to the referral system under Earn > Referral System.“
   Only award referral points for new customers” limits the referral bonus to a 
   referred customer’s first order, so their repeat orders no longer keep rewarding
   the referrer. “Maximum referral bonuses per referrer per day” caps how many referral
   bonuses one customer can earn each day (set to 0 for no limit). An optional “
   Block referral points when the order IP matches the referrer” check skips the
   bonus when a referred order is placed from the same IP address as one of the 
   referrer’s own recent orders. All three are disabled by default so existing behaviour
   is unchanged.
 * New: (PRO) Expired reward voucher coupons are now automatically deleted on a 
   daily schedule when “Auto Delete Expired” is enabled, instead of only being removed
   when the Reward Vouchers admin page is opened.
 * Tweak: The “Potential Points” in the admin order meta box, the customer detail
   page pending points, and the order “thank you” page projections now use the same
   final points calculation as the actual award, so level multipliers, earning caps,
   conditional rules and subscription renewal rates are all reflected consistently
   before points are granted.
 * Tweak: Split the “General Settings” tab in the plugin settings into three dedicated
   tabs for easier navigation: “Points Label” (rewards/points labels, value prefix
   and points icon), “Product Pages” (points messages on product pages and category/
   shop listings) and “Terms and Conditions”. The “Settings” buttons for the voucher
   expiry and auto-delete features on the PRO Features tab now also open the “Points
   Expiry” tab where those settings live.
 * Tweak: …

## Meta

 *  Version **2.3.0**
 *  Last updated **1 week ago**
 *  Active installations **400+**
 *  WordPress version ** 6.2 or higher **
 *  Tested up to **7.1.3**
 *  PHP version ** 7.4 or higher **
 *  Languages
 * [English (US)](https://wordpress.org/plugins/simple-points-and-rewards/) and 
   [Russian](https://ru.wordpress.org/plugins/simple-points-and-rewards/).
 *  [Translate into your language](https://translate.wordpress.org/projects/wp-plugins/simple-points-and-rewards)
 * Tags
 * [Loyalty](https://emoji.wordpress.org/plugins/tags/loyalty/)[Points and Rewards](https://emoji.wordpress.org/plugins/tags/points-and-rewards/)
   [Reward points](https://emoji.wordpress.org/plugins/tags/reward-points/)[woocommerce](https://emoji.wordpress.org/plugins/tags/woocommerce/)
   [woocommerce rewards](https://emoji.wordpress.org/plugins/tags/woocommerce-rewards/)
 *  [Advanced View](https://emoji.wordpress.org/plugins/simple-points-and-rewards/advanced/)

## Ratings

 5 out of 5 stars.

 *  [  7 5-star reviews     ](https://wordpress.org/support/plugin/simple-points-and-rewards/reviews/?filter=5)
 *  [  0 4-star reviews     ](https://wordpress.org/support/plugin/simple-points-and-rewards/reviews/?filter=4)
 *  [  0 3-star reviews     ](https://wordpress.org/support/plugin/simple-points-and-rewards/reviews/?filter=3)
 *  [  0 2-star reviews     ](https://wordpress.org/support/plugin/simple-points-and-rewards/reviews/?filter=2)
 *  [  0 1-star reviews     ](https://wordpress.org/support/plugin/simple-points-and-rewards/reviews/?filter=1)

[Your review](https://wordpress.org/support/plugin/simple-points-and-rewards/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/simple-points-and-rewards/reviews/)

## Contributors

 *   [ Elliot Sowersby / RelyWP ](https://profiles.wordpress.org/elliotvs/)
 *   [ RelyWP ](https://profiles.wordpress.org/relywp/)
 *   [ Freemius ](https://profiles.wordpress.org/freemius/)

## Support

Issues resolved in last two months:

     3 out of 3

 [View support forum](https://wordpress.org/support/plugin/simple-points-and-rewards/)

## Donate

Would you like to support the advancement of this plugin?

 [ Donate to this plugin ](https://relywp.com/)