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  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 feature (2) ensures each customer can have only one loyalty card assigned (published) to their account in this campaign. This feature is turned on by default for loyalty programs and this feature cannot be turned off in the Dashboard. 

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.
  4. A customer joins the loyalty tier structure.
  5. A customer leaves the loyalty tier structure.
  6. A customer's tier is upgraded.
  7. A customer's tier is downgraded.
  8. A customer's tier is prolonged.

Go here to learn more about earning rules.

If you choose a tier type earning rule, then select whether the earning rule is related to any tier or a specific tier.

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 a four-step process.

Step 1: Defining tier timeframe

There are two options for customers to qualify for a tier. One is points based and one is time based.

Points Balance

In the first option, customers qualify for the tier if their points balance is in the points range of the tier. This means that they fall out of a tier if their point balance is out of the defined range and enter a tier if they reach the minimum required to be in that tier. You can customize this further by defining when the tier will expire for a customer. By default, this happens when the customer falls out of the points range.

By using the Custom option, you can define a time period that the tier is valid for even though the customer falls out of the points range. The expiration date counter starts at the moment when the customer reaches the minimum required points that are required to be in the tier. You can define the expiration period in months and also choose to round the expiration date to some period (e.g. end of the month, quarter, year, etc).

Points collected in a period

In the second option, customers can qualify for the tier if they collected enough points in a given time period. So, in addition to the customer having to reach a points range, they also need to have collected the points within a set time period. The time period can either be a month, quarter, half-year, or year.

Period Definition
Calendar Month

Points collected in one calendar month

January, February, March, etc.

Calendar Quarter

Points collected in the quarter

  • January - March
  • April - June
  • July - September
  • October - December
Calendar Half-year

Points collected in the half-year

  • January - June
  • July - December
Calendar Year

Points collected in one calendar year

January - December

Here are how tier start and expiration dates are defined:

Tier start date Definition
Immediately When the tier threshold is reached, the customer is immediately upgraded to the tier.
For example, if we have monthly qualification periods and the customer collects a required number of points on the 10th day of the month, then the tier will start from that day.
Next qualification period When the tier threshold is reached, the customer is upgraded to the tier from the next qualification period start date.
For example, if we have monthly qualification periods and the customer collects a required number of points on the 10th day of the month, then the tier will start from the 1st day of the next month.
Tier expiration date Definition
End of the qualification period Tier will be valid till the end of the qualification period in which the tier was granted.
For example, if we have monthly qualification periods, then the tier will be valid till the end of the month in which it was granted.
End of the next qualification period The tier will be valid till the end of the next qualification period in which the tier was granted.
For example, if we have monthly qualification periods, then the tier will be valid till the end of the next month based on the month in which the tier was granted.
Extensions For both above options (end of the qualification period and end of the next qualification period), it is possible to add additional time for tier expiration in days or months.
For example, if we have monthly qualification periods, then the tier will be valid till the end of the month or the end of the next month in which the tier was granted and defined an additional 7 days period in our extensions, then the tier will expire not at the end of the month, but on the 7th day in the month.

Follow the next 3 steps to set up individual tiers and customize earning rules and rewards to tiers.

Step 2: 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 3: 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 4: 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