Child pages
  • Reward Points - Magento 2
Skip to end of metadata
Go to start of metadata


Firefox user notice:

Please use a different web browser to view this document.

Sorry for the inconvenience.

Magento 2 Reward Points allows establishing point-based loyalty programs in a web store. For each program, store admins can set individual earn and spend rates based on customer segments, lifetime sales, and the like. Additionally, admins can define point usage limitations, award shoppers with points for particular activities, add point balance announcements to product pages, provide automatic refunds to points, promote reward programs by email, monitor reward point transactions from one place, etc.

Compatibility: Magento Open Source 2.1.X - 2.3.X, Magento Commerce 2.1.X - 2.3.X

Product Page

Thank you for choosing Aheadworks!

Installing Reward Points

Command Line Installation

1. Backup your web directory and store database

2. Download Reward Points installation package

 3. Upload contents of the Reward Points installation package to your store root directory

 4. In SSH console of your server navigate to your store root folder:

cd path_to_the_store_root_folder


php -f bin/magento module:enable Aheadworks_RewardPoints


php -f bin/magento setup:upgrade


php -f bin/magento setup:static-content:deploy

5. Flush store cache; log out from the backend and log in again


Make sure the installation is done from under the FTP administrator account. Otherwise, make sure to set 775 permissions to the store root directory after the extension is deployed.

Composer Installation

1. Log in to your customer account at and navigate to Account -> Composer access;

2. Configure your store to work with the Aheadworks composer repository:

Add composer repository to composer.json by running:

composer config repositories.aheadworkscomposer in the Magento installation root.

Use a key pair provided as login and pass. You can optionally save them in the global composer auth file.

 3. You can start using AW composer now.

 For extension names, navigate to Account -> Composer access.

 4. Open the root Magento directory on your server and sendComposerthe following command:

composer require <component-name>:<version>

Note: Use the previously copied component name and version.

 5. Make sure that Composer finished the installation without errors. Flush store cache, log out and log into the backend again.

Set upcron


If you have already configured cronjobs for your Magento installation then you can skip this step. Read the following instructions on setting cronjob for your Magento store: Magento user guide.

Generallyitwould be enough to run in SSH console of your server: 



And insert the following line:  



Don't forget to confirm saving request when exit.




Updating from 1.0.0 to 1.1.0 version


1.1.0 version of the extension introduces many features and changes in the extension's workflow. Before updating1.0.0version to 1.1.0 make sure to read the following information and suggestions to avoid any issues.

1. Make sure that all transactions that were to expire on the day of the update are expired.Otherwisethepoints on the customer's account will be preserved.

What to do


Status column is added in the Transactions table. It reflects the state of the points transaction.

Before the update, make sure that the transactions that were to expire on the day you update are EXPIRED.

The installation script of the extension will set 'Expired' value to all transactions in this column with expiration_date <= current date (UTC).

2. All customers that have/had points will be automatically subscribed to the point balance updates.

What to do


After updating to 1.1.0 version make sure to unsubscribe customers from the point balance updates in cases you do not want the emails to be sent.

3. Aftertheupdatethestatus of all transactions in columns Balance Update Notified and Expiration Notified will be set to 'NO'.

4. Aftertheupdateallexpired transactions inherited from version 1.0.0 will have id=0 in the comment column.

5. Value of the Balance column of the transactions inherited from version 1.0.0 will be set to '0'.

6. AftertheupdatetheStatus of all transactions inherited from version 1.0.0 will be set to 'Used'. For every inherited transaction a new transaction (with the point balance on the day of the update) will be created automatically. The expiration date of the new transactions will be equal to the one set in the extension settings.

What to do


Aftertheupdateyoumay want to check up on the expiration balance and manage transaction balance manually.



Introducing Reward Points

The Reward Points extension for Magento 2 introduces an in-store currency for promoting additional purchases:

  • Customer lifetime sales as a points earning condition;

  • Points use statistics: total earned & spent;

  • Social network activity earning conditions (share pages on Facebook, Twitter, Google+.);

  • Special block on frontend with price discounted by available points;

  • Mass customer point balance updates;

  • Category exceptions for points checkout;

  • Point balance update notifications;

  • Refund to points;

  • Point balance use limitations;

  • Integration with the Magento 2 Smart One Step Checkout extension.

The extension promotes additional purchases at the store by adding Points - an in-store currency - that customers can use to pay for an order, partially or in full. The Points are earned by either participating in the store activities like sharing store pages on the social networks, a newsletter subscription, registration, or by placing orders.

The store administrator can set point earn rates,for example, every $100 spent grants customer 10 points; and spend rates, for example, 1 point = $1. In addition, to create a sense of urgency, the admin can set point expiration time, e.g., once earned points can be spent within 30 days. Considering all available options it is possible to create live and active sales campaign that encourages placing more orders to benefit from the current discount.

If required, some of the categories along with all the subcategories can be excluded from the Points and Rewards campaign. Products that belong to such categories cannot be purchased with points, however, a customer can earn a set amount of points if the product is bought.

General Settings

Before the Getting Around section it will be required to configure extension settings. It is a necessary step as right after the installation no earn or spend rates are set for points, meaning no in-store currency is available.

The extension settings can be found under Store > Configuration > Aheadworks extensions > Reward Points.


Calculation is the first and the most important configuration section. It allows setting up earn and spend rates - the main aspects of the extension functionality.

Here the store administrator can set up several tiers of the point earn and spend rates to promote more sales and reward customers who spend the most with additional points per purchase.

Both the Earn Rates and Spend Rates blocks act the same way: by clicking and buttons, one can add new tiers, each tier comes with the following settings:

  • Web Site - allows defining store website for the tier;

  • Customer Group - allows specifying customer group the rates are applied to;

  • Customer Lifetime Sales >= - allows specifying the amount customer shouldspendfor the rates to apply to him;

  • Base Currency - defines the amountinbase currency that should be used as a reference to point exchange rate;

  • Points - definestheamount of points equal to the particular amount of base currency when calculating earn and spend rates.

Another setting available under the Earn and Spend Rate blocks is Reward points expire in X days - it allows specifying after how many days the points will expire on the customer's account.


Earn and spend rates are calculated on the following scheme:

Earn rate - every time a customer spends the amount set in the Base Currency field they are granted the amount worth of the points specified in the Points field.

Spend rate - every point spend by a customer equals to the amount worth of the currency specified in the Base Currency field.

The other settings under the Calculation section:

  • Refund to Reward Points Automatically - if enabled the '
  • Points can't be used unless the balance is greater than - defines the point balance value required to start using points. For example, customers will only be able to pay with the points for an order if the point balance equals or greater than 100;
  • Share of purchase that could be covered by points, % - defines the % of the order total that can be covered with points. Helps in avoiding zero checkouts;
  • Cancel points earned on refunded order - defines if the points that customer earned by placing an order should be deducted from their balance if the order is refunded;
  • Reimburse Points Spent on Refunded Order - defines if the points customer spent on an order should be automatically added to their balance if the order is refunded;
  • Reward points expire in, days - defines for what amount of time customers can use earned points. Helps in urging customers to place new orders.

When admin creates an order in backend and applies the points:

  • The 'Points can't be used unless the balance is greater than' option is ignored;
  • The 'Share of purchase that could be covered by points, %' option is considered.


Points Awarded for

This configuration section defines the triggers events that add particular amount of points to the customer's account:

The first set of award options available is:

  • Registration - awards customers with the amount of points set upon registering account at the store. This may prove useful if you want to avoid guest checkouts and get more information on your customers;

  • Newsletter signup - whenever a customer subscribes to newsletter (or is subscribed by the store administrator) the set amount of points is added to their account;

  • Sharing on social network - whenever a customer shares a store page on the social network the set amount of points is added to their account;

  • Sharing on social network daily limit, points - allows limiting total amount of points a customer can earn per day by sharing store pages on the social networks;

  • Sharing on social network monthly limit, points - allows limiting total amount of points customer can earn per month by sharing store pages on the social networks, can work in conjunction with the previous award option.


Social network sharing

Once installed Reward Points extension adds Facebook, Twitter and Google+ buttons to the product pages.

By clicking a relevant button customer can share the product page in the social network account earning a set amount of points.

The second set of award options available is:

  • Product review - whenever customer writes product review the set amount of points is added to their account. Points are added to the account only after the review is approved;

  • Product review daily limit, points - allows limiting total amount of points customer can earn per day by writing product reviews;

  • Product review points awarded to product owners only - allows limiting the point awards only to customers who have purchased the product.


This section controls the extension's behavior on the frontend.

  • Points Balance in Top Link - defines if the points available to a customer should be displayed below the product title at the product page;
  • Hide the top-link if Reward points balance is empty - defines if the point balance in the top link should not be displayed if a customer has zero point balance;
  • Reward program explainer page - defines the CMS page that will act as Points user guide;
  • Display prices discounted by available points - defines if the prices of the products should be displayed with available points balance applied;
  • Display social sharing buttons at product page - defines if the social sharing buttons should be displayed at the product pages.

That is all for the Reward Points settings, now it is high time to see the extension in action.

Email Notifications

This section controls the email notifications sent to customers upon point balance updates. Since 1.1.0 version the store owners can send point balance updates and point expiration email notifications.

  • Sender - defines an email address from which the point balance notification emails should be sent;
  • Subscribe Customers to Reward Points Notifications by Default - defines if customers are subscribed to point balance notification by default or should manually subscribe from their account;
  • Balance Update Template - defines the email template for sending notifications on the point balance updates;
  • Points balance notifications sent when - defines upon what event the notifications should be sent to customers;
  • Points expiration reminder template - defines the email template for sending point expiration reminders
  • Expiration reminder timing, days - defines before how many days the notification on points expiration should be sent.

Getting Around

Once installed and properly configured Reward Points extension allows customers to participate in the reward campaign by purchasing products and participating in such social activities as: reviewing products, sharing product pages on social networks, subscribing to the newsletter and registering at the store.

First of all, the Magento 2 Reward Points extension adds its section to the customer's account.

Here customers can see current points balance, read about the points and rewards policies and look through the transaction history. If the store administrator has set up a point award for registration, the first transaction should already be available to customers who created a new account.

Moving forward to browsing the product catalog, customers can find the point information block right below the product name at the product pages:

The points information block displays available point balance and the discount customer can get if the points are applied at the checkout.

At the checkout, points can be applied to the order at the Review & Payments step:

By clicking button customers can apply available amount of points to the order. This action will be accordingly reflected on the order total and in the order invoice:

Every time a customer spends points an appropriate transaction is added to the Reward Points section of the customer's account.

Managing Points

In addition to the extension settings, the Reward Points extension introduces its section to Marketing > Reward Points by Aheadworks.


To add a new transaction, click .

The New Transaction page offers a set of options for updating points balance of customers:

  • Website - allows specifying the website for updating points balances;
  • Points balance adjustment - defines the number of points that should be added/subtracted from the points balances;
  • Comment (visible for customer) - allows specifying a message for customers to identify the points transaction;
  • Comment (visible for admin only) - allows specifying a message for the store administration to identify the points transaction;
  • Expire - defines if the points should expire on a particular date or after a set number of days.

The Customers section of the New Transaction page allows specifying store customers that will be eligible to receive a points balance update. The section offers the same navigation options in terms of filters and grid customization as the Transactions section.

  • To start adding customers click button;
  • With the help of filters available find customer(s) that you want to update points balance for;
  • Once done, click button.

Now click button to add points to the balances of the selected customers.


The Customers section of the Reward Points extension offers an overview of the customers and their current points balance. The section has the same navigation options as the Transactions section and proves useful for keeping track of the points use of a particular customer(s).


Along with the points management options the Magenro 2 Reward Points extension allows excluding particular product categories from the points campaign. It means that customers will still earn points for purchasing products from such categories, however, customers will not be able to PAY with points for such products at the checkout. This option has been introduced to let store owners decide what products they want to be discounted and what not.

To put a category in the exception list, navigate to this category settings.

In the category settings find the Reward Points section and set Allow spending points for products in category to one of the following:

  • Yes, that category only - only products from the currently selected category can be purchased with points;
  • Yes, that category and its subcategories - products from the currently selected category and all subcategories can be purchased with points;
  • No, this category only - only products from the currently selected category canNOT be purchased with points;
  • No, this category and its subcategories - products from the currently selected category and all subcategories canNOT be purchased with points;

Once done with the category click button.

Earning Rules

Transform reward point into a more powerful promotional tool with the earning rules with the version 1.5.0.

Earning Rules Grid

To configure the earning rules follow Marketing > Reward Points by Aheadworks > Point Earning Rules.
Here you can see the grid with all the existing earning rules.
The Enable/Disable/Delete actions are available for the rules

New Rule Creation

To add a new rule click the corresponded button.
  1. Enable the rule.
  2. Give it a name and description.
  3. Specify the website and customer groups to which you apply the rules.



  1. Define the dates when the rule promo will be active.
  2. Assign the rule priority to avoid possible rule conflicts. (If a product matches several rules, they will be applied according to their Priority option. To prevent this, enable the option "Discard Subsequent Rules".)


Promo Settings

The Promo Settings allow replacing the promo text for particular product pages.
Promo text does not take in account tier prices: The "%X" variable always displays the number of points which will be earned for a purchase of 1 item. Thus, it is recommended to use a text construction like "buy and earn up to %X points per item". Apart from this, the number of points which will be earned for purchase is calculated and displayed on the cart page correctly.


The module perceives each item in a configurable product but the displayed point amount is based on a product with the highest price. It is recommended to use the phrase "get up to %X points" in the earning rule settings.



The default text from the general settings should be displayed in the following cases:

  1. On category pages, if:
    1. a product matches 2 or more rules.
  2. On product pages, if:
    1. the earn rates are set but there are no active rules applied;
    2. there are 2 or more active rules for the product;
    3. a rule is set with no promo text specified.


Conditions and Actions

Conditions for rule applying are chosen based on product attributes or conditions combination.
Choose the rule action between:
  1. Multiply a defined earn rate.
  2. Add a fixed amount of points in addition to earning rate.



  1. Keep in mind that setting a rate multiplier to 0 will disable points earning for the products which match the rule conditions.
  2. Partial invoices and partial refunds work incorrectly when a rule with a fixed amount of points was applied to bundle products with a dynamic price. 


Frontend View

The promo text on a category page


The promo text on a product page

Point Balance Import/Export


Version 1.4.0 of Reward Points extension introduced a possibility to export point balance into the .xml or .csv files.

The point balance can be exported at Customers grid Marketing > Reward Points by Aheadworks > Customers.

To export the points balance click button, you will be suggested with the file extension of the export table. Choose whatever suits best for your needs.

Opened in the Microsoft Excel, the .csv file with the points balance will look something like this:

The export table mirrors the Customers grid including all of the most important columns.

You may want to save the .csv file in case you are planning on importing point balance updates to the store. The .csv file with the import data should have the same look and appearance.


The point balance can be imported at Customers grid Marketing > Reward Points by Aheadworks > Customers.

All updates are imported via .csv files. The easiest way of composing the point balance .csv is to exportexistingbalance first.

  1. Export existing balance into a .csv file by clicking  button.
  2. Open the .csv file in any suitable editor. For example, you can open it in Microsoft Excel.
  3. When editing an import .csv make sure to preserve the table structure and change only required values.
  4. You can import any balance values you want.
  5. Once you have pasted all the updates to the .csv file click  button to upload it.
  6. After a page reload you can check the grid for point balance updates.

The importing functionality is useful if you are migrating to Aheadworks solution from any third party loyalty module or from a Magento 1 store and want the balances updatedaccrodinglyon your Magento 2.


Uninstalling Reward Points

Manual Removal

1. Disable the module by executing the following commands:

php bin/magento module:disable Aheadworks_RewardPoints
php bin/magento setup:upgrade

2. Remove the extension files from the following folder:


Automatic Removal (via Composer)

1. Disable the module by executing the following commands:

php bin/magento module:uninstall Aheadworks_RewardPoints

Product Page

Need Customization?

Magento 2 Custom Development Services by Aheadworks

You can always find the latest version of the software, full documentation, demos, screenshots, and reviews on

License agreement:
Contact Us:
Copyright © 2019 Aheadworks Co.

  • No labels