=== Simple Points and Rewards for WooCommerce - Create a Loyalty Program ===
Contributors: ElliotVS, RelyWP, freemius
Donate link: https://relywp.com/
Tags: woocommerce, points and rewards, reward points, woocommerce rewards, loyalty
Requires at least: 6.2
Tested up to: 7.0
Requires PHP: 7.4
Stable tag: 2.1.0
License: GPLv3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
WooCommerce Points and Rewards plugin. Create a simple but powerful loyalty program. Reward purchases, referrals, and much more.
== 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.
[youtube https://www.youtube.com/watch?v=JbT0KFVoZ48]
## 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 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
## 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.
== 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.
== Frequently Asked Questions ==
= 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.
- 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 for details.
Font Awesome: The plugin uses Font Awesome (free) for icons; see Font Awesome privacy and terms 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 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. 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.
== Screenshots ==
1. Customer Rewards dashboard: Ways to Earn
2. Customer Rewards dashboard: Ways to Redeem
3. Customer Rewards dashboard: Levels and Badges
4. Customer Rewards dashboard: Points Log History
5. Admin settings example: Rewards tab
6. Admin settings example: Ways to Earn tab
7. Admin settings example: Levels & Badges tab
== Changelog ==
= 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 bottom of the plugin 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: (PRO) Moved the plugin's scheduled background tasks — delayed points, points inactivity expiry, birthday bonuses, guest reminder emails and expired coupon/voucher cleanup — from WordPress cron (WP-Cron) to Action Scheduler, which is bundled with WooCommerce. This makes these tasks more reliable and lets you monitor them under WooCommerce > Status > Scheduled Actions. Existing scheduled events are migrated automatically when you update, the plugin falls back to WP-Cron if Action Scheduler is ever unavailable, and all scheduled tasks are cleared cleanly when the plugin is deactivated.
- Tweak: (PRO) Points inactivity expiry and guest reminder emails now process customers in batches that continue until finished, instead of handling everyone in a single run, preventing timeouts or memory issues on stores with very large customer bases.
- Tweak: (PRO) The floating rewards widget no longer loads the Font Awesome icon library on every page of your site. The widget button's icon is now rendered as a lightweight inline SVG, and the icon library is only loaded when a customer opens the widget, removing a large render-blocking stylesheet and font download for faster page loads.
- Fix: (PRO) The "Bonus after X Orders" milestone now detects WooCommerce High-Performance Order Storage correctly. Previously, stores still using legacy (posts) order storage on modern WooCommerce counted orders from the empty HPOS table, so the milestone could never be reached.
- Fix: (PRO) The level points multiplier (and any per-earn-type multipliers) is now correctly applied to all bonus ways to earn. Previously it was only applied to order-based earning, so daily login, login streak, birthday, signup, review, first order, bonus after X orders, referral and social sharing points ignored the level multiplier.
- Fix: (PRO) The birthday date entered on the rewards dashboard is no longer shifted back a day (e.g. saved as October 7th but shown as October 6th) on stores whose timezone is behind UTC. The date is now stored and displayed exactly as entered, regardless of the site timezone.
- Fix: Hardened all points balance changes against concurrent requests. Balances are now updated atomically at the database level, and reward redemptions, order point awards/deductions, checkout points discounts, prize wheel spins, spin purchases and social share rewards are serialised, so double-clicks or simultaneous requests can no longer double-spend or double-award points. Manual balance edits on a user's profile page are now also recorded in the Points Activity Log.
- Fix: Points redeemed as a discount at checkout are now re-checked against the customer's current balance both when the discount is applied and when the order is placed. Previously, if the balance no longer covered the points (for example after redeeming those same points for another reward first), the order could still keep the full points discount without the points actually being deducted. The discount is now automatically removed when the points are no longer available, and the checkout deduction refuses rather than reducing to zero, so points can never be spent twice.
- Fix: Hardened the referral points award and refund deduction against concurrent requests, so simultaneous order status changes or refund events can no longer award or deduct referral points twice for the same order.
- Fix: Strengthened self-referral blocking so it also matches a referred order's billing email against the referrer's account and billing email. Previously only the logged-in account was checked, so a customer could bypass it by logging out or checking out as a guest with their own email.
- Fix: (PRO) The "Usage Limitation" option for referral gift coupons is now enforced. Previously gift coupons were always created with unlimited uses regardless of the setting; each referred customer's coupon is now limited to a single use (per email address or per user account) unless "Unlimited uses" is selected. The limit also applies to gift coupons created before this update.
- Fix: Corrected the referrer's "successful referrals" count being increased more than once for a single coupon-based referral (and when a referred order was later refunded).
- Fix: The checkout/cart rewards box points summary tooltip now shows on the cart page too, not just the checkout page. Previously the summary breakdown was only built on the checkout page, so the tooltip never appeared on the cart even when "Show points summary" was enabled.
- Fix: (PRO) Delayed points are no longer capped at 25 releases per hour. Due points are now released in continuing batches until the backlog is cleared, so stores that award a large volume of delayed points no longer build up an ever-growing queue of unreleased points.
- Fix: (PRO) Opening the "Reward Vouchers" or "Referral Gift Coupons" admin pages with "Auto Delete Expired" enabled could delete vouchers or coupons that had not actually expired yet, because their expiry date was misread. Expiry dates are now read correctly, so only genuinely expired vouchers and coupons are removed.
- Fix: (PRO) The "View Products" button on the "Write a Review" card of the rewards dashboard did nothing when clicked on some sites. The dashboard's scripts and stylesheets were being served with a fixed version number that never changed between plugin updates, so browsers, CDNs and caching plugins kept serving an older cached copy from before the button existed. Every plugin script and stylesheet is now versioned with the plugin version, so updated files are always picked up straight after an update — this also fixes any other feature that appeared to be missing or unresponsive because an outdated file was still cached.
- Fix: (PRO) The list of products inside the "Products to Review" popup lost its list formatting on the My Account rewards dashboard (it was unaffected on pages using the rewards shortcode). The popup's screen reader labelling was also being stripped out. The dashboard's HTML filtering now allows list markup and accessibility attributes through, so the popup displays correctly and is announced properly by assistive technology.
- Other: Updated the Freemius SDK.
= Version 2.0.0 - 2nd July 2026 =
- New: (PRO) Added "Product Offers & Bonuses", a new way to earn that awards bonus points for purchasing specific products, product bundles or product categories. Each rule has its own points value, minimum quantity, earning frequency (once/daily/weekly/monthly/unlimited), lifetime award cap and tracking mode (met within a single order, or accumulated across orders over time). Rules can also have an active start/end date and time with an optional live countdown timer, a "Special Offer" box on matching product pages, and appear on the rewards dashboard with product images (rotating between images for bundles), product links and an add-to-cart button.
- New: (PRO) Added "Custom Ways to Earn", a developer API to register your own ways to earn points entirely from code with spar_register_custom_earn_way(). Each way supports points, earning frequency (once/daily/weekly/monthly/unlimited), a lifetime cap per user, role restrictions, an active start/end date and time, and an optional live countdown, dashboard card and button. Registered ways appear read-only in the "Ways to Earn" settings (where their rules are shown and their display order can be dragged), and points are awarded from your code via spar_award_custom_earn_way() or the spar_custom_earn_trigger action, with a spar_custom_earn_points filter to adjust the points on the fly.
- New: Added an "Apply tax reduction to redeemed points" option under "Include tax in points preview" in the Points Discount on Checkout settings. When enabled, points redemptions are applied as a taxable discount fee so tax services such as Avalara can reduce the taxable order amount. This option is only shown on stores where an Avalara/AvaTax integration is detected, and defaults to enabled on those stores. A "Points redemption tax class" selector also appears when this option is enabled, allowing the fee to use the default or a custom WooCommerce tax class.
- New: (PRO) Added a "Limit per product" option to the "Write a Review" way to earn, controlling how many reviews per product can earn points for each customer.
- New: (PRO) Added a "Require the customer to have purchased the product" option to the "Write a Review" way to earn, only awarding review points when WooCommerce can verify the purchase.
- New: (PRO) Added a "Show purchased products they have not reviewed yet" option that adds a "View Products" button to the Write a Review card, listing purchased products with their review status and links to review the ones still eligible for points.
- New: Added a "Do not award points on orders where points were redeemed at checkout" option under Earn > Place an Order. When enabled, customers earn no points on orders where points were redeemed at checkout. Disabled by default, so points continue to be awarded on the remaining non-redeemed order balance.
- New: Added a "Custom Benefits" field to the Starter (Level 0) tier under Levels & Badges, so the benefits shown to customers for the Starter level can be edited. The Levels settings now also preview the exact benefits customers see for the Starter level instead of a fixed placeholder.
- New: Added a "Show points discount on" option to the Points Discount on Checkout settings, allowing the points discount tool to be limited to the cart page, the checkout page, or both.
- New: (PRO) Added a "Free Product Bundle" reward type, allowing you to select multiple products that are all added to the cart for free when the reward is redeemed. Bundle products are added as individual line items (so they behave like a normal order) but are grouped and styled together as a bundle in the cart and checkout.
- New: Added a "Product Image" option to the "Reward Icon" setting for Free Product and Free Product Bundle rewards. When selected, the product image is shown on the rewards dashboard instead of an icon (a rotating image carousel is shown for bundles), and it is auto-selected when a reward's type is changed to a product or product bundle.
- New: Added a "Show total value" option to Free Product and Free Product Bundle rewards, displaying the total value of the product(s) beneath the name on the rewards dashboard, the Claim Rewards tab and the cart/checkout rewards tool.
- New: Each level in the Levels & Badges settings now has its own WordPress user capability (shown when editing the level) that is automatically granted to customers at that level, so you can restrict content to a level using a membership/restriction plugin or your own code.
- New: Added "Minimum spend to earn", "Maximum points per order" and "Exclude on-sale / discounted products" limit options to the "Place an Order" way to earn, giving more control over when and how many points are awarded on spend-based orders.
- New: Added a "Maximum percentage of total" limit option to the "Place an Order" way to earn, capping the awarded points so their redeemable value never exceeds a set percentage of the order total (using your redemption rate).
- New: Added a "Duplicate" button to the "Rewards" and "Levels & Badges" lists, allowing you to quickly copy an existing reward or level and edit it.
- Tweak: The checkout/cart rewards box points summary tooltip now lists any configured earning limits (minimum spend, maximum percentage of total, maximum points per order and on-sale exclusion).
- Tweak: Converted the field descriptions in the "Limits" section of the "Place an Order" way to earn into hover tooltips for a cleaner, more compact layout.
- Tweak: Redesigned the "Ways to Earn" settings so each way to earn's options are grouped into clearly separated, boxed sections laid out in responsive columns (up to three per row) for easier scanning.
- Tweak: Converted the checkboxes within the "Ways to Earn" settings to toggle switches for a more consistent look, and fixed some checkbox and label alignment issues.
- Tweak: Added an option to customise the color of the font awesome icons used in the "Levels & Badges" settings.
- Tweak: Replaced the "Badge Icon", "Reward Icon" and "Widget Icon" dropdowns with a modern visual icon picker that shows each option as a selectable box with the icon previewed, making it easier to see and choose an icon.
- Tweak: Added many more Font Awesome icon options to the "Badge Icon", "Reward Icon" and "Widget Icon" pickers.
- Tweak: Added an "Upload / Select" button next to the "Custom Icon (Image URL)" fields, allowing an image to be chosen from or uploaded to the WordPress media library instead of pasting a URL.
- Tweak: (PRO) Updated some of the descriptions in the conditional rules settings.
- Tweak: (PRO) The floating rewards widget now shows the discount the referral coupon gives (e.g. "Give your friends 10% off!") beneath the "Your Referral Coupon:" heading on the Refer tab.
- Tweak: Made a few styling improvements to the "Points for Referrals", "Claim Prize Wheel Spins" and "Points Discounts" sections on the rewards dashboard.
- Tweak: Free product and bundle vouchers now show the reward/bundle name followed by the included product names in brackets (e.g. "Epic Bundle (Product A, Product B)") on the "My Vouchers" cart/checkout tab and the "Your Vouchers" rewards dashboard tab.
- Tweak: Limited the width of the "Amount" column on the "Your Vouchers" rewards dashboard table so long product/bundle names wrap instead of pushing the "Status" column out of alignment.
- Tweak: Updated the admin "Reports & Analytics" page to show all the different "Points Per Method" boxes for each earning method, since it was missing some of them that were enabled.
- Tweak: Updated the tick emoji used on thte rewards dashboard to a Font Awesome icon for better cross-platform consistency.
- Tweak: Made a few small performance improvements.
- Fix: Fixed the checkout rewards box points summary tooltip not showing on the cart page. It now appears on both the cart and checkout rewards box when enabled.
- Fix: (PRO) Fixed reward vouchers not copying category restrictions (and other array-based restrictions) from a template coupon. The restrictions are now correctly applied to the generated voucher coupon.
- Fix: (PRO) Fixed Conditional Rules with "Cart: Product Category / Is in Cart" and "Hide and disable this way to earn points" not preventing points from being earned. The rule now correctly disables all points for the order (spend-based and fixed-tier) when a matching category product is in the cart.
- Fix: (PRO) Fixed the History tab of the floating rewards widget showing a stuck "Available in …" placeholder for pending points when the widget is lazy-loaded. The pending points countdown now loads and updates live in that mode.
- Fix: (PRO) Hardened the social sharing reward so points can only be earned for the supported share networks. The award request now validates the network against a whitelist, preventing a logged-in customer from repeatedly earning points by sending a blank or arbitrary network value.
- Other: Updated translation files.
- Other: Updated Freemius SDK.
= Version 1.12.1 - 30th May 2026 =
- Fix: Fixed the maximum cart percentage note for points redemption showing before the "Redeem Points" toggle was opened.
= Version 1.12.0 - 27th May 2026 =
- New: Added PRO Points Delay settings to delay earned points globally or per earning method, with pending point release automation and refund/cancellation handling.
- New: Added a "Include tax in points preview" option to the "Points Discount on Checkout" settings, which when enabled will include tax in the discount amount calculation and preview to match the actual discount applied on checkout when taxes are enabled.
- New: Added an "Add New Points" tool to the Customer Points and Points Activity Log admin page, allowing admins to add or remove points for a specific user or all users (with optional role filter) in bulk.
- Tweak: Added font awesome icons as options for the reward icon and level icon options, as well as an option to customise the icon color.
- Tweak: (PRO) Changed the "Coupon Tracking Mode" option to a dropdown with "Flexible Mode" as the default.
- Tweak: (PRO) The "Gift Coupon Expiry" setting now directly controls the lifetime of the referral coupon cookie. The expiry timestamp is stored at the moment the referral link is clicked, ensuring the countdown and expiry are measured from that point. The offer widget is hidden and cookies are cleared once the time is up.
- Tweak: (PRO) Added an "Auto-apply coupon when referral link is visited" option to the referral gift offer settings. When enabled, the gift coupon is automatically added to the customer's cart without requiring them to click "Apply Coupon" (disabled by default).
- Tweak: (PRO) The floating gift widget now remains visible after the coupon has been applied to the cart, showing a "Gift Applied!" confirmation state instead of disappearing.
- Tweak: Made a few styling improvements to the admin settings page.
- Fix: Fixed an issue with some websites not being able to save settings due to their database not supporting emoji characters.
- Fix: Improved "Save All Settings" reliability by ensuring the settings admin script uses the plugin version for cache busting, preventing older cached JavaScript from running after plugin updates.
- Fix: Fixed the bulk delete option on the points activity log admin page not working.
- Fix: (PRO) Fixed the floating gift widget not showing on the first page load after a referral link is visited.
= Version 1.11.3 - 21st May 2026 =
- Fix: Removed hidden UTF-8 BOM output from PHP files that could trigger activation warnings.
- Other: Updated translation files.
- Other: Tested with WordPress 7.0
= Version 1.11.2 - 20th May 2026 =
- Tweak: Configured points labels (e.g. "Reward Points") now resolve through gettext, so translations applied in Loco Translate are reflected on the front end.
- Tweak: Corrected tax-inclusive points discount totals to work better when taxes are displayed as inclusive.
- Tweak: Cart and checkout reward box strings are now correctly translatable via Loco Translate.
- Fix: Fixed the "Reward Icon" not replacing the default on the rewards dashboard.
- Fix: Hardened Cart/My Account cart/session checks to prevent potential PHP errors.
- Fix: Fixed a PHP warning on the floating rewards widget lazy-load placeholder.
- Fix: Fixed a TypeError thrown when applying a voucher generated from a template coupon that had brand restrictions set.
= Version 1.11.1 - 18th May 2026 =
- New: Added a "Reward Icon" option to the Rewards settings, allowing store owners to customise the icon displayed for each reward. Supports preset emoji icons, a custom image URL, or custom text/emoji.
- New: (PRO) Added a "Sync Points" tool to the Guest Customer Points admin page, allowing admins to backfill points for historical guest orders.
- New: (PRO) Added an "Add Guest Customer" button to the Guest Customer Points admin page, allowing admins to manually create a new guest customer record and grant an initial points balance.
- Tweak: (PRO) Stopped long email addresses overflowing into adjacent columns on the Guest Customer Points table.
- Tweak: (PRO) Improved the layout of the "Conditional Rules" settings on smaller screens.
- Tweak: Added a button to hide the setup guide section on the settings page.
- Tweak: (PRO) Fixed an issue in the WooCommerce Points & Rewards migration where users with a legitimate zero balance were incorrectly migrated with a positive balance.
- Tweak: Added a "Points rounding" option to the "Points for Spending" earn settings, allowing store owners to choose how fractional points are handled when a purchase amount doesn't divide evenly - options are Round down (default), Round to nearest, or Round up.
- Tweak: Added a "Hide from the ways to earn list once rewarded" option to the Signup Bonus settings, allowing the signup bonus to be automatically hidden from the ways to earn list for users who have already received it.
- Tweak: Added Telegram, Discord, and TikTok to the social share options for the referral system.
- Tweak: (Free) Added details about many of the PRO features in the PRO settings tabs to better explain the benefits of upgrading.
- Fix: Fixed the "History" tab on the rewards dashboard missing its styling in some shortcode and page builder contexts.
- Fix: Fixed not being able to scroll on the settings page when hovering over the settings tabs.
- Fix: Improved "Save All Settings" reliability on hosts with low PHP max_input_vars, including a standard form-save fallback when AJAX is unavailable.
- Fix: Fixed the "Reward Points History" timeline not switching styles in dark mode.
- Fix: Fixed points being displayed on variable product pages before a variation is selected, and when the variation selection is cleared.
= Version 1.11.0 - 17th April 2026 =
- New: (PRO) Added a new "Guest Customer Points Tracking" feature to track points for guest checkout orders and automatically migrate them when the customer registers or logs in.
- New: Added a "Level Points Requirement" option to the Levels & Badges settings, allowing you to choose whether level progression is based on total points earned (lifetime) or the customer's available points balance.
- New: (PRO) Added options to set unique multipliers for specific "ways to earn", to each level in the Levels & Badges settings, allowing different point multipliers to be set for each way to earn points (e.g. a higher multiplier for orders than for reviews). Each level benefit section is now displayed in its own styled box for improved readability.
- New: Added a "Background Color" option to the "Product Pages: Points Display" settings for both product pages and category/shop listings, allowing customization of the points message background color.
- Improvement: Added a new {points_value} placeholder for the "Product Pages: Points Display" message fields, which displays the monetary value of the earned points based on the "Points Discount on Checkout" conversion rate (e.g. if 100 points = $1 and a product earns 500 points, {points_value} shows "$5.00"). Available when Points Discount on Checkout is enabled.
- Improvement: Updated the "Reward Points History" on the rewards dashboard to have a more modern design.
- Improvement: Made several performance improvements to reduce database queries on the frontend and admin, particularly for stores with large amounts of coupons or order volumes.
- Fix: Fixed a performance issue where the voucher lookup on cart and checkout pages performed expensive queries, causing slow page loads on stores with large numbers of coupons.
- Fix: Fixed the "Product" field on the Rewards settings tab not appearing instantly when changing the "Reward Type" to "Free Product" — it now shows immediately via JavaScript without requiring a page refresh.
- Fix: Fixed vouchers in the "My Vouchers" tab on the checkout rewards box not showing "+ Free Shipping" alongside the discount amount (e.g. "$5 Off + Free Shipping") when the reward had free shipping enabled.
- Fix: On the checkout rewards box, fixed the "Available Rewards" tab not showing the free shipping label for rewards that had free shipping enabled.
- Fix: Tweak to how tax is handled in the points redemption discount fee on checkout to ensure it works correctly with various tax settings.
- Fix: Fixed an issue where checkbox/toggle settings could revert to defaults on save, particularly on new installs. Caused by the save handler forcing unchecked state for checkboxes whose form sections were not rendered (e.g. PRO-only earn types on free installs). The save logic now detects whether each earn type's form section was actually present before overwriting checkbox values.
- Fix: Fixed the checkout rewards box appearing multiple times on custom checkout pages built with Divi (or other page builders) that use multiple checkout modules, each of which triggered a separate render of the rewards box.
= Version 1.10.1 - 20th March 2026 =
- New: Added a toggle option above the "Earn Points Text" field to show or hide the intro message on the Earn Points tab (enabled by default).
- Tweak: The "Product Pages: Points Display" settings section in General Settings is now automatically shown or hidden based on whether a points-for-spending earn method ("Points for Spending" or "Points for Orders") is enabled.
- Fix: Fixed a fatal error when redeeming a product-type reward, caused by the WooCommerce cart not being initialised at the wp_loaded hook stage. The cart is now explicitly loaded before processing product reward redemptions.
- Fix: Fixed the "Earn Points" intro message (configurable via the "Earn Points Text" setting) not appearing at the top of the Earn Points tab on the rewards dashboard.
- Fix: Fixed the "Edit coupon" link for the Template Coupon setting on the Rewards tab not linking to the correct WooCommerce coupon edit page.
- Fix: Fixed points displayed on product pages being calculated including tax when "Include taxes in calculation total" is disabled. The product page now correctly uses the tax-exclusive price, matching the cart and checkout calculation.
= Version 1.10.0 - 2nd March 2026 =
- New: (PRO) Added a new "Prize Wheel" reward type that customers can redeem points for a chance to win various prizes. The wheel segments, prizes, and odds are fully customizable in the settings.
- New: Added a way to re-order the "Ways to Earn" on the rewards dashboard and widget with a drag-and-drop interface in the settings.
- New: Added a "Theme Style" option for the checkout rewards box to choose between light and dark mode styles.
- New: Added a "Main Text Color" option for the "Points Discount on Checkout" settings to control the font color of descriptive text and limit notices in the points discount tool.
- New: Added a "Text Color" option for both "Product Pages: Points Display" settings (single product pages and category/shop listings) to control the font color of the points message.
- New: (PRO) Added new "Product" and "Product: Category" conditions for the conditional rules, to only modify earning points for specific products or categories.
- New: Added a "Template Coupon" option for Discount Voucher/Coupon rewards, allowing you to select an existing WooCommerce coupon as a template. All coupon settings (minimum spend, product restrictions, etc) are copied to generated vouchers. Includes a "Create New Template" button for quick setup.
- Tweak: On the checkout rewards box, in the "My Vouchers" tab, it will now show any limitations on the voucher (minimum spend, product/category restrictions, etc) if they exist, to give customers more information about the voucher before applying it.
- Tweak: Added an option to show the confetti animation on the checkout rewards box when a reward is redeemed.
- Tweak: Always show the "Grant points now" button on the order edit page when points have not been awarded, regardless of the award timing setting, to allow manual awarding of points if needed.
- Tweak: Made a few tweaks to the admin header, and settings page footer.
- Tweak: Made a few small performance improvements.
- Fix: Fixed level multipliers not displaying more than 1 decimal place (e.g. "1.75" was incorrectly shown as "1.8"). The admin input now also supports 2 decimal places.
- Other: Updated translation files.
= Version 1.9.0.2 - 20th February 2026 =
- Fix: Fixed an issue on the settings page when using any language other than English.
- Other: Updated translation files.
= Version 1.9.0.1 - 20th February 2026 =
- Fix: Fixed a fatal PHP ValueError ("Unknown format specifier 'p'") triggered by an incorrect use of esc_html__() as a printf() format string in the Conditional Rules settings tab.
- Fix: Fixed settings tabs not switching when using the Pro version, caused by the above fatal error breaking the page render and preventing JavaScript from loading correctly. Also added a missing spar-premium-disabled guard to the jQuery tab-click handler for consistency with the vanilla JS fallback.
= Version 1.9.0 - 14th February 2026 =
- New: Added new individual customer points pages to view points summary and history for each customer in the admin area. Accessible via the "Customer Points" admin page by clicing the view button for a customer.
- New: Added a maximum cart percentage setting for points redemption to limit the percentage of cart total that can be paid with points (premium feature).
- New: Added dark mode support for the rewards dashboard with toggle button, default setting, and optional header dark mode.
- New: Added accent color setting for theme customization.
- New: Added "Award points" timing option for First Order Bonus to choose between immediate or on-completion award (similar to Points for Spending).
- Tweak: Improved the customer points admin table layout with equal-width columns and centered content.
- Tweak: Simplified the customer detail page admin slug from "spar-customer-detail" to "spar-customer".
- Tweak: Updated admin reports page user links to redirect to the custom customer detail page instead of WordPress user edit page.
- Tweak: Applied primary color CSS variable to compact checkout points discount panels for consistent theming.
- Tweak: Enhanced review count display on rewards dashboard to show pending reviews separately from approved reviews with status indicators.
- Tweak: First-order bonus is now included in order "potential points" calculation in admin meta box.
- Tweak: First-order bonus is now stored as order meta (points_first_order_bonus) immediately when order is created for proper tracking.
- Tweak: The points_earned order meta now includes first-order bonus when awarded.
- Tweak: Post-order messages now properly split between immediate and completion points, showing both messages when timing differs.
- Tweak: Guest users now see first-order bonus in "Login to earn X points" message to encourage registration.
- Fix: Fixed the WooCommerce currency format settings not being applied correctly in some cases.
- Fix: Fixed bug where first-order bonus was not being credited to new users due to incorrect array initialization logic.
- Fix: Fixed checkout preview not displaying first-order bonus points in the "You will earn X points" message.
- Fix: Fixed review count showing "Reviews written: 0" when pending reviews exist - now displays pending and approved counts separately.
- Fix: Fixed post-order "You will earn X points when completed" message not including first-order bonus when award timing is set to "When order is completed".
- Fix: Fixed points not being awarded when manually approving reviews - corrected comment status check from 'approve' to 'approved'.
- Fix: Fixed first-order bonus being deducted twice on order refund/cancellation.
- Fix: Fixed points_earned not being removed when points_deducted is set on refund/cancellation.
= Version 1.8.0 - 28th January 2026 =
- New: Added a variety of new shortcodes to display a variety of data and interfaces anywhere. See the Shortcodes tab in Settings for details.
- New: Added a option to show a Link Clicks log table on the rewards dashboard and widget.
- Tweak: Paginations now show a max of 5 page number buttons.
- Tweak: When an order is completed but the points have not yet been awarded, a "Grant points now" button is now shown in the order meta box.
- Tweak: Added an option to choose the "completed" order status for the "Points for Orders" earning method.
- Fix: Fixed an issue with the layout of the points discount redemption panel in the FunnelKit side cart.
- Fix: Fixed an issue with not being to edit rewards and levels since the last update.
- Fix: Fixed the styling of the "Add items to your cart to redeem points at checkout." message on the order thank you page, in the checkout rewards box.
- Other: Updated translation files and added French, German, Japanese, and Chinese translations.
= Version 1.7.2 - 27th January 2026 =
- New: Added a "Widget Size" setting for the floating rewards widget with Regular, Large, Extra Large, and Full Height options.
- New: Added a display location setting for "Points Discount on Checkout", so you can now display it within the checkout rewards box, within the checkout totals (previous default), or both.
- New: Added a Points Discount tab to the checkout rewards box if enabled along with voucher rewards.
- New: Added a setting to customize the checkout rewards box "Redeem Rewards" button label.
- Tweak: Added [spar_redeem_discount_compact] shortcode to display the compact points discount redemption interface anywhere.
- Tweak: Refined layout and alignment for the "Points Discount on Checkout" feature.
- Tweak: Rewards dashboard tabs now split evenly to fill the full width.
- Tweak: Added better integration with FunnelKit and its floating side cart.
- Fix: Some admin settings options now toggle sections correctly when clicking the checkbox directly.
= Version 1.7.1 - 26th January 2026 =
- New: Added an option to enable a "dark mode" toggle for the floating rewards widget.
- Tweak: Improved performance of the Customer Points admin table.
- Tweak: Improved compatibility of the points redemption on checkout for custom checkout templates.
- Tweak: Improved styling compatibility for FunnelKit.
= Version 1.7.0 - 19th January 2026 =
- New: (PRO) Added new "conditional rules" functionality to set comprehensive rules for the different earning methods.
- New: Added an option to display a points summary on the checkout rewards box.
- Tweak: Made a tweak to the styling for the ways to earn on the floating rewards widget.
- Tweak: Added a "No Icon" option for the rewards widget, and added a few more icon options.
- Tweak: Added "Custom (Image URL)" and "Custom (Text/Emoji)" options for the rewards widget icon.
- Tweak: Capped checkout points redemption to the maximum usable for the current cart total.
- Tweak: Improved performance of the Customer Points admin table for stores with large user counts.
- Fix: Prevented settings from reverting when saving if the form payload is incomplete.
- Fix: Fixed the calculating for points awarded for orders if the order is partially refunded before being completed.
- Fix: Stabilized points redemption discounts on checkout to prevent erratic amounts when reapplying points.
- Fix: Prevented errors when applying vouchers from the checkout rewards "My Vouchers" list.
= Version 1.6.0 - 22nd December 2025 =
- New: (PRO) Added "daily login bonus" earning method to reward customers for logging into their account daily.
- New: (PRO) Added "login streak" bonus points to the daily login earning method, to reward customers for logging in multiple consecutive days.
- Tweak: Added options to customise the header and subheader text on the rewards dashboard page.
- Tweak: Some small tweaks to the admin settings page styles.
- Fix: Fixed the default "email body" setting for the notification emails show as incorrect HTML entities.
- Fix: Potential fix for font awesome icons not showing in some cases.
- Fix: Fixed an issue in the "Dashboard Tabs" settings with not being able to disable certain tabs.
- Fix: Fixed a PHP warning on the admin log page.
= Version 1.5.0 - 16th December 2025 =
- New: (PRO) Added "social sharing" options to the "Referral System" section in the "Ways to Earn" settings tab. You can then encourage customers to share their referral link on social media platforms to earn points instantly
- New: On the edit order page, in the "Reward Points" meta box, when points have not been rewarded yet, added a button next to "potential points" to edit the potential points value for that order.
- New: Added bulk actions to the admin "Points Activity Log" page to delete or undo points adjustments for selected log entries.
- New: Added migration support for the "YITH WooCommerce Points and Rewards" plugin.
- Tweak: Updated the "Reward Points History" log on the rewards dashboard to show 10 entries per page instead of 5.
- Tweak: Changed the way free product rewards are redeemed. They will now generate a voucher code that can be removed and added at a later date. It will now also limit to one free product.
- Tweak: Improved padding on the block checkout reward discount redemption section.
- Tweak: On variation products, on the product page, the points earning display now shows the correct points for the selected variation.
- Tweak: The checkout rewards box will now show for guest users if enabled in settings.
- Tweak: Settings now auto-save when changing them, with a small notification shown.
- Fix: When adding or removing points manually on the admin "Customer Points" page, fixed an issue where the "Reward Points" and "Total Earned" value was not visually updating properly until the page was refreshed.
= Version 1.4.0 - 23rd November 2025 =
- New: Added migration support for WooCommerce Points and Rewards plugin.
- New: Added migration support for "Points and Rewards for WooCommerce" by WP Swings.
- Tweak: Stopped notification emails from sending when points are added/removed via migration.
- Tweak: Made a few CSS style improvements to the rewards dashboard page for certain themes, for more consistent styling.
- Tweak: Made a few CSS style improvements to the rewards dashboard on mobile devices.
- Tweak: Changed the nav tabs on the rewards dashboard for mobile to a dropdown select menu.
- Tweak: Made a few small changes to the "customer points" admin page.
- Tweak: (PRO) The customers "birthday" is now shown in the customer points admin table.
= Version 1.3.1 - 18th November 2025 =
- Tweak: Fixed the "remove" link not showing on block checkout for the points discount redemption.
- Tweak: Changed the location of the rewards discount redemption on the shortcode checkout page.
- Tweak: Made a few code improvements.
- Other: Updated translations files.
= Version 1.3.0 - 17th November 2025 =
- New: Added new "Points Discount on Checkout" reward type, that lets customers redeem points for an instant discount on their order at checkout. This is a more traditional points redemption method.
- New: Added a "Status" column to the customer points admin page, and when editing users. If set to "banned" the user cannot earn points or view the rewards widget/page.
- New: For "Points for Spending" and "Points for Orders" earning methods, added options to choose how the points are calculated on orders, and if shipping and/or taxes are included in the calculation.
- New: Added an option to display product points across shop/category lists with a configurable placement.
- New: Product and catalog points notices now support custom messages with a {points} placeholder (catalog default shortened to "Earn X reward points").
- New: Added migration support from the WPLoyalty plugin by flycart.
- New: Added migration support from the MyRewards plugin (by Long Watch Studio)
- Tweak: The theme colors are now used for the referrals section on the rewards dashboard.
- Fix: Fixed the available rewards and my vouchers labels when both a discount and free shipping was enabled on the checkout rewards box.
- Fix: Fixed an issue with the floating rewards widget not loading correctly in some cases since 1.2.0.
- Fix: Fixed the wrong currency symbol being shown in some cases.
- Fix: Fixed an issue with manual points adjustments on the admin customer points page.
= Version 1.2.1 - 12th November 2025 =
- Fix: Fixed an PHP error with version 1.2.0.
= Version 1.2.0 - 12th November 2025 =
- New: Added an option to send an email to customers when they level up. Configurable per level.
- New: (PRO) Added "Points Inactivity Expiry" feature to expire points after a set period of inactivity. Includes reminder emails and dashboard notices.
- New: Added options to customise the colors for the checkout rewards box.
- New: Added an option to set the "Product points display location".
- Tweak: (PRO) Improved the floating rewards widget on mobile.
- Tweak: (PRO) Improved the speed of loading the floating rewards widget.
- Tweak: You can now set a custom emoji for the levels icons, or a custom image URL, in addition to the preset icon options.
- Tweak: Increased the font size for the levels description on the rewards widget for better readability.
- Tweak: Made a few small design tweaks.
- Fix: (PRO) Fixed the floating rewards widget not being hidden when disabled.
- Fix: (PRO) Fixed an issue on the floating widget not showing currency symbols correctly in some cases.
- Fix: Fixed a few instances where strings were not properly escaped for translation.
- Other: Updated to Freemius SDK 2.13.0.
= Version 1.1.2 - 10th November 2025 =
- Fix: Fixed an issue with the "Custom (Developer Hook)" reward type settings not showing.
= Version 1.1.1 - 10th November 2025 =
- New: Added "Custom (Developer Hook)" reward type for developers to create bespoke rewards via hooks.
- Tweak: Added a "Quick Setup Guide" section to the Settings page for first-time users.
- Tweak: Added some compact analytics to the admin header section on the plugins pages, for points in circulation, redeemed points, and users with points.
- Tweak: Moved the "Checkout Rewards Box" settings to their own settings tab.
- Fix: Fixed the "Show coupon gift offer on cart page" and "Show coupon gift offer on checkout page" settings not showing anything.
- Fix: Fixed a few small issues.
= Version 1.1.0 - 8th November 2025 =
- New: (PRO) Added "First Order Bonus" earning method.
- New: (PRO) Added "Bonus after X Orders" earning method.
- New: (PRO) Added "Write a Review" earning method.
- New: (PRO) Added "Birthday" earning method.
- New: Renamed "Points for Orders" to "Points for Spending" in the earning methods, and added new "Points for Orders" which gives a fixed amount per order.
- New: Added new tabs to the rewards page for easier navigation.
- New: Added multi-currency option for the "points for spending" earning method.
- New: Added a new "Dashboard Tabs" section to the "Rewards Dashboard" settings to re-order the tabs, and change the tab names.
- New: Added custom email customisation settings for every earning method.
- New: Added a logged out version of the rewards dashboard and the rewards widget.
- Tweak: Updated the floating rewards widget to load via ajax after clicking the button, to not affect page load times.
- Tweak: Renamed the "Rewards Page" to "Rewards Dashboard" in the admin area.
- Tweak: Updated styling and tabs layout on the admin settings tab.
- Tweak: Improvements to applying gift coupons or vouchers when the cart is empty.
= Version 1.0.0 - 24th October 2025 =
- New: Initial release of the plugin.
- New: Rewards endpoint and UI.
- New: Points earning (signup, orders), refund/cancel deductions.
- New: Rewards redemption (voucher/product).
- New: Points history with custom table and AJAX pagination.
- New: Email notifications.
- New: Levels & multipliers.
- New: Admin tools (Settings, Customer Points, Log, Vouchers).