Loyalty Program


The Loyalty Program add-on allows you to create a loyalty program for your regular customers by offering rewards and therefore to encourage them to keep shopping in your CS-Cart store.

You can create multiple loyalty cards, assign them to particular user groups and offer different benefits, like reward points, discounts, free shipping and so on to entice the loyalty of customers.

The customer can get the loyalty card when their purchase total reaches the amount specified for the card. It will get available in the profile details. They can see how much is left to move to the next level, the amount of earned/left points, as well as the time period for which the card will be valid.

Avilable cards can also be found in the User groups tab.

By implementing a loyalty program, you are telling your customers that you are interested in not only making money off of their purchases, but also in a relationship with customers that is mutually beneficial.

This act of goodwill will improve the overall outlook of your customers, which will ultimately have a positive impact on your business.


The add-on is compatible with CS-Cart and Multi-Vendor 4.9 and above, but only versions 4.12.x and above are supported. Minimum required PHP version is 7.1.

See more information about compatibility of our add-ons here.


You are guaranteed a quality add-on supported by the future versions. If you need help, please contact us via our help desk system.


Check out the Loyalty Program add-on in our demo store.


Every half an hour the demo store is reset to the default state.

Managing in the admin panel

Installing the add-on

Install the Loyalty Program add-on on the add-ons list page (“Add-ons” → ”Manage add-ons”). Click the + button in the top right corner, select an archive and click Upload & install. You can now find the installed add-on in the list of installed add-ons, just make sure it is set to Active.

Setting up the add-on

Here are available settings for the add-on:

  • Successful order status—Select a status for orders which total will be taken into account when calculating the customer’s total amount of purchases in the store.
  • Notify customer about new card—If enabled, the customer will get an email notification of newly assigned loyalty card.
  • Failed order statuses—Select order statuses which total will be subtracted from the user’s total amount of purchases. This will allow you to deprive users of the loyalty card if the purchase total becomes insufficient due to the order failure.
  • Use dynamic cards—If enabled, the loyalty cards will be valid for the period specified in the settings below. After the period expires, the total of cards will be recalculated.
  • Cards will be valid for (days)—Specify the number of days for which the cards will be valid.

The specified period will be shown in the user profile details.

  • Send expiring card notification prior to (days)—Specify the number of days prior to which the notification about expiring card will be sent to the customer. If you do not want to send this notification, enter 0. Keep in mind that an additional notification will be sent to the customer the day before the card expires.

If you choose to use dynamic cards, you will need to set up a cron that will check the expiration period of cards. Use the following command:

php /path/to/cart/admin.php –dispatch=loyalty_program_cron.check_period –cron_password=CRON_PASSWORD


path/to/cart is the path to your website.

CRON_PASSWORD is the access key to the cron script that you can find under Settings > Security settings.

Loyalty cards

The add-on creates a new Loyalty Program menu item under Marketing.

On this page, you can add and edit loyalty cards based on purchase total for specific user groups. For instance, you can create Silver, Gold, and Platinum cards and specify under what conditions your customers can get each of the cards.

For each of your card, enter a name, purchase total required to get the card, and select a user group from the list of available ones. Optionally, you can add an image and description to let your customers know the benefits they can have once they get the card (like discount, free products, free shipping, certain payment options, etc).

Click Create.

In the Share tab, you can share the created card among other stores. Simply select the necessary ones.

Enter the number of bonus points. User will get this reward points when this card was assigned to him

The user’s reward points received by moving to a specific loyalty program level will be displayed in the bonus points log:

The reward points recieved functionality is available only when the “Reward Points” add-on is enabled

All the cards will be shown on the Loyalty Program page. Read further for more details.

Loyalty program

The full description of the Loyalty Program is available on the Loyalty Program page. This is your chance to let your customers know why they should consider joining your loyalty program.


The Loyalty Program page can be accessed only by the direct link. To make it accessible via storefront, you can, for example, insert the link to the page (‘loyalty_program.view’) into the menu. For more details, see How to insert a link to the Loyalty Program page into the top panel?.

You can easily edit the content and layout of this page by doing the following:

  1. Go to Design - Layouts.
  2. Switch to the Loyalty Program tab.
  1. Click the gear button of a desired block to edit its content.
  1. Edit the content in the Content tab.
  1. Click Save to save the changes.

Loyalty program logs

You can view the history of changes to loyalty cards and user groups by each customer:

  1. Go to the “Customers” ➝ “Customers”.
  2. History of the loyalty program changes is available in the gear on the page with the list of customers:

or on the customer edit page:

  1. By clicking on “Loyalty program” you will be able to access the history of changes of the loyalty program:

If you use dynamic cards, the log will also show changes of such cards, including information about card expiration.

How do I create promotions for the loyalty program?

Promotions for the loyaly program are created like any other cart promotions.

  1. Go to Marketing → Promotions → Give a name to your first loyalty plan.
  1. Choose a user group.
  1. Create a bonus for the customers of the user group.

The promotions has been applied successfully!

How do I offer a loyalty card to the customers who already have the sufficient purchase total?

Once you’ve created a loyalty program in your store and you’ve set up loyalty cards, your customers can now get loyalty cards when their purchase total becomes sufficient. But what should you do with the customers whose purchase total is already enough to get a Silver card, for example, before you even installed the add-on?

Say, you have a customer Tom who has already purchased products for USD 1500 and he should already have a Silver card (which states the purchase total from USD 1000). What do you do in this case?

No worries, all you need to do is to open the Loyalty Program page (Marketing > Loyalty Program), select the desired cards, click the gear button and select Assign selected.

Now all your customers should get appropriate loyalty cards based on their purchase history. Be sure no-one is missed out.