How to estimate customer loyalty software? What are the obstacles on the road to well-oiled loyalty campaigns? How to retain customers with capital "R"? This article tries to answer these questions from the PM's point of view.
So you want to launch a customer loyalty program? I’d surely go for it too if I ran a B2C business — and bumped into the recent stats from Adobe. “40% of revenue comes from returning or repeat purchasers, who represent only 8% of all visitors”. Say what? To me, that’s enough to justify some serious investments in technology supporting this matter. But how to estimate this investment? What are some obstacles on the road to a well-oiled loyalty program? How to retain customers with capital “R”? This article tries to answer these questions from the PM’s point of view.
Customer loyalty trends
Customer retention (I wouldn’t say I like this word, but you know… SEO and stuff…) is getting more and more buzz these days. Millennials’ loyalty trends, or actually the lack of them, make it difficult to steer your audience towards repeat sales. To show you the problem is real, let’s put some data on the table:
- The top 10% of your customer base spend 3x more than your average customer.
- 67% of customer churn is preventable if the issue is resolved during the first interaction.
- Customers with an emotional connection to a brand have a customer lifetime value that's 4x higher than the average customer.
- 47% of consumers won't engage with a business after a moment of brand disappointment.
At the same time, other studies confirm that a well-crafted loyalty program can be a useful tool to fix some of these obstacles:
- 37% of customers will pay extra for an enhanced tier of membership.
- 52% of loyal customers will join a loyalty program.
- 75% of consumers would engage more with loyalty programs that make rewards mobile-friendly.
- 70% of consumers would be more likely to recommend a brand with a good loyalty program.
If you’re curious about the ins and outs of this phenomena, go to Clint’s article where he compiled several studies and elaborates on them. If, in turn, you want to do what you’re paid to do as a PM — start building a loyalty program — read on.
This is going to be a long post. Not as long as Les Mis but there will be a lot of essentials threads. I want to share all the tips we’ve faced while building and deploying our customer loyalty technology. I hope they will help you ship your loyalty program and satisfy your teams and your customers, of course!
Sure, I don’t claim the knowledge we’ve gathered so far is the Ultimate Source of Truth™ for customer loyalty. I also know that customer loyalty strategies differ from industry to industry, and often even within the same sectors. However, by creating business-agnostic customer loyalty software, we’ve seen some commons patterns crystallized over time.
So, what are the deliverables of a regular loyalty program? Let’s split this idea into several categories so they can fit into the backlog.
Marketing — let’s start with the most obvious stakeholder. Attracting new customers and enticing them to repeat purchase is their primary job. To be at the top of their game in the digital world, they have to tap into customer loyalty technology. So, to be precise — technology that enables marketing personalization with every current and future channel.
Support — “67% of consumers cite bad experiences as a reason for churn”, says article compiled by Vala Afshar, Chief Digital Evangelist at Salesforce. But you don’t need any advanced research to know that great customer service leads to loyalty. And yes — your tech stack can support this too. In this chapter, you’ll explore how your CS agents can win customers back with immediate personal discounts.
Engineering — Shipping technology that fulfills requirements from the customer-facing teams requires flexibility. When push comes to shove, and “production” contradicts plans and forecasts, your software should fix the issues with an iteration or so. Also, new customer touchpoints popping up now and then should provide enough reason to keep your architecture open for change.
Management — No iterations on customer loyalty software are possible without proving that the company is cashing in on what you’ve shipped so far. So metrics are a must-have. There’s more to that. For some projects, launching loyalty campaigns can be an important part of a strategy. In these cases, management might want to keep an eye on campaigns with bigger budgets and have fine-grained control over when the campaign is launched.
Legal — GDPR and upcoming security policies have an impact on how you process and store data. Naturally, your loyalty program, as any other customer-facing process, is affected and has to be planned with care.
Commons — There are many cross-cutting concerns your loyalty platform should support within an organization like training, documentation, FAQ, data exports, user management, new feature announcements, or system status. We’ll take a look at them too.
Marketing building blocks
We’ve said that to let marketers increase customer loyalty, you need to equip them personalization capabilities. But if you google marketing personalization, you’ll quickly find out that this term is vague — to put it mildly.
As a PM who’s tasked to design personalized loyalty software, you need to extract specifics; you need to separate the wheat from the chaff. Our findings might give you some guidelines here.
Over the last 3 years, we’ve been watching how our customers personalize their customer retention campaigns, and we’ve discovered there are three essential gears involved:
- incentives creator
- promotion engine
- onboarding and maintenance
This still sounds rather fuzzy. Let’s try to make it backlog-ready.
It’s common to hear engineers say, “marketers don’t know what they want.” The aftermath of this “ignorance” is the #1 reason for slow time to market. And loyalty campaigns are no exception.
The reason behind ambiguous requirements for the customer loyalty strategy is that every marketing campaign is an experiment. It starts with a hypothesis, goes through a small-scale test in the field, and ends up with a global roll-out phase.
According to our experience, every customer retention campaign that works relies on a personalized incentive. Let’s break this term down to help you understand what forms a good enticement and how you can automate it with software.
The foundation of a personalize incentive consists of 3 features: reward, eligibility, and timing.
Let’s start with the personalization of rewards. When you watch how the biggest brands fight to increase loyalty, you’ll notice they have a myriad of tools on offer.
The reason for this is that, sometimes, a slight change in a deal’s reward can give an engagement campaign an unexpected backwind. That’s why it’s vital for your customer loyalty software to cover several types of promotional offers, including:
- free delivery — with the amount min. threshold
- free samples
- 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, product bundling)
- gift cards — redeemable once or more
- cash payout — e.g., for referrals
- earning loyalty points — points can be exchanged for the items above
When your loyalty platform accepts many types of deals, your marketers get freedom in positioning engagement campaigns like coupon, referral, and loyalty programs and finding a promo idea with the best ROI through experiments.
How can they find out the ROI? Simply — by accepting and tracking reward redemptions. This means your 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.
Sidenote: This is actually the backstory of Voucherify. In one of the projects we helped with as a software house 4 years ago, small changes in reward eligibility were 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 tell them 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.
But the reward type and value are one thing. Equally or even more important from the budget’s point of view is who can get the reward and under what conditions. This is a cornerstone of every personalized loyalty campaign. Let’s investigate it in breadth and depth.
The biggest problems with any incentives meant to turn first-time customers into recurring ones is the target mismatch. Shoppers who don’t need to be enticed redeem your rewards burning your promo budget and eventually reduce your margins.
Splitting the audience into segments and treating them with appropriate rewards is already hard but important not only for the mismatch. Fraud is another danger. People always tend to outplay the system if they find out it’s possible.
The third 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 and when it dovetails with other engagement tactics you’ve launched earlier. If they sense SPAM, they won’t care about your campaign.
Enough reason 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 3 categories:
1) Customer attributes, purchase and reward redemption history
By making your promo engine aware of customer attributes and behavior, you can create segments and assign them to a particular campaign. 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.
This setup enables your marketer to create the following scenario: this re-engagement coupon is valid for London customers with at least $1000 spend, who haven’t redeemed any other coupon in the last 6 months. Powerful, innit?
2) Order structure and volume
Filtering out the wrong customers is only the first step. Now we have to make sure they put the right things into the shopping cart. You can achieve it by integrating your validation rules with the shopping cart engine.
Your loyalty system should be able to understand the content of an order and validate whether the customer can redeem it against an active reward campaign.
In this way, you’ll give your marketers a helpful tool to apply up- and cross-selling tactics; For example,
- you get 20 loyalty points if you buy for more than $100, or
- this 10%-off coupon is available only for iPhone X, or
- friend referral counts if the referred person spends at least $50.
3) Budget limits
Finally, your marketing 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 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 with a single campaign
These three validation rules categories already account for a more manageable reward budget but there’s one more to be discussed.
The sense of urgency is one of the most fundamental factors for loyalty campaign success. The expiry date on coupons and loyalty points or the “time left” counter on the website are the things that push shoppers for action.
It’s not enough to announce the expiry date in the marketing messages. PMs who don’t delegate this to marketers and design their systems to validate redemptions against dates strictly are right on the money. The mess caused by letting invalid reward redemptions flow grows exponentially with the number of the loyalty campaigns you run.
On top of that, calendar-driven promo campaigns like holidays, birthdates, or anniversaries are just a brilliant and natural way to entice customers throughout the year. To keep them manageable, you need to control the start date too.
This is why it’s good to think of start and expiry dates as a first-class citizen of your loyalty software.
Whatever incentive campaign you model, be it coupons, gift cards, loyalty points, or auto-applied 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.
You can make time limits more fine-grained — if it’s relevant to your business — by making redemption valid only in some hours or days of the week.
Finally, a feature that saves a lot of hassle — a kill switch. If your campaign goes south for whatever reason, e.g. you noticed that some customers found a way to outplay your referral program or your coupon went viral in the wrong audience. In this case, you should always be able to deactivate the related referral/promo/code or loyalty card without the need to exclude them manually in the codebase. Or better, your marketing team can do this on their own.
We’ve said enough about securing your loyalty campaign. Equipped with rewards catalog, eligibility and timing rules, your loyalty strategy shield gives you and your marketing team confidence to act. 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.
*Caveat: 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. We give you some hints on how to keep it open for change in the Engineering chapter.
You can automate incentive delivery on three levels. Each level is more advanced and requires more software to work but also brings more value.
1) CSV export — allow to download incentive details and upload them manually or programmatically to delivery channels e.g., send coupons as merge tags in the email.
2) Manual send out — enable marketers to send incentives to specific groups on demand, from some dashboard (e.g., send a push notification with a referral code to Berliners).
3) Real-time triggers — build real-time segments (remember eligibility rules?) and allow marketers to define conditions under which your 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.
The last option is a pinnacle of marketing personalization. It ensures smooth roll-out of a 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.
Your incentivized messages have already higher visibility than regular SPAM. But even equipped with a reward, it 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.
It’s worth preparing your system for popular channels your company might be using now, such as store website (banners), landing pages, email, push notification, SMS, live chats, paid ads, invoices, shipping emails, influencers.
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 hordes 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 neutralize them and protect your team from tedious jobs. 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, e.g.:
- deactivate the coupon when it’s overused, then
- change the validation rules of the campaign, then
- reactive it.
Also, they should be able to get some insights of the performance into existing campaigns so that they can plan the next ones better. This can be as easy as showing a simple dashboard with distributed/redeemed stats, per campaign and global. This will reduce the number of trips from the marketing team a lot.
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. Alongside, they wanted to enable agents to apply redemptions on behalf of the customers, if they had had some issues being eligible.
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 — who did what and when.
You can also apply some level of self-service for customers. Expose a customer cockpit view where they can see their loyalty points, referrals status, rewards they’re eligible for, and finally, where they can redeem them. You’ll free up your support agents from answering tons of questions related to your loyalty program and your marketing team will gain some space to entice your audience with even more personalized deals.
If your loyalty program covers several countries or affiliate partners, you might want to isolate 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 don’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.
Team members from customer service shouldn’t be able to launch new campaigns, but they should assign an “apologize” coupon for a customer. 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. And so on.
You don’t have to implement roles from day one, but it’s wise to build in some abstraction to introduce them later on.
Speaking of abstraction, let’s talk about technical details. We’ve laid out a pretty solid feature set for a customer loyalty strategy which includes a decent level of personalization. I hope this term isn’t a black box anymore and that you can relate these requirements to your context. The next section shows how to do that from the development point of view.
Marketing personalization needs something more. On top of the reward engine we’ve just described you should build a web API. Why? Because marketing channels change so often that you need to separate the loyalty program logic from the front-end. Otherwise, you work will become obsolete and won’t be much use for the future. Let’s go through the list of useful API components.
Customer touchpoints interface
Any channel needs three pieces to fulfill the reward journey — the ability to:
- get-reward details to display them to customers (nice-to-haves: filter by customer, filter by activity status),
- mark a reward as published/assigned (useful for campaign success reports, e.g. # redeemed rewards vs # notifications),
- 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.
Sometimes your team might want to personalize loyalty campaigns in response to external events. Real-life examples? If it’s raining, send out a 10%-off coupon to invite a shopper to your brick-and-mortar stores. Or, if a competitor’s price drops under some value, you show a discount too. To achieve this in the future without hassle, you might extend your API with endpoints to create, start, and stop campaigns programmatically.
But what if you’d like to orchestrate other parts of your ecommerce software according to what happens in your loyalty campaigns? For starters, you can think of a notification queue the client application can subscribe to.
Events like a customer redeeming (or failing to redeem) a reward, creating/starting/stopping reward campaigns, or adding a customer to a loyalty 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.
Auth & monitoring
Speaking of partners, 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 thus secure.
[Bonus] Unique code generator
Coupons, referrals, and even loyalty cards, all of them work on unique codes. A random code generator that ensures that no two coupons have the same code is the pillar of any reward engine. For branding and reporting purposes, it might support features such as custom charset, pattern, suffix, and prefix. We released one open source.
Customer success processes also can be refined with your customer loyalty strategy.
Remember one of the opening statistics? “67% of customer churn is preventable if the issue is resolved during the first interaction.“ The first step then is to help your agents ease complaining customers in next to no time. 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 profile. If she’s already a loyal customer who refers your brand a lot, you might want to serve her complaint with priority.
A step up would be to leverage the API and to embed this functionality into your customer support tool. Many of them have open platforms, thus allowing for building custom extension. Imagine how sending a personalized “apologise” coupon code right in the live chat box can improve retention rates.
Sometimes your customers have problems with redeeming their 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.
Now that we’ve defined features helping every department, we need to prove to management that they’re doing their jobs.
The person who’s interested the most in the performance of the loyalty campaigns is your CMO. Let’s see what report’s they would find useful:
- total order value vs discounted amount
- average order value when the discount is applied
- total balance on sold gift cards
- balance of the gift card spend
- total number of loyalty points
Also, the loyalty software should enable marketing leaders to compare revenue coming from engaged vs 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 the accurate numbers/charts according to some predefined formulas like “conversion rate” vs “engaged conversion rate”.
They might also want to request regular email updates on how their customer strategy works for the company.
One of the important things a PM must keep in mind is involving the legal department in making sure the data storage, processing, and all consents they collect are compliant with the local 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:
- Unfair and deceptive trade practices are very broadly defined in various countries. What it means for your loyalty program is that customers must understand the rules of programs/schemes 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. (An example - Maine, USA prohibits having an expiry date on gift cards and requires businesses to give cash back in case the gift card can no longer be used.) Make sure you check the law about it.
- Privacy and data security - 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 in case they do not want you to keep their personal data anymore. Where you store the data (a local server vs a server abroad), data security, and whether you share the data with any other parties (even your contractors/suppliers) 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 loyalty 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 in case clients use their points/gift cards 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.
- Referral programs - contacting the referred friend. In Europe, due to the GDPR, you cannot just send marketing materials to the referred friend, as they have not given their consent (yet). The only workaround we are aware of is to send the information to the referred friend informing them that they have been referred and asking for consent for sending further communication. If no consent is given, you cannot contact them again. We recommend you to consult it with your legal advisor because the suggested approach is not explicitly stated in any law.
- 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; we strongly advise you to consult a legal/tax advisor on those and any other regulations that may affect your program before you launch it.
[This article is in progress. Subscribe to our blog to get recent updates.]