Aheadworks Reward Points

Reward Points helps reward customers for shopping at your WooCommerce store with points that can be used towards purchase. 

The plugin grants points automatically and charges at a command to do so either by the Admin or Customer. It allows for fine-tuning of the reward mechanism, including tweaking the earning and spending rates, correlation of thereof with the values of the lifetime purchase parameter, setting points expiration time, limit of points use and more. Moreover, the plugin enables both the Admin and Customer with tools to monitor the use of points on a scale relevant to the needs of each of the above roles.  

Installation ↑ Back to top

  1. Download the .zip file from your WooCommerce account.
  2. Go to: WordPress Admin > Plugins > Add New and Upload Plugin with the file you downloaded with Choose File.
  3. Install Now and Activate the extension.

More information at: Install and Activate Plugins/Extensions.

Setup and Configuration ↑ Back to top

To configure the plugin, proceed to WordPress Admin > Reward Points > Configuration. The configuration page will show three tabs: Earn Points, Spend Points and Storefront. This is where you configure the Earn Points, Spend Points rates and points earnings display on Storefront respectively, as well as some other parameters associated with either earning or spending of reward points.

Configure Earning of Points ↑ Back to top

To configure earning of points, opt for the Earn Points tab. The tab allows the following settings for configuration:

  • ‘Points earning calculation’ – a selector with the two options: Before Tax, which is a default option, and After Tax. Select Before Tax to exclude tax fees from the points calculation formula (F1 below). Select After Tax to include tax fees into the points calculation formula (F2 below). 

The following formulae are used to calculate points earned:

F1. Number of Points Earned = (Order Subtotal – Discounts) * Earn Rate

F2. Number of Points Earned = (Order Subtotal + Tax – Discounts) * Earn Rate

The value of shipping is not included into the formulae. 

  • ‘Points expiration period, in days’ – a whole numeric value to indicate the number of days to be counted down from the most recent purchase made by the Customer towards the points expiration date. The date of points expiration comes when no purchases were made during the point expiration period. On reaching the points expiration date, all points earned from subsequent purchases, which were made from the previous expiration date, expire. By default, on installation of the plugin, the text-box to contain the value of the expiration period is empty.

To have the expiration period unlimited, set the Points expiration period to 0 or leave the text-box empty.

The date of points expiration is re-calculated with every update to the Points Balance, made within the expiration period, according to the formulae F3 or F4:

F3. Date of Points Expiration = Date of Purchase + Points Expiration Period

F4. Date of Points Expiration = Date of Points Balance Update by Admin + Points Expiration Period

The Admin can change the expiration period at any time. Points, which have been earned against the transactions which in turn happened before the change, will be subject to the expiration period as of the date of the most recent transaction. A new transaction to a Customer Points Balance will invoke the update of the expiration period as per the F3 or F4 formula. 

  • ‘Earn rates’ – a table of configurable parameters to set multiple Earn Rates to reward customers with points with regard to their lifetime purchases. 

The Earn Rate is a ratio between a value in the Base Currency and a value in Points. The Earn Rate is a variable in the points calculation formula (see above). The value of this variable depends on the sum of the lifetime purchases of the Customer. If the sum is  equal to or greater than one of the values indicated in the table, a relevant Earn Rate is applied to the points calculation formula.\

The Lifetime Purchases variable here is the total sum of invoiced to and completed by the Customer orders (excluding refunded or cancelled orders).

The Earn Rate table features the following columns:

    • Customer Lifetime Purchases >= – a whole numeric value to indicate a sum of the lifetime purchases of the Customer specific to each earn rate. 
    • Base Currency – a whole numeric to indicate a value in the base currency of the store – the numerator (top part) of the Earn Rate ratio.
    • Points – a whole numeric to indicate a value in points – the divisor (bottom part) of the Earn Rate ratio. 
    • Action – the Trash icon containing the on-click action to delete the row.

To add an Earn Rate, click on the Add Earn Rate button at the bottom of the table. 

By default, on installation of the plugin, the Earn Rates table is clean. It means that no points will be given to customers until the Admin configures the relevant settings herein.

To save the configuration of the points earning mechanism and proceed to the next tab, click on the Save Changes button at the bottom of the page.

Configure Spending of Points ↑ Back to top

To configure spending of points, opt for the Spend Points tab. The tab allows the following settings for configuration:

  • ‘Allow to cover X % of purchase by points’ where X is a whole numeric value to indicate the % of the total order value which can be paid off in points. 

On installation of the module the ‘Allow to cover X % of purchase by points’ field is empty. Empty field herein equals to the 100% value.

  • ‘Spend rates’ – a table of configurable parameters to set multiple Spend Rates for the use of points towards purchases with regard to the values of Customer Lifetime Purchases. 

The Spend Rate is a ratio between a value in Points and a value in the Base Currency. The value of the Spend Rate depends on the sum of the lifetime purchases of the Customer. If the sum is equal to or greater than one of the values indicated in the present table, a relevant Spend Rate is applied towards the purchase.

The Spend Rate table features the following columns:

    • Customer Lifetime Purchases >= – a whole numeric to indicate a sum of the lifetime purchases of the Customer specific to each earn rate. 
    • Base Currency – a whole numeric to indicate a value in the base currency of the store – the divisor (bottom part) of the Spend Rate ratio.
    • Points – a whole numeric to indicate a value in points – the numerator (top part) of the Spend Rate ratio. 
    • Action – a Trash icon to delete the row.

To add a Spend Rate, click on the Add Spend Rate button at the bottom of the table.

By default, on installation of the plugin, the Spend Rates table is clean. It means that no points, if any, will be charged until the Admin configures the relevant settings herein.

To save the configuration of the points spending mechanism and proceed to the next tab, click on the Save Changes button at the bottom of the page.

Configure Storefront ↑ Back to top

To configure points earnings display on Storefront, opt for the Storefront tab. The tab allows the following settings for configuration:

‘Display points earnings’ – a dropdown with two options:

  • NO – by default;
  • YES. 

When selecting ‘YES’, additional information appears:

  •  ‘On the Cart and Checkout page’ hint – the place where the display of points earnings occurs. 
  • ‘Promo text’ – the editable text which is shown on the Cart and Checkout page. ‘Complete this purchase and get <total amount> points’ – the default text where ‘<total amount>’ is the total number of points that can be earned by the Customer according to products at Cart and earning rates.

The field cannot be left empty.

To save the configuration of the points earnings display mechanism and proceed to the next tab, click on the Save Changes button at the bottom of the page.

Monitoring and Updating Points ↑ Back to top

To monitor the history of incoming and outcoming points by Customer, proceed to WordPress Admin > Reward Points > Customer Balance. The page will show two tabs: Customer Balance and Transaction History. 

Customer Balance Tab ↑ Back to top

The Customer Balance tab features a grid of the following columns:

  • ID – the identification number of the balance
  • Customer Name – the name of the Customer
  • Customer Email – the email of the Customer
  • Lifetime Purchase – the value of the lifetime purchases of the Customer in the base currency of the store
  • Points Balance – the difference between the values of Earned Points and Spent Points
  • Earned Points – the total number of points earned by the Customer
  • Spent Points – the total number of points spent by the Customer
  • Expiration Date – the date when points balance will be cleared 

The name of a customer in the Customer Name column is an active link to redirect you to the Transactions History grid, where data will be filtered by the chosen customer.

The Customer Balance grid has some standard WordPress features, namely:

  • Screen options (pagination, hide/show columns)
  • Search Customer (by Customer Name and by Customer Email)
  • Sorting by column

It is a particular feature of this plugin that the Admin can voluntarily update the balance of points of the Customer. Such action can also be applied to multiple customers at once. To update the balance of points, follow the steps below:

  1. Tick the checkboxes next to the chosen customers;
  2. Click on the Bulk Actions folding list at the top of the grid;
  3. Select the Update Balance option;
  4. Click on the Apply button on the right;
  5. Suggest data to the mandatory fields in the popup;
  6. Click on the Apply button at the bottom of the popup;
  7. Wait for the page to reload.

On successful completion of an update a message will appear over the Customer Balance grid, notifying on thereof.

Update Balance Popup ↑ Back to top

The Update Balance popup features the following fields:

  • Points – indicate a whole numeric value to be added to the points balance
  • Comments to Admin –  suggest a comment which explains the change 

The Points field is mandatory. It can accept both positive and negative values. The Comments to Admin field is optional. Its value will be displayed in the relevant cell in the Transactions grid.

Customer points balance can not be negative. If the absolute value of the negative number, indicated within the Points field of the Update Balance popup, is greater than that of the current balance of points, then “0” (zero) is assigned to the balance of points.

Clicking on the Cancel button in the popup will close the popup. No changes will be made to the current customer balance of points. 

Transaction History Tab ↑ Back to top

The Transaction History tab features a grid which allows monitoring changes to the balance of reward points per customer. The grid comes with the following columns:

  • ID – the identification number of the transaction
  • Customer Name – the name of the customer
  • Customer Email – the email of the customer
  • Comment to Admin – the comment to the transaction as it was left in the Update Balance popup
  • Transaction Description –  the description of the transactions to the points balance. Possible alternatives:
    • Balance is expired
    • Points are earned for order #
    • Points are spent on order #
    • Balance is updated by Admin
    • Order # is refunded
    • Order # is cancelled
    • Order # is pending
    • Order # is on-hold
  • Balance Change – a whole numeric value (positive – in green, negative – in red) to indicate the increase or decrease of the points balance as per the transaction   
  • Balance – the value of the current points balance
  • Transaction Date – the date of the transaction
  • Expiration Date – the date when the points balance will be cleared off

The Transaction History grid has some standard WordPress features, namely:

  • Screen options (pagination, hide/show columns)
  • Search Customer (by Customer Name and by Customer Email)
  • Sorting by column

By default, the grid shows all customers and all transactions. The grid can be filtered by Customer Name. To filter the grid by Customer Name, make use of the Search text-box in the top right corner of the page: type-in the name of the customer and click Search Customer. The number of items found will be shown below the text-box, the grid will be filtered by the Customer Name.   

Points Movement on Change of Order Status ↑ Back to top

This chapter will expand on charging, assigning and returning points on change of an order status. The change of an order status is characteristic to such operations as cancellation of orders, complete and partial refunds, as well as some other intermediate states of an order. To learn more on order statuses in WooCommerce, refer to the official user guide.

To change the status of an order, proceed to WordPress Admin > WooCommerce > Orders. There are three options of changing the status of an order:

  • The Bulk Actions dropdown on top of the Orders grid. Only Processing, On-Hold and Completed statuses are available. Tick the desired orders, select an action from the Bulk Actions dropdown and click the Apply button next to the dropdown to apply the changes. 

  • The Status dropdown on the Order # Details page. All statuses are available in the dropdown. When on the Orders page, click on the name of the desired order in the grid. You will be redirected to the Order # Details page. Find the Status dropdown in the General block of order details.

  • The Refund button on the Order # Details page. When on the Order # Details page scroll down to the Item list to find the Refund button below the list, next to the Apply Coupon and Recalculate buttons. Clicking on the button will change the status of the order only to that of “Refunded”.

To learn more on managing orders and changing order statuses, refer to the official WooCommerce user guide

Processing/Completed > On Hold, Payment Pending, Cancelled ↑ Back to top

When the status of an order is changed from Processing/Completed to On Hold or Payment Pending or Cancelled, points spent within the order are added back to the balance of points, and earned points are deducted from it.

This situation allows using either the first or second option of changing order status as indicated above.

Processing/Completed > Refunded ↑ Back to top

To refund an order, make sure the status of the order is other than Refunded or Cancelled. You can refund an order only from the Order # Details page. 

“Refunded” via Status Dropdown

Select Refunded in the Status dropdown and click on the Update button. The page will get reloaded and the order will be refunded, as a whole. Points spent towards the purchase will be added back to the points balance, and points earned from the purchase will be deducted from the points balance of the customer.

“Refunded” via Refund Button

Click on the Refund button. You will be suggested to indicate the following:

  • the quantity of each product on the list
  • the total sum towards refund for each product on the Item list
  • the amount of the shipping fee towards refund  
  • the total amount for the refund
  • the comment to support the refund (for internal use).

You will also be suggested a total sum available for the refund. This will be calculated according to the formula F5: 

F5.  Total Sum Available for Refund = Total Sum of Goods Ordered + Shipping Fee – Discount Claimed from Use of Points*. 

*You will see the latter in the Item list as a separate entry. 

The present native WooCommerce functionality allows for partial refunds. It is possible to refund on part of the Item list: part of the quantity of the goods or part of the goods.

When partial refund is applied, no points are returned or deducted from the points balance. It is only when you refund the final item on the order list, or return the total order value available for refund, that the points spent towards the purchase and the points earned from the purchase are respectively returned to and distracted from the points balance of the customer!

Shipping fee, included, excluded or partially refunded, will not affect the calculations of the returned and distracted points.

To refund the order totally, leave all the available fields with the default “0” value, but for the Refund Amount field. Enter the value of the given “total available to refund” amount into this field. Click on the Refund X Manually button to finalize the operation. The page will get reloaded and the status of the order will turn “Refunded”.

Points spent towards the purchase will be added back to the points balance, and points earned from the purchase will be deducted from the points balance of the customer.

You will then be able to see the amounts returned to and deducted from the balance of points of the Customer in the Transaction History grid. 

Applying Points from Backend ↑ Back to top

Admins can apply points to the total price of an order from the backend. To do so, go to  WordPress Admin > WooCommerce > Orders, select an order with status Pending Payment or On Hold and scroll down the Order # Details page to the Item list. Alternatively, create a new order and add products to it.

The Item list block contains the Apply Points button next to the Refund and Apply Coupon ones. Use the Apply Points button to proceed with the given operation. The balance of points is shown herein too.

To use points towards the purchase, click on the Apply Points button and confirm your action by clicking on the Recalculate button. Points will be applied to the order total, and a relevant entry will tell a discount on the Item list.

The number of points to be spent is calculated with formulae F6 or F7 :

F6. Number of Points Spent = (Order Subtotal – Discounts + Shipping) * Spent Rate

F7. Number of Points Spent = (Order Subtotal + Tax – Discounts + Shipping) * Spent Rate

The use of taxes in the formulae above depends on the configuration of the native WooCommerce tax settings

If you change the quantity of the item, delete or add items, the points applied earlier will be cancelled. You will have to apply points anew.

It is important that when the quantity of an item is updated you click on the Save button before applying the points anew. When products are deleted or added – you click on the Recalculate button before applying points anew.

To remove the points applied, hover the cursor over the Points row in the Item list and click on the X icon on the right of the row.

No more than available to the Customer points within the customer points balance can be applied to an order.

Admins can not specify how many points they would like to use towards the purchase. Admins can either use the whole number of available points (but no more than the limit [link to the Configure Spending Points]) or no points at all.

Note the difference in the sequence of applying coupons and points from the Backend:

  • When coupon code is applied first, then the number of points available towards purchase is calculated from the remaining order subtotal (excluding the discounted sum).
  • When points are used first, then coupon discounts are applied to the remaining order subtotal.

As a result order subtotals may vary. Consider each approach and choose the one which matches your sales strategy best.

Points on Frontend

Customers can spend points when on the Cart page. Only logged-in customers can spend points. 

Points earnings display ↑ Back to top

If this option is set by the Admin on the Backend, the relevant promo text appears on the Cart and Checkout page. Message shows how many points the Customer can get completing the order.

The message is updated once the Cart is updated.

Spending Points ↑ Back to top

The Cart page will show the Apply Points button as well as the balance of points next to the list of items in Cart. Although customers know the equivalent of their point balance in base currency, they do not know the limit of points to be used towards purchase. Customers can not specify how many points they would like to spend. Customers can either employ the whole number of available points (but no more than the limit) or no points at all.

To apply points, customers click on the Apply Points button. 

Points are spent according to the formulae F6 or F7 (see above).

Points can be used alongside other discounts and promo codes.

On clicking the Apply Points button, the Cart page is reloaded and all relevant totals are recalculated. The Apply Points button is now substituted with the Remove Points button, and the balance is cut short by the number of points applied. To remove points from the calculations, click on the Remove Points button. The page will be reloaded again.

When points have been applied to the order subtotal, the Cart Totals summary will feature the number of points deducted from the Customer’s point balance as well as an equivalent of the discount in base currency.

Same entry will be found on the Checkout page in the order summary.

Points cannot be redeemed as real money, they can only be used towards purchase on the store. Points cannot be exchanged or given to third parties as gifts.

Monitoring Points ↑ Back to top

Customers can monitor their points balance in the My Account area on the My Points page. The page features the following details:

  • Your current Points Balance – the balance of points and the equivalent in base currency;
  • Expiration date – the date when the points will expire, and the balance will be cleared; 
  • Earned Points – the total number of points earned over the history of Customer shopping experience;
  • Spent Points – the total number of points spent over the history of Customer shopping experience.

Sample Reward Mechanism Configuration

The following configuration of the reward mechanism was used to showcase the functionality of the present extension in the documentation:

Earn Points:

  • Points Earning Calculation: Before Tax (tax excluded from the points calculation formula)
  • Points Expirations Period: 42 days
  • Earn Rate 1*: Customer Lifetime Purchases > = 100, Base Currency = 2, Points = 1 
  • Earn Rate 2*: Customer Lifetime Purchases > = 1000, Base Currency = 5, Points = 1

 * Customers whose lifetime purchases are between 100 (including) and 1000 (excluding) units in base currency will get 1 point for each 2 units of the total order value. Customers whose lifetime purchases are greater than 1000 units in base currency will get 1 point for each 5 units of the total order value. 

Spend Points

  • Customers are allowed to cover 50% of purchase price with points.
  • Spend Rate 1*: Customer Lifetime Purchases >= 100, Base Currency = 1, Points, = 2
  • Spend Rate 2*: Customer Lifetime Purchases >= 1000, Base Currency = 1, Points, = 5

 * Customers whose lifetime purchases are between 100 (including) and 1000 (excluding) units in base currency will spend 2 points for each 1 unit of the total order value. Customers whose lifetime purchases are greater than 1000 units in base currency will spend 5 points for each 1 unit of the total order value. Thereby, considering the earn rates above, the relative value of a point for a customer, whose lifetime purchases >=100 and <1000, at the point of spending thereof is one-fourth (1/4) of a unit in base currency. 

Questions and Feedback ↑ Back to top

Have a question before you buy or need customization? Get in touch with us.

WooCommerce - the most customizable eCommerce platform for building your online business.

Back to the top