Create Loyalty Program

In this tutorial, you'll see how to create a loyalty program using the Dashboard. We're going to set up a complete loyalty workflow with digital wallets, program rules, rewards, automatic notifications, and a sign-up landing page. 

Before you start


  1. How does it work?
  2. Program details
  3. Earning Rules
  4. Rewards
  5. Tiers
  6. Notifications
  7. Metadata
  8. Summary
  9. Loyalty card publication
  10. Customer Cockpits
  11. Tracking and maintenance
  12. Useful resources

How does it work?

The Campaign Manager creates a loyalty program that consists of the following elements:

  • Digital loyalty cards represented by unique codes, which function as digital wallets for points when shared with end-customers .
  • Earning rules that define actions and conditions of assigning new loyalty points to the customer's card.
  • Rewards that are exchanged for a particular number of loyalty points.
  • Tiers that divide your loyalty program into membership levels (optional). Customers are qualified into a particular tier based on their current point balance. Each tier can have different rules of earning points and exchanging them for rewards.
  • Notifications are optional messages sent to end-customers or 3rd party applications. Notifications deliver loyalty cards and automatically notify card owners about new loyalty points or reward redemptions.
  • Metadata is a space for your custom attributes. You can assign metadata attributes to the loyalty campaign and to each loyalty tier. Read more about metadata.

Additionally, this guide shows the following loyalty concepts which you can use after creating the campaign:

  • Publications of loyalty cards – we're going to show you how to assign loyalty cards to your customers.
  • Customer cockpits and their URL addresses – the cockpit is automatically created for each new customer in your account. By sharing its URL, your customers can track their loyalty score, program updates, and exchange points for rewards. 

Let's create a complete loyalty workflow step-by-step. To start, go to the Campaigns tab and run the Campaign Manager with the plus icon  .

Program Details

Choose Create next to the Loyalty Program campaign and add the program name. By default, your program is auto-updated. If you leave auto-update mode on, the campaign will be auto-extended with new cards when the initial batch of loyalty cards runs out.

Additionally, you can enable the join-once and auto-join program mode. The auto-join campaign (1) automatically assigns a new loyalty card to each new customer once he/she matches at least one earning rule. The join-once option (2) ensures each customer can have only one loyalty card assigned (published) to their account in this campaign. 

Campaign Settings

Assign a custom category (3) and group your Voucherify campaigns by adding a Category using the plus or searching and choosing a category using the magnifying glass
Next, define the campaign timeframe. All time-related limits are optional and described precisely in this guide.
Define how many unique loyalty cards you'd like to create. 

If you want the codes to follow a predefined pattern, check Advanced code settings and set the syntax.

When ready, go to the next step. 

Earning Rules

Before you start

This section shows how to create an earning rule assuming you are already familiarized yourself with our Getting Started Tutorial.

Loyalty points accumulated on a loyalty card can expire in a pre-defined time frame. 

You can turn on points expiration for the campaign by navigating to the second step in the Campaign Manager > Enable points expiration. 

Point expirations are set globally for all earning rules

The points expiration setting sets the point expirations globally for all points earned through means of earning rules, i.e. there is one expiration period per all earning rules.

Next, enter the period (number of months) when you would like the points to expire. This will expire the points within the set number of months after the customer creates an order. Read more about how Voucherify handles expiration dates for points earned on the last days of the month.

The first option lets you set the points expiration to a specific date, which is counted from the date of the action that triggers the loyalty points to be earned. You can also round up the points expiration date to a specified period after the earning activity. Check off the rounding option and choose your preferred period.

Read more here on loyalty points expiration periods and rounding options.

Choose Create earning rule to define the first action that rewards your customers with points. 

Start by selecting the action that triggers points. You can choose from:

  1. A customer paid for the order.
  2. A customer performed a specific action (custom event).
  3. A customer entered a particular customer segment.

Go here to learn more about earning rules.

Define start and expiration dates of the earning rule. After fulfilling the rule conditions, points will be assigned only during this time period. Defining the earning rule timeframe is optional. If you leave it unset, the earning rule will inherit the campaign timeframe (start and expiration date). All time-related limits are optional and described precisely in this guide.

Timeframe options include:

  • Start date & time
  • End date & time (expiration)
  • Valid in this timeframe only (recurring)
  • Valid on particular days only

Next, specify the number of points that customers should get when they match the rule. 

For each of the earning rule types, you can choose to either create a basic rule that gives a fixed amount of points or a more advanced rule that adds points proportionally in a given context. 

Next, add or unset metadata for an earning rule.

You can learn more about metadata in our dedicated guide here.

Using optional validation rules you can define additional limits for your customers that will be checked before triggering points. 

To attach validation rules, select one from the existing sets of rules or create a new set on the spot.

Validation rules can limit the earning rule to specific customer segments, cart structure, or other buying circumstances of your choice. Go here to read more about validation rules supported in loyalty programs.

When ready, save your earning rule with Save. Add as many earning rules as you want to your campaign. All active rules will be listed in the Points expiration & earning rules view. 

If you would like to edit or delete the earning rule, click on the tricolon ⁝ and choose an option from the list. You can view the metadata assigned to the earning rule by clicking on the icon under Metadata.

When all rules are set, go to the next step and prepare your Rewards Catalog. 


Select the reward (1) by searching for it using the magnifying glass or if you didn't prepare your rewards beforehand, create a new reward instead using the plus , and define the new reward on the spot.  Define the reward price in points (2). You can find the detailed Rewards descriptions in this guide.

When you map the reward to a predefined number of loyalty points, confirm with Add reward. All added rewards will be listed in the Rewards Catalog. 

Go to the next step to enable Tiers. If you don't want to use the tiers, skip this section.


Tiers are optional membership levels of your loyalty campaign. Setting up tiers is always a three-step process.

Step 1: Adding tiers

Click Create tier and define its details (points range, name, and if needed, custom metadata). Confirm with Save.

You can add as many campaign tiers as you want. Note that each tier needs to cover a different point range. You can edit and delete tiers using the tricolon ⁝.

Step 2: Mapping earning rules

Next, you can define new points mapping to each earning rule. The mapping changes the way points are assigned in a specific tier. The mapping can be based on multiplying the default points value as defined in the earning rule or it can be redefined as a fixed, custom number of points that overrides the default points set by the earning rule. New points assignments that are changed through mapping will be executed only for members in the particular tier. Choose Map earning rules and Add mapping for the rule you'd like to edit.

The mapping changes the way points are assigned in a specific tier; a multiplier changes the default number of points assigned to the earning rule. 

Remember to confirm mapping with Save.

Step 3: Mapping rewards

Click on Map Rewards to define new tier-specific reward prices. Click Add mapping for the reward whose price in points you would like to edit. As a result, customers from different tiers will need to use a different number of points to get the same reward. 

The mapping changes how many points are needed to obtain a reward. The mapping can be based on multiplying the default points value as defined in the reward or it can be redefined as a fixed, custom number of points that overrides the default points set for the reward. You also have an option to disable a reward for a particular tier by choosing Not available. This way you can define rewards to be available only in specific tiers. New reward prices that are changed through mapping will be executed only for members in the particular tier. You can view the metadata assigned to the reward by clicking on the icon   under Metadata.

When tiers are ready, go to the next step to set up automatic notifications. 


Notifications are optional, automatic messages sent from Voucherify to the end-customers or 3rd party applications. There are three types of loyalty notifications that you can set up in the Campaign Manager. 

  1. Send loyalty program code (digital loyalty card) (1) – notifications will send a message with a unique loyalty card every time you publish (assign) a new card to a customer.  There are many ways of publishing cards to your customers, you can learn about them in this short guide and choose the right method for you. 
  2. Loyalty points gained (2)  notification is sent automatically to customers once they get new loyalty points.
  3. Reward redeemed (3) – customers redeeming their reward triggers the message. You can notify about updated loyalty score, send coupon code, inform about reward details. 

Choose which notification you'd like to set up (1,2,3) and configure the message. If you collect marketing permissions from your customers, you can add the required ones to deliver messages. By default, marketing consent verification is disabled for loyalty notifications. 

Choose a message channel by enabling its settings. 

Then, configure the message details and design the template. If you need help with that, visit our Distribution Guide. Note that you can use more than one channel in each notifications setup. 

Using emails or text messages, you can include the following loyalty variables into the message template:

  • For sending loyalty codes: voucher code (loyalty card code), voucher value, customer cockpit URL, loyalty card QR code, and barcode.
  • For notifying about new points: earning rule (name), earning rule points value, loyalty card code (text, barcode, QR code), customer cockpit URL. 
  • For notifying about redeemed reward: reward name, reward value, cockpit URL, loyalty card code (text, QR code, barcode).

When the campaign is on, you can manage and track notifications in the Distributions tab. 

With notifications ready, go to the next step. 


Metadata section stores optional, custom properties that you'd like to add to your campaign. Metadata represents key/value pairs of different data types. To learn more about metadata, follow our Getting Started Guide


Next, go to the Summary to see the overview of the campaign setup. 

Loyalty Campaign Summary

In the last step, you can see the program summary and go back to each section to make edits. When everything is set properly, click Save to confirm the loyalty campaign.

After saving the campaign, Voucherify will show you a campaign dashboard with metrics and stats you can track. Voucherify automatically updates reports to show the on-going program performance.

The loyalty campaign is ready. Now, you can publish and share loyalty cards with end-customers. 

Loyalty card publication

The process of assigning a card to a particular customer is called publication. Each card is unique and can be published to one customer only. There are many ways of publishing your cards:

Be careful while using Distributions and Loyalty Notifications in parallel. If you already set up Notifications that send loyalty cards, choosing the same channel in the distribution settings results in sending the message with the loyalty card code twice.

When published loyalty cards get to your customers, they can start collecting points. Later on, customers can redeem their points using the cockpits or your integration with our API. Points redemption results in assigning the reward in exchange (reward is published to a customer). Let's take a closer look at the customer cockpits.

Customer Cockpits (Digital wallet)

Each customer with a loyalty card has an individual digital wallet with earned points and available rewards. Depending on balance changes, Voucherify will dynamically activate/deactivate particular rewards for a customer. As a result, a customer can exchange earned points for particular rewards.

To visit the customer's cockpit, go to his/her profile and click the cockpit icon.

Find cockpit

Redeeming Loyalty Rewards

When a customer collects the required number of points, the reward is automatically published in their cockpit (it's active). Then, they can decide if they want the reward or not by clicking on the respective button.

redeeming codes in cockpit

If a customer chooses to transfer points for a reward, Voucherify updates their points balance. A customer can use the chosen reward during the purchase, which invokes the validation and redemption process noted in the Voucherify dashboard.

Tracking and maintenance

Go here to learn about tracking results and maintenance of your loyalty campaigns.

Loyalty resources

Did this answer your question? Thanks for the feedback There was a problem submitting your feedback. Please try again later.

Still need help? Contact Us Contact Us