![Cover for How to build a customer loyalty chatbot to get more repeat customers](https://storage.googleapis.com/chatfuel-cms-staging/pic/sm_customer_loyalty_chatbot_25d45f6d47/sm_customer_loyalty_chatbot_25d45f6d47.webp)
How to build a customer loyalty chatbot to get more repeat customers
Wondering how to increase customer loyalty so you can grow your business? Guest expert Joren Wouters shares how to build a loyalty chatbot.
It’s easier to keep a customer than to acquire a new one, as any good marketer in the last decade knows. I think you’ve heard the phrase before, and it’s true: It is easier to get past customers to come back. Yet most businesses are still not focusing their efforts on this area.
This is where a loyalty chatbot for Facebook Messenger comes in. A loyalty chatbot is an easy, automated way to run your business’s loyalty program, so you can encourage your existing customers to buy from you again. And the best part: you don’t need a big budget, a team of engineers, or any coding knowledge to build one. All you need is Chatfuel and this article. Let’s start.
What is a loyalty chatbot?
A loyalty chatbot provides users with information about your loyalty program, which is a system that incentivizes customers to do repeat business with you. Chatbot loyalty programs can reward users in different ways. Here are few examples:
A coffee shop could give patrons a free coffee after they’ve purchased five. Their chatbot can track the customer’s rewards based on QR codes they scan at the register—like loyalty cards, but digital.
An ecommerce store’s chatbot could award points to its customers for every order they place, which they can later redeem to get a free gift or coupon.
A spa or salon could use a chatbot to provide customers with personalized recommendations and discounts for their next service.
Why you should use a loyalty chatbot for your business
Before you learn how to build a loyalty chatbot for your brand, let’s dig deeper into why. Why should you use a chatbot for your loyalty program, and how can it benefit your brand in the long run? Here are five main reasons.
A loyalty chatbot will help you retain more customers
As said before, a loyalty chatbot helps encourage customers to come back and do business with you again. For the average business, 60-70% of customers will visit once and never come back. But a loyalty chatbot can help to drastically reduce these numbers for your brand. It makes it easy for customers to find out about and redeem rewards for returning to your business. In other words, it’s a great way to build customer loyalty over time—and customer loyalty leads to more sales and longevity for your business.
![](https://storage.googleapis.com/chatfuel-cms-staging/pic/original_customer_loyalty_chatbot_0_04d0bc290f/original_customer_loyalty_chatbot_0_04d0bc290f.webp)
Retaining just 5% more customers can lead to a 25% profit increase
Of course, you can’t ensure that every customer will come back to your business again and again. But even if you only get 5% of them to return, you can earn a profit increase of as much as 25%! This statistic shows how even simple retention efforts like customer loyalty programs can have a huge impact on your business.
75% of consumers say they favor companies that offer rewards
We all love rewards, don’t we? Especially if all we have to do to get them is make a purchase. Less than 8% of consumers say rewards aren’t at all important to their purchasing decisions. This means that 92% of consumers do think rewards are an important factor when they’re choosing a business to buy from.
But that’s not all: 75% of consumers specifically say they favor companies that offer rewards. So to attract more customers in the first place, you must become a company that offers them. And a great way to implement a rewards program is with a loyalty chatbot, built with Chatfuel.
43% People spend more money on brands they’re loyal to
Surveys show that 43% of consumers spend more money on brands they’re loyal to, and it makes perfect sense. If you’ve earned customer loyalty, that means those people love your product and want to support your brand—and they will! And of course, a Messenger chatbot is an effective and simple way to help build up this loyalty.
95% of loyalty program members want to engage with the brand’s program through new and emerging technologies
So by now, I hope you understand why you need a loyalty program. But you might still be wondering why you should use a chatbot to implement it.
One reason is that people love trying out new technologies like chatbots. In fact, a research study showed that 95% of loyalty program members want to engage with a loyalty program through new and emerging technologies. Your customers are interested in fresh, unique ways to connect with your brand and earn rewards. As a result, getting people to use your loyalty chatbot will come more easily, which means brand loyalty and all the benefits it brings will come more easily as well.
How to create a loyalty chatbot with Chatfuel
So now that you know all about loyalty chatbots, it’s time to create one yourself. To illustrate how to do it, let’s use an example. Imagine that we own a coffee shop called Cappuccino Café—the best place in town to go for a cup of coffee.
Every time a customer buys a coffee from us, we can show them a QR code. And once they scan that QR code with their phone, they’ll be sent straight to our loyalty Messenger chatbot. When they buy a coffee, they earn one loyalty point. Once they have five points, they’ll get one coffee for free. The chatbot will keep track of the points to make earning and redeeming easy for both the customer and the barista.
Here’s how we would build such a bot in Chatfuel. Follow along for instructions on how to do all three steps, no coding or experience necessary.
- Create the main chatbot flow
- Create the QR code
- Create the chatbot flow for when a user redeems their points
- Create the main chatbot flow for your loyalty Messenger bot
Log into your Chatfuel dashboard and create a new bot, or open an existing bot that you want to add these flows to. Once you’e logged in, go to the Flows tab under the Automationtab in the left panel.
![](https://storage.googleapis.com/chatfuel-cms-staging/pic/original_customer_loyalty_chatbot_1_189da8551a/original_customer_loyalty_chatbot_1_189da8551a.webp)
Here, you can create a new group by clicking the + button in the left column, and then clicking Add new group.
![](https://storage.googleapis.com/chatfuel-cms-staging/pic/original_customer_loyalty_chatbot_2_1203ea963a/original_customer_loyalty_chatbot_2_1203ea963a.webp)
Let’s name this new group Loyalty Chatbot. Then, we can add our first flow within that group by clicking the + button next to the group name. We can call this new flow Loyalty Chatbot — Main.
![](https://storage.googleapis.com/chatfuel-cms-staging/pic/original_customer_loyalty_chatbot_3_9a1f2d8361/original_customer_loyalty_chatbot_3_9a1f2d8361.webp)
By default, the first step of any flow is a message, but let’s change this. We need to start with a condition instead.
A note on conditions. One of the benefits of chatbots is that you can have personalized conversations at scale. And a good way to do this is by using conditions in Chatfuel. So to make the loyalty chatbot experience more personalized, we’ll have it first check (using a condition) if the user is a returning customer or a new one.
And to do this check, we first need to set up a Bot Action with a user attribute (like a tag or label). To add a Bot Action to your flow, right click anywhere on the canvas and select Bot Action from the list.
![](https://storage.googleapis.com/chatfuel-cms-staging/pic/original_customer_loyalty_chatbot_4_69d7f6afb3/original_customer_loyalty_chatbot_4_69d7f6afb3.webp)
A new card for that Bot Action will appear. In it, click +Add Action and choose Set User Attribute from the drop-down list.
![](https://storage.googleapis.com/chatfuel-cms-staging/pic/original_customer_loyalty_chatbot_5_d677c3146f/original_customer_loyalty_chatbot_5_d677c3146f.webp)
In the field called {{attribute}}, name your attribute. Let’s call it {{returning_customer}}. In the field next to it, called {{value}}, just type in yes.
![](https://storage.googleapis.com/chatfuel-cms-staging/pic/original_customer_loyalty_chatbot_6_0fe0275182/original_customer_loyalty_chatbot_6_0fe0275182.webp)
Let’s move on—we’ll come back to this Bot Action card in a moment.
Now that we’ve created the user attribute, we can use it in a condition. To add a condition to your flow, right click anywhere on the canvas and select Condition from the drop-down list.
![](https://storage.googleapis.com/chatfuel-cms-staging/pic/original_customer_loyalty_chatbot_7_0a1bc51c39/original_customer_loyalty_chatbot_7_0a1bc51c39.webp)
Once the Condition card appears, click on it. A new column will appear to the left, where you can set the parameters for your condition.
![](https://storage.googleapis.com/chatfuel-cms-staging/pic/original_customer_loyalty_chatbot_8_00ba62ae7f/original_customer_loyalty_chatbot_8_00ba62ae7f.webp)
Fill in the boxes as follows:
Attribute returning_customer is yes
Then click + to add another set of boxes below, and fill them in as follows:
Attribute returning_customer is not set
This condition will now allow the Facebook chatbot to check if the user is a returning customer (“If attribute returning_customer is yes”) or a new customer (“If attribute returning_customer is not set”) and lead them down the right flow from there.
![](https://storage.googleapis.com/chatfuel-cms-staging/pic/original_customer_loyalty_chatbot_9_013eb4a1ad/original_customer_loyalty_chatbot_9_013eb4a1ad.webp)
Then, let’s mark this condition as the starting step, so that it is the first thing that happens in our flow. (Just hover over the Condition card until the three dots appear, then click them and select Mark as Starting Step.)
![](https://storage.googleapis.com/chatfuel-cms-staging/pic/original_customer_loyalty_chatbot_10_3165ba4140/original_customer_loyalty_chatbot_10_3165ba4140.webp)
Based on this condition, we’ll need to make two directions in our flow so that both types of users will be sent to the appropriate conversation from there. The two flows will be for:
- A new customer who needs more information about our loyalty chatbot
- A returning customer that has already used our loyalty chatbot once
So let’s create these two, starting with the flow for the new customer.
Let’s go back to the Bot Action we created earlier. Click the circle in the bottom-right corner of that card and drag and drop the arrow so the menu appears. Choose Text + Buttons from this menu.
![](https://storage.googleapis.com/chatfuel-cms-staging/pic/original_customer_loyalty_chatbot_11_efa7c7b68c/original_customer_loyalty_chatbot_11_efa7c7b68c.webp)
A new card will appear. This is where we’ll fill in the text for our first message to the new customer. We’ll add some copy that tells a little about our loyalty program, and a button so the customer can have some interaction with our chatbot.
![](https://storage.googleapis.com/chatfuel-cms-staging/pic/original_customer_loyalty_chatbot_12_604a3d314b/original_customer_loyalty_chatbot_12_604a3d314b.webp)
Now, from the circle in the bottom-right corner of this Send Message card, drag and drop again so the menu appears. Choose Bot Action again, so we can set up the mechanism that will add one loyalty point for the new customer.
![](https://storage.googleapis.com/chatfuel-cms-staging/pic/original_customer_loyalty_chatbot_13_f52f55abbe/original_customer_loyalty_chatbot_13_f52f55abbe.webp)
The value of our loyalty_points attribute now becomes “{{loyalty_points}}+1”. This will make sure that one loyalty point is added for this user.
Now, we can use the same drag-and-drop process to connect this Bot Action to another Text + Buttons card. In this card, let’s add a message notifying the new user that they’ve received their first point.
![](https://storage.googleapis.com/chatfuel-cms-staging/pic/original_customer_loyalty_chatbot_14_2b8ae24861/original_customer_loyalty_chatbot_14_2b8ae24861.webp)
At this point, your flow should look something like this. ⬇️
![](https://storage.googleapis.com/chatfuel-cms-staging/pic/original_customer_loyalty_chatbot_15_fc0b89e980/original_customer_loyalty_chatbot_15_fc0b89e980.webp)
Now that we’ve created the conversational flow for new users, we also should create the one for returning customers.
Go back to the Condition card that we marked as the first step. Drag and drop from the returning_customer attribute to add a new card—another Bot Action where we add {{loyalty_points}}+1, just like we did before.
![](https://storage.googleapis.com/chatfuel-cms-staging/pic/original_customer_loyalty_chatbot_16_283a6b05cd/original_customer_loyalty_chatbot_16_283a6b05cd.webp)
Once we’ve done that, we can further personalize the chatbot experience by conditioning on the number of loyalty points the customer has after this one has been added.
So let’s drag and drop from the circle on the Action card to add a new Condition card that checks:
- If the user has one loyalty point
- If the user has less than four loyalty points
- If the user has four loyalty points
- If the user has more than four loyalty points
![](https://storage.googleapis.com/chatfuel-cms-staging/pic/original_customer_loyalty_chatbot_17_ddd9ca42b8/original_customer_loyalty_chatbot_17_ddd9ca42b8.webp)
And based on these conditions, our Facebook bot can send personalized messages to the user. (Drag and drop to create Text + Button cards from each of these conditions, then add text for each situation.)
![](https://storage.googleapis.com/chatfuel-cms-staging/pic/original_customer_loyalty_chatbot_18_05a5eff4bc/original_customer_loyalty_chatbot_18_05a5eff4bc.webp)
And that’s all we need to do for the main flow, which should now look something like this. ⬇️
![](https://storage.googleapis.com/chatfuel-cms-staging/pic/original_customer_loyalty_chatbot_19_8d4fd8d671/original_customer_loyalty_chatbot_19_8d4fd8d671.webp)
- Create a QR code for the main chatbot flow
Now, let’s create a QR code that leads to this chatbot flow, so our coffee shop customers can easily access it when they make a purchase.
For the QR code to work, we first need to add a Bot Link Entry Point to the beginning of the chatbot flow we just created. (Right click anywhere on the canvas and select Bot Link from the drop-down menu.)
![](https://storage.googleapis.com/chatfuel-cms-staging/pic/original_customer_loyalty_chatbot_20_58ed5203cf/original_customer_loyalty_chatbot_20_58ed5203cf.webp)
We will drag to connect this Bot Link card to the first Condition card in our flow (which we created earlier), and activate it by toggling the switch.
![](https://storage.googleapis.com/chatfuel-cms-staging/pic/original_customer_loyalty_chatbot_21_98f9e21030/original_customer_loyalty_chatbot_21_98f9e21030.webp)
Then, click Copy URL on the Bot Link card and head over to a QR code generator. Here, we can paste in our bot link and download the QR code that the tool generates.
![](https://storage.googleapis.com/chatfuel-cms-staging/pic/original_customer_loyalty_chatbot_22_1f88a927fb/original_customer_loyalty_chatbot_22_1f88a927fb.webp)
And we’re all set! Now, we can print out this QR code and tape it to our cash register where patrons of our coffee shop can easily scan it. 🙌
NOTE: The QR code setup will not work in certain European countries because of privacy changes effective December 16th, 2020. A good workaround for this would be to use keywords instead, or to set up a website chat greeting on a specific page of your website.
- Create the redemption flow for your loyalty chatbot
Now we’ve got our QR code and the flow attached to it. But what do we do if a customer wants to redeem their loyalty points to get a free coffee? Let’s create another flow for that and call it Loyalty Chatbot — Redeem. (Click the + button in the left column of your screen and click Add new flow.)
We need to start this new flow with an action that will remove five points from the customer’s bank of loyalty points. (Just like before, right click on the canvas and add a Bot Action and choose the Set User Attribute option.) Let’s set the attribute {{loyalty_points}} to a value of {{loyalty_points}}-5.
![](https://storage.googleapis.com/chatfuel-cms-staging/pic/original_customer_loyalty_chatbot_23_c1cc6fe0cf/original_customer_loyalty_chatbot_23_c1cc6fe0cf.webp)
Then, we will also set this Bot Action as the starting step of our flow, as we did before.
![](https://storage.googleapis.com/chatfuel-cms-staging/pic/original_customer_loyalty_chatbot_24_ad8f1f762d/original_customer_loyalty_chatbot_24_ad8f1f762d.webp)
Next, we’ll drag and drop to add a Text + Buttons card, where we’ll enter a message that tells the user how many loyalty points they have now.
![](https://storage.googleapis.com/chatfuel-cms-staging/pic/original_customer_loyalty_chatbot_25_de18e3c2c5/original_customer_loyalty_chatbot_25_de18e3c2c5.webp)
The last thing we need to add to our chatbot is a keyword trigger, so when the barista types in redeem, this flow will be activated.
To do this, head over to the Set Up AI tab (under the Automation tab) in Chatfuel. Click +Add AI Rule. Add the keyword redeem and have the bot reply with the Redeem flow we just created.
![](https://storage.googleapis.com/chatfuel-cms-staging/pic/original_customer_loyalty_chatbot_26_62ee3432c2/original_customer_loyalty_chatbot_26_62ee3432c2.webp)
Now, when the barista types in redeem, the chatbot will automatically remove five points from the customer’s total loyalty points.
It’s time to build a loyalty program chatbot for your business
As you can see, chatbots are a great channel for managing your loyalty programs. They’re easy for users to access, and they offer a personalized and engaging experience. They’re also easy for you to build, and the technology will set you apart from your competition. And of course, your customer loyalty bot will help you turn one-time customers into repeat customers so you can grow your business. Sign up for your free Chatfuel account to build a no-code bot to increase customer loyalty today.