How Jollyes runs the PetCLUB loyalty program for over 1.4 million members?
Read now
2024-09-18 12:00 am
2024-05-09 12:00 am
2024-03-18 12:00 am
2024-04-16 12:00 am
2024-04-14 12:00 am
2024-09-16 12:00 am
2024-06-25 12:00 am
2024-06-13 12:00 am
2024-06-17 12:00 am
2024-05-29 12:00 am
arrow pointing left
go to blog
Promo strategies
How to Design Customer Loyalty Software?
Mike Sedzielewski
Mike Sedzielewski
June 4, 2022
Share it on Twitter
Share it on Facebook
Share it on LinkedIn
Share it on Twitter
Share it on Facebook
Share it on LinkedIn

How to Design Customer Loyalty Software?

If you want to run a rewards program, you will need a customer loyalty software. To find the right fit, there are various questions you need to ask yourself first.

  • What are the must-haves of an effective loyalty program software architecture?
  • How to implement a loyalty software within your technology stack?
  • Should I build or buy customer loyalty software?
  • How to estimate the amount of work needed to build a loyalty platform?
  • What are the features I should include in my loyalty platform?
  • What are the requirements I should look at when choosing a loyalty provider?
  • What are some obstacles on the road to designing and implementing a customer loyalty program?

In this article, I will answer some of these questions. I will list the most important features you should consider when designing, building or buying a loyalty platform. I hope it will help you with planning out your own loyalty program architecture.



Non-technical requirements for a customer loyalty software

Customer loyalty strategies differ from industry to industry, and often even within the same sectors. However, by creating business-agnostic customer loyalty software, I’ve seen some common patterns for requirements crystallising over time. The loyalty program architecture, based on my experience with over 400 clients, looks something like this:

Loyalty software architecture diagram

Let's split it into separate loyalty program features and explain each one of them separately.

1. Personalized incentives

Based on my experience, every retention campaign that works relies on a personalized incentive. And a personalized incentive requires three features: attractive reward, smart eligibility, and urgent timing.

When you watch how the biggest brands fight to increase loyalty, you’ll notice they have a myriad of rewards in their reward catalog. The reason for this is that, sometimes, a slight change in a reward can give an engagement campaign an unexpected backwind. That’s why it’s vital for your loyalty software to cover several types of offers, including:

  • Free delivery – with the amount minimum threshold.
  • Buy one, get one free – also “buy one, get one half-price” and the whole BOG family.
  • Volume discounts – amount- (save X when you spend Y) and quantity-based (X% off selected items).
  • Gift cards – redeemable once or more.
  • Loyalty points as cash – points can be exchanged for the items above. The points amount could be calculated based on different parameters, like order volume, order value, historical orders value, etc. 

When your loyalty platform accepts many types of deals, your marketers get freedom to get the best ROI through experiments.

If you would like to learn more about loyalty personalization, give this piece a read.

2. Rewards stacking

To make your loyalty incentives even smarter, you should look for stacking feature while auditing various customer loyalty program software. Why? Well, the stacking functionality lets you define allowed and forbidden discount combinations that give you even more space for loyalty program personalization. This way you can protect your loyalty budget more effectively.

3. Validation rules

The biggest problem with any incentive meant to turn first-time customers into loyal customers is the target mismatch. Shoppers who don’t need to be enticed redeem your rewards burning your loyalty program budget and eventually reducing your margins. Splitting your audience into segments and treating them with relevant rewards will not only help you prevent this unfortunate mismatch, but also reduce loyalty fraud.

An important reason for making your loyalty platform support targeted incentives is customer experience. Shoppers will only feel incentivized with a reward if it makes sense for them in the current context. If they sense SPAM, they won’t care about your campaign. Look at H&M rewards program to learn more about failed email marketing campaign.

Enough reasons for creating a reward eligibility engine, right? So what parameters you might want to include into the reward validation system? Lots of them. There’s no silver bullet answer here — every business has different conditions, but several of them are used more than others. We’ve split them into three categories: 

Customer attributes and order history

By making your customer loyalty program software aware of customer attributes and behavior, you can create segments. To make it work, you should sync your CRM data. With this in place, every time the reward is being applied, the system checks if a customer is eligible to really get it. You could, for example, let your customers join your loyalty program only if they have purchased items for at least $1 000  last year and they are located in the UK.

Order structure and volume

You might want to grant the rewards based on the order structure and volume. You can achieve it by integrating your validation rules with the shopping cart engine. Your loyalty software should be able to understand the order content and validate whether the customer can redeem it against an active reward campaign. 

Custom events 

You might want to reward your customers not only for their purchases but also for other activities that prove their loyalty to your brand. For example: 

  • A customer subscribed to the newsletter. 
  • A customer liked one of your social media profiles. 
  • A customer left a review for your product. 

To be able to do that, you should have the possibility to add custom events to the earning rules of your loyalty program. These three validation rules categories already account for a more manageable reward budget.

4. Points expiration

The sense of urgency is one of the most fundamental factors for loyalty campaign success. The expiry date loyalty points and rewards push shoppers to take action. It’s not enough to announce the expiry date in the marketing messages, though. You need to have a possibility to set up expiry dates in your loyalty program software, to make sure the rewards cannot be used after they expire. The mess caused by letting invalid reward redemptions flow grows exponentially with the number of loyalty campaigns you run. 

Whatever incentive campaign you model, be it coupons, gift cards, loyalty points, or cart-level discounts, think of how to limit their lifespan – not only to save the marketing budget but also to keep your team from nasty database cleaning tasks. The basic rule for loyalty rewards expiration – rewards earned on X expire on Y – is a must-have feature of your loyalty program

You can also opt for a rolling expiration, for example the points should expire two years after they are earned. You can make time limits more fine-grained by making redemption valid only in some hours or days of the week.

You could also create a kind of “happy hours” promotion with multiplying your rewards on certain days or during certain hours, for eligible purchases, in your loyalty program. That’s another way to motivate people to purchase due to a limited offer, without giving cashback right away. 

Learn more: What is points expiration and should you use it?

5. Loyalty program tiers

Apart from creating customer segments eligible for different promotions, you might want to create different loyalty program tiers. It can help make your loyalty program more interesting for the customers, adding a gamification effect to it. Loyal customers could be qualified to different loyalty tiers based on their purchases or other earning rules, like custom events. 

Loyalty tiers could differ in various ways:

  • Available rewards – offering some rewards only to higher tiers. For instance, you could be offering physical rewards for bottom tier, points for the second and cashback for the highest tier. 
  • Reward value– offering different discounts to different tiers (5, 10, 15% off).
  • Different earning rules – giving 1 point for a certain $ amount spent for the bottom tier, 1.5 point for the same $ amount for the middle tier and 2 points for the VIP tier.
  • Expiry dates – for example VIP clients could have longer expiry dates for their rewards. 

6. Budget limits

Your marketing team should have an option to cap the number of rewards up-front. There are several ways to do so. Most of them are based on limiting customer actions and the cost of them: 

  • Number of redemptions per customer.
  • Total redemptions for a given campaign (e.g., first 500 customers are eligible).
  • Total discounted amount within a single campaign.
  • Total order value within a single campaign.

You could also create limits for triggering points per earning rule. It could help to manage your budget spent on building customer engagement and enticing purchases. In some cases, members can abuse criteria for getting points, and a program without limits can negatively affect your business's financial condition. That's why it is critical to limit how many times customers can be rewarded for the particular action in a specific timeframe.

Finally, a feature that saves a lot of hassle – a kill switch. If your loyalty campaign goes south for whatever reason, you should always be able to deactivate it. The best loyalty program software out there lets your marketing team do this on their own.

7. Distribution and communication

I've said enough about securing your loyalty campaign. Equipped with customer rewards catalog, eligibility and timing rules, your loyalty strategy shield gives you and your marketing team confidence to act. 

An important first step of promoting your loyalty program is clearly explaining its rules. Your customers should know why joining it will bring them value and be able to estimate its perks easily. One way to help with explaining your earning rules is adding a reward calculator to your loyalty program landing page that would showcase loyalty perks based on variables they can put. The next step? Putting the campaign in front of the customer’s eyes!

Let’s say your loyalty software can model and validate personalized incentives. Now it’s time to distribute them to customers. New distribution channels are popping up (too) fast. This is why you have to treat this part of loyalty software with care during the planning phase. You can automate incentive delivery with three main solutions, each of them is more advanced and requires more software to work but also brings more value. 

These are the main three incentive delivery options:

  • CSV export – allows you to download incentive details and upload them manually or programmatically to delivery channels, e.g., send loyalty codes as merge tags in the email.
  • Manual send out – enables marketers to send incentives to specific groups on demand, e.g., send a push notification with loyalty codes to Berliners.
  • Real-time triggers – build real-time segments and allow marketers to define conditions under which your loyalty software sends a contextual incentive automatically, e.g., customers who have spent more than $500 get an automated message about 10% off valid next weekend. This can be done for example using webhooks.

The last option is a pinnacle of marketing personalization. It ensures smooth roll-out of a loyalty campaign with virtually no maintenance in the future. However, it requires heavy machinery which takes care of syncing data from your CRM and recalculating customer segments on top of it.

8. Loyalty reminders

Your incentivized messages already have higher visibility and enable higher customer engagement than regular SPAM. But even equipped with a reward, your message can get lost in the customer’s inbox. This is why you might want to implement a reminder workflow, allowing marketers to set up a series of follow-ups. 

9. Popular channels

It’s worth preparing your loyalty system for popular channels your company might be using now, such as store website (banners), landing pages, customer cockpits, email, push notification, SMS, live chats, paid ads, invoices, shipping emails, influencers, and more.

You should be able to define your loyalty program design and brand the messages according to your style guide and personalize them for each promotion. It saves a lot of time and resources if you can use a designer with built-in branding and personalization options instead of having to engage a designer and a developer each time you want to change your email HTML template or make a new landing page. This flexibility can turn out to be your competitive advantage, enabling you to act on recent events and competitors’ moves.

10. Tracking and reporting

How marketers can calculate and optimize the ROI of a loyalty program? By accepting and tracking reward redemptions, of course. This means your loyalty software should be able to, first, validate the reward usage and, second, inform which incentive has led to a particular order. Code-wise, this means that the platform shouldn’t be tied to a few fixed reward types and values because your developers will be modifying this part every time the marketing team comes up with a new incentive idea.

Side note: This is actually the backstory of Voucherify. In one of the projects, we helped with the implementation of the rewards program. Small changes in reward eligibility turned out to be a pain in the neck for engineers. But they were crucial for business at the same time – so they had to be made. You can imagine these frowned faces when marketing comes to the dev team and says they want to slightly tweak the list of recipients of a current campaign, or that they want to exclude shoppers who have already redeemed the re-engagement coupon from the last month.

Loyalty software should enable marketing leaders to compare revenue coming from engaged versus regular shoppers. If you add the ability to filter out locations, customer segments, dates, partners, they’ll get a useful tool to calculate the promotional lift. Or, even better, it should be able to deliver accurate charts according to some predefined formulas like conversion rate versus engaged conversion rate.

11. Program scaling and maintenance

An experienced PM knows that “The Launch” is often the easiest step. The real avalanche of requests slides off later on. Marketers and customer support agents will raid you with of questions and issues to check/change/delete various data. And it’s OK, that’s how the market works. But your role is to protect your team from tedious tasks. To do so, you need to gear up in features from the “self-serve” family.

The most obvious one is to let respective users control the loyalty campaigns on their own so that they can react right away. For instance:

  • Deactivate the coupon when it’s overused, then
  • change the validation rules of the campaign, then
  • reactivate it.

It might be useful to do updates in bulk if the changes affect more customers. 

Also, they should be able to get some insights into the performance of existing campaigns so they can plan the next ones better. This can be as easy as showing a simple dashboard.  Having such metrics accessible from a simple dashboard will reduce the number of walks of shame to the development team.

When it comes to customer support agents, they will love a single customer profile view, where they can trace the history of rewards redemptions. This was one of the most requested features from our customers. They also wanted to enable agents to apply redemptions on behalf of the customers, if they had some issues.

However, giving users more control has its downsides too. One of them is the higher chance to screw things up. If you care about data integrity and I know you do, you should think of a basic audit log showing you who did what and when. 

You can also apply some level of self-service for loyalty program members. A customer cockpit view where they can see their loyalty points, rewards they’re eligible for, and where they can redeem them can empower them and reduce the load on your customer service. You’ll free up your support agents from answering tons of questions related to your rewards program and your marketing team will gain some space to entice your audience with even more personalized deals.

H&M customer cockpit
Source: H&M Rewards Program

If your loyalty program covers several countries or affiliate partners, you might want to spread engagement campaigns between them. To achieve that, it’s reasonable to include multi-tenant architecture in the design phase. For instance, promo codes from tenant A shouldn’t be redeemable at B customer touchpoints and vice-versa. Or, the customers from Warsaw shouldn’t see banners offering 25% off discount for some of your products.

When your customer loyalty programs are big enough to require several (or even dozens) people to oversee them, you should think of adding fine-grained user roles.  Junior marketers shouldn’t be able to give 50% off discounts for the whole inventory, but they should be able to compile a performance report from A/B tested campaigns. 

12. Loyalty program UX

Besides coming up with the program rules and conditions, you need to make sure that you offer the best possible customer experience (CX). To make loyalty program implementation easier, we've prepared a ready-to-implement loyalty program UX kit on Figma.

Learn more: Best practices for loyalty program UX

Technical requirements for a loyalty software architecture

On top of the reward engine I’ve just described, you should build a web API. Why? Because marketing channels change so often that you need to separate the reward program logic from the front-end. Otherwise, your work will become obsolete and won’t be of much use in the future. Let’s go through the list of useful API components for your loyalty management software.

1. Customer touchpoints interface

Any channel needs three elements to fulfil the reward journey:

  • Get reward details to display them to customers.
  • Mark a reward as published/assigned.
  • Allow a customer to redeem the reward.

These three features should be reflected in API endpoints, so that you can connect engagement campaigns to mobile, web, IoT, display ads, live chat, or anything future will bring.

2. Programmable loyalty campaigns

Sometimes your team might want to personalize loyalty programs in response to external events. Real-life examples? If it’s raining, send out a 10%-off coupon to invite shoppers to buy online today. To achieve this in the future without hassle, you might extend your API with endpoints to create, start, and stop campaigns programmatically using your loyalty software of choice.

3. Webhooks

But what if you’d like to orchestrate other parts of your e-commerce software based on what happens in your loyalty campaigns? For starters, you can think of a notifications queue the client application can subscribe to.

Events like a customer redeeming (or failing to redeem) a reward or adding a customer to a rewards program are good triggers to start with. If you already know that your scale is growing and you’ll have a lot of external systems to work with, you might want to consider a full-blown webhook mechanism, with authentication and the retry policy.

4. Authentication & monitoring

Managing access will be way easier if you include separate API keys. You don’t have to write it from scratch, there are tools that handle this process end-to-end such as Apigee or Kong. They already include things like rate-limiters and audit logs which are essential if you want to keep your loyalty system easy to monitor and secure.

5. Customer support

Customer support can be refined with your customer loyalty strategy. The first step then is to help your agents ease complaining customers quicker than they can say "I'd like to speak to the manager". You can do that by creating a small customer success agent-focused view where they reimburse unhappy shoppers, e.g., assign a “sorry” coupon or add the equivalent of a loss in loyalty points.

You can also give CS agents insight into customers profiles. A step up would be to leverage the API and to embed this functionality into your customer support software. Many of them have open platforms, thus allowing for building custom extensions. Sometimes your customers have problems with redeeming rewards. The CS-focused view of your loyalty software should enable agents to apply them manually and retroactively – validating the order structure and customer attributes against your rules.

Legal requirements for a loyalty program software

One of the important things you must keep in mind is involving the legal department in making sure the data storage, processing, and all consents are compliant with the local and international laws. Keep in mind that they might not be the laws that apply to your company based on your location but the laws of the countries where your customers are located. This might be very complex if you have an international business online, with many customers coming from different countries. You have to comply with the majority of the rules. For writing terms and conditions and for defining technical requirements regarding data processing and data storage, we strongly advise you to get a knowledgeable law practitioner. In the long term, it’s cheaper than paying fines

A quick checklist to get you started (that might not cover all points, depending on which market you are targeting!) of what you should have in mind when creating a loyalty program and choosing loyalty management software: 

  • Unfair and deceptive trade practices are very broadly defined in various countries. What it means for your rewards program is that customers must understand the rules of programs they participate in. Be careful when you write your terms and conditions, they need to be understandable not only for lawyers but mainly for your customers! Here’s an example of failing to do so – in 2013, the Missouri Attorney General settled a suit with Walgreens because, in part, its shelf tags were not clear about how to redeem points.
  • Having an expiration date on gift cards might be prohibited in some countries/states. For example, Maine, USA prohibits having an expiry date on gift cards and requires businesses to give cashback in case the gift card can no longer be used.
  • Many countries have different rules on data storage and processing, like the GDPR in Europe. Make sure you check which law applies to your business. One of the important pieces of information you need to provide to your customers is how to opt out from your marketing communication and how to request data deletion. Where you store the data, data security, and whether you share the data with any other parties are other important parts of your agreement with the customer. 
  • Reserve the right to alter the terms and conditions of the loyalty program, including reserving the right to apply changes retroactively to benefits already accrued under the program.
  • A loyalty program is a contract. Some businesses fail to realize that the promises you make in your program are enforceable. You make what’s called a “unilateral offer” by advertising your rewards program. Consumers accept your offer by performing according to the terms of your offer. Suppliers have a duty to ensure that the goods offered to consumers in loyalty programs are in stock. In most advertisements, you will hear the “while stocks last”, “subject to availability”, or “terms and conditions apply” at the end, which suppliers believe cover them if they are not able to satisfy the promises made. It might not be the case, depending on the local law. 
  • Consider tax implications if clients use their loyalty points as payment. Will you collect tax for the full value or only the one they pay in cash for? Collect too little tax, and you’ll get hit with a bill and possibly penalties. Collect too much, and you risk a class-action lawsuit brought on behalf of your customers. A tax attorney can help you with defining the right approach.
  • Check if the name of your program is not a registered trademark. Consider registering yours, especially if it does not contain your brand name. 

Those are just some of the points to keep in mind when building or buying a customer loyalty software. I strongly advise you to consult a legal advisor on those and any other regulations that may affect your program before you launch it.


If you are currently looking for a customer loyalty software, Voucherify is the answer. Voucherify is a headless, API-first Promotion Engine that allows you to launch personalized discount coupons, in-cart promotions, gift card campaigns, referral programs, loyalty programs and giveaway campaigns, in no time.


Ready to build personalized loyalty programs? 

Get started


Share it on Twitter
Share it on Facebook
Share it on LinkedIn

Are you wasting time and money on digital promotions?

It’s time for a change.