Plugin Wizards
Pricing & discounts

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+
yourstore.com/checkout

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.

    A year of earning and spending at 1 point per $1, 100 points = $5
    WhenWhat happensBalance
    Signs upWelcome points, if you set them100
    First order, $80 after a coupon80 points, granted when the order is paid180
    Reviews the productReview points, once per product per customer, when the review is approved230
    Second order, $60Uses 200 points at checkout for $10 off; earns 50 on the $50 actually paid80
    Returns half of that orderA proportional 25 points are taken back55
    Twelve months after the first orderThe oldest points expire, if expiry is on; oldest points are always spent first, so the expiry is exactas 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. 1

      Upload the plugin to /wp-content/plugins/ or install it from the Plugins screen.

    2. 2

      Activate it.

    3. 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.
    Checkout

    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

    Pricing & discounts

    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

    B2B & wholesale

    Wholesale Pricing

    Wholesale prices by customer role, with signup approval, hidden prices, wholesale-only products, minimum orders and tax exemption.

    View plugin