Points and Rewards for WooCommerce
Loyalty points for purchases, sign-ups and reviews, spent as a discount on the block or classic checkout, with expiry and history.
- Block cart and checkout
- Classic cart and checkout
- High-performance order storage
- WooCommerce 9 – 11
- WordPress 6.6 – 7.1
- PHP 7.4+
What Points & Rewards does
Reward customers for coming back. They earn points on what they spend (and for signing up or reviewing), see their balance in My Account, and spend points as a discount in the cart or at checkout.
Points & Rewards features
Earning
- X points for every Y spent, on line totals after discounts and before tax; round down, up or to nearest
- A product can set a fixed number of points per unit or earn nothing; a category can set points per unit too
- Optional bonus on every order, welcome points on sign-up, points for an approved review (once per product per customer)
- Points are granted when the order is paid (or only when completed) and taken back when it is cancelled, failed or refunded; partial refunds take back a proportional share
- Optional expiry a number of days after earning; the oldest points are always spent first, so expiry is exact
Spending
- "You have N points, use up to M on this order" box in the cart and at checkout, block and classic, with the number of points to use
- Applied like a coupon ("Points discount") so WooCommerce's own discount maths, tax and the order all handle it; stacks with normal coupons
- Caps: never more than the balance, never more than the items are worth, optional maximum percentage of the items total and minimum points per order
- Points are taken when the order is placed and returned if it is cancelled, fails or is refunded
Showing
- "Earn N points with this purchase" on product pages (per variation on variable products) and optionally in grids
- "This order earns N points" in the cart and at checkout; guests are told to log in to collect
- My Account > Points: balance, what it is worth, next expiry, how to earn, full history;
[points_balance]and[points_history]shortcodes - Call them whatever you like: points, stars, coins
Managing
- WooCommerce > Points: every customer with a balance, search, one customer's history with an adjustment form (the reason is shown to the customer), the whole ledger, CSV export of balances
- Balance column in Users, section on the user profile, box on the order screen showing earned and redeemed points
For developers
Filters ptrw_product_points, ptrw_cart_points, ptrw_order_points, ptrw_earn_statuses, ptrw_discountable, ptrw_earn_message, ptrw_settings_fields; actions ptrw_points_added, ptrw_points_taken, ptrw_order_earned, ptrw_order_redeemed. Table wp_ptrw_log; balance cached in user meta _ptrw_balance.
One customer's first year of points
The rates are two numbers under WooCommerce > Settings > Points: how many points a customer earns per amount spent, and what a point is worth when spent. Here is a store that gives 1 point per $1 and redeems 100 points for $5, followed through one customer's year.
| When | What happens | Balance |
|---|---|---|
| Signs up | Welcome points, if you set them | 100 |
| First order, $80 after a coupon | 80 points, granted when the order is paid | 180 |
| Reviews the product | Review points, once per product per customer, when the review is approved | 230 |
| Second order, $60 | Uses 200 points at checkout for $10 off; earns 50 on the $50 actually paid | 80 |
| Returns half of that order | A proportional 25 points are taken back | 55 |
| Twelve months after the first order | The oldest points expire, if expiry is on; oldest points are always spent first, so the expiry is exact | as it falls |
Products and categories can set their own points per unit or earn nothing. Customers see "Earn N points with this purchase" on the product page, per variation, and "This order earns N points" in the cart; guests are told to log in to collect. My Account > Points shows the balance, what it is worth, the next expiry and the full history. Call them points, stars or coins.
What it does well, and what it leaves to other tools
The hosted loyalty services sell tiers, referral links, birthday emails and a widget. This plugin sells the ledger done right. Points are applied as a coupon, so WooCommerce's own discount maths, tax and refunds handle them, and they stack with normal coupons. Caps keep a store safe: never more than the balance, never more than the items are worth, an optional maximum share of the items total and a minimum spend of points per order. Refunds take back a proportional share, and expiry spends the oldest points first. Admin has every customer with a balance, one customer's history with an adjustment form whose reason the customer sees, the whole ledger, and a CSV export of balances.
What it does not do: VIP tiers, referral rewards, points for social follows or birthdays, or email campaigns about points. Only accounts earn, never guests. For credit that customers buy rather than earn, Gift Cards is the plugin.
How to set up Points & Rewards in WooCommerce
- 1
Upload the plugin to
/wp-content/plugins/or install it from the Plugins screen. - 2
Activate it.
- 3
Set the earning and redemption rates under WooCommerce > Settings > Points. Coupons must be enabled in WooCommerce > Settings > General for redemption.
Questions about Points & Rewards
Does it work with the block checkout?
Yes. The points box sits under the coupon field on the block cart and checkout, and above the payment methods on the classic checkout.
Is the points discount taxed?
It behaves like a coupon: it reduces the items total before tax, so tax is charged on what the customer actually pays.
Do customers earn points on the part they paid with points?
No. Points are calculated on line totals after all discounts, including the points discount.
What about guests?
Only accounts collect points. Guests see how many points they would earn and a link to log in or sign up.
Can I import balances?
Use WooCommerce > Points > a customer > Adjust balance, or the AppWizards\PointsAndRewards\Ledger::add() method from a small script.
Points & Rewards changelog
- 1.0.0
- Initial release.
Plugins that pair with Points & Rewards
Gift Cards
Sell digital gift cards with preset or custom amounts, personal messages and scheduled delivery; customers redeem them on the block or classic checkout.
View plugin
Tiered Pricing
Bulk and tiered pricing: lower prices as customers buy more, with pricing tables, mix-and-match categories and role-based rules.
View plugin
Wholesale Pricing
Wholesale prices by customer role, with signup approval, hidden prices, wholesale-only products, minimum orders and tax exemption.
View plugin