Chat

How to Target Your Customers Using a Chatbot and Message Broadcasting

Chatbots are a new way to automate customer service but it is also an excellent vehicle to engage/re-engage your customers and do push marketing (a.k.a. Broadcast) to increase your sales.

Chatbots powered by AI is by far the best sales automation tool you can find. They capture the most important piece of information about your users via a Conversational User Interface (CUI). You are not only getting the basic demographic information of your customers but most importantly their preferences and interests that are essential for any product to improve and shine.

FMCG chatbot demo built with Smartloop

Let’s assume you are a beverage company and you are launching a new product through a chatbot (in our example, I will be using screenshots from the Smartloop Chatbot Builder). The success of your campaign relies on two simple factors:

  1. How many users actually went through the flow and claimed the coupon (or what is the turn around rate)?
  2. Are they loyal or new customers? Which specific age group is more engaged (or what is the target audience)?

The first part of the chatbot automation process is to define what is that you are looking for — it could be a series of questions that can set the stage for a future qualification for a marketing push. You can store the replies to these questions in the chatbot platform for later use:

User Input Block with validation in the Smartloop Conversation Builder

In this case, when the campaign is over I can send them a broadcast based on the input which already has been captured. Here we are sending an additional promotional offer to the most loyal customers (customer = “yes”):

Message broadcasting with Smartloop Conversation Builder

The approach is similar to the ones who have not completed the flow or even left the conversation after the very first message by taking them to a survey that could provide valuable insights on what went wrong. The broadcast can also redirect the user back to the chatbot:

Message broadcasting with Smartloop Conversation Builder

Most of us think that just launching the chatbot is the end of the game but it is quite the opposite — being able to nurture the users properly can only bring the right feedback for your product. Broadcasting can play an important role despite the fact that both flows are rather simple but extremely effective if we want to channel customers to a direction we want them to go.

Check out the new “custom variable” support in the Broadcasting section of Smartloop. This enables you to capture user input and user-defined variables and target your users at a later time. Broadcasting is currently available for Facebook Messenger, Web, and Viber. Reach out to us hello@smartloop.ai if you want to learn more.

It is always free to get started with the Smartloop Conversation Builder!

👏👏👏 One clap? 50 claps? Clap below to recommend this article to others 👏👏👏


How to Target Your Customers Using a Chatbot and Message Broadcasting was originally published in Smartloop on Medium, where people are continuing the conversation by highlighting and responding to this story.

How to Send an Email from a Smartloop Chatbot using Zapier

A Smartloop Conversation Platform Step-by-Step Tutorial

Make a Smartloop Zap!

In this tutorial you will learn how to:

  • Set up your Smartloop chatbot to send an email with information collected from the chatbot by using Zapier. Zapier is an automation tool (or “glue”) for integrations — in this case an integration between a Smartloop chatbot, Zapier and sending an email to a particular mailbox.

Notes:

  • This tutorial uses the data collected from a Smartloop chatbot, as described in How to Collect User Data with a Chatbot
  • This tutorial is level 101, i.e. it is for everyone. It doesn’t require previous programming knowledge
  • Everything in this article is valid for all channels that Smartloop supports for publishing chat bots on: website, Messenger, Viber, WeChat, etc.

Create Your Zapier Account

(if you have one, go to step 3)

1. Go to https://zapier.com/ and enter the details, needed to create your account.

2. If you see the “Find Smart Ways to Save Time” popup, choose any app (say Google Sheets) and click Finish Setup. This step is not important for this tutorial and you can edit this information later.

3. Click on “Make a Zap!”:

4. Name your ZAP with a descriptive name:

5. Scroll down, locate and select the built-in app, called Webhooks:

6. Once you select Webhooks, Zapier will ask whether this is a “Catch Hook”. The Catch Hook will wait for a new “message” to be sent to a Zapier URL (from your Smartloop chatbot). The URL will be created in following steps. Confirm the catch hook by pressing Save + Continue:

7. The next screen a set up screen which we will skip, because it is not needed for this tutorial. Press Continue:

8. On the next screen, which is “Test This Step”, Zapier will give you a custom unique URL for you to send your chatbot requests to. Copy the URL — we will need it in your Smartloop chatbot:

9. Leave Zapier as is for now, and let’s go to your Smartloop chatbot (in a new browser tab). Locate the block where you collect the last bit of information about your user. In my case I will use the bot described in How to Collect User Data with a Chatbot and I will open the email block:

Smartloop chatbot platform

In this bot, I collect two types of data points (also called variables):

  • {{user_name}} which stores the name that user has entered and
  • {{email}} which stores the email that the user has entered

10. In the block where you collect the last bit of information about your user, add a JSON API card:

Smartloop chatbot platform

We will use this card to integrate with Zapier. Since Zapier is set to “catch” the data, we need to set Smartoop to “post” the data, so we’ll leave the Method to post, as shown above.

11. Paste the URL which Zapier provided you in the URL field. Also, click on “more” to expand the card:

Smartloop chatbot platform

Once you expand the card, you will see different sections. The Query section can be used to filter, sort and aggregate the data you send to Zapier (which we will not do here). The Header section will not be used either for the current example. We will only use the Body section.

12. In the Body section we will enter the information which we want to send to Zapier (and ultimately to our email) in the following format (don’t forget to add the curly brackets — they are important for the JSON API to work properly):

{
“name”: “{{user_name}}”,
“email”: “{{email}}”
}

With this we give names to our variables and instruct Zapier what to handle and how:

Smartloop chatbot platform

13. If you recall, in step 8, Zapier is still “waiting” for the test to go through, so let’s go through the bot flow and collect the needed user information (you can do it in the Test console as well) — once this is done, Zapier will receive the name and email of the user and will have finished the test:

Smartloop chatbot platform

14. Once you finish entering the data, go back to Zapier and click on “Ok, I did this”. This will bring you to a screen, which will confirm that the zap worked (if you don’t see that screen, check the URL you entered in Smartloop for completeness, and also check the body in the JSON API card for errors):

15. In Zapier, click Continue to add an Action step. This is the step where we will define what Zapier needs to do with the data it is receiving from your bot, i.e. to send it an email. Scroll down, locate and select the built-in app, called Email:

16. Since we will be sending an email, click on Save + Continue on the next screen:

17. On this screen we will “compose” our message. In the TO field enter the email address where the user data will be sent to; in the SUBJECT field enter the subject of the email and in the email BODY enter the text you would like to be sent in the email. Use the “Insert a field” button to add the fields which Zapier is getting from the bot:

18. Click Continue and feel free to send a test email. Of course, you can always go back and edit the email contents to suit your needs, so feel free to play around.

19. Once you test the whole process, click FINISH and turn on your ZAP:

You can test a few more times and play around before going live. Note that Zapier turns the zap off when you make changes, so make sure that your zap is on (green) and working before going live.

That’s it! Enjoy!


How to Send an Email from a Smartloop Chatbot using Zapier was originally published in Smartloop on Medium, where people are continuing the conversation by highlighting and responding to this story.

How to Collect User Data with a Chatbot

A Smartloop Conversation Platform Step-by-Step Tutorial

Chatbots are not only great at chatting with humans, but they can also help you collect user data, such as the user’s name and email. This data can be very useful for profiling your users, for re-targeting, and for creating tailored conversation flows for specific types of users.

In this tutorial you will learn how to:

  • Set up your first Smartloop chatbot (and account)
  • Collect the User’s Name
  • Get and Validate the User’s Email

Notes:

  • This tutorial is level 101, i.e. it is for everyone. It doesn’t require previous programming knowledge
  • All screenshots and flows explained in this article are done with the Smartloop chatbot platform
  • Everything in this article is valid for all channels that Smartloop supports for publishing chatbots on: website, Facebook Messenger, Viber, etc.

Set Up Your Smartloop Chatbot (and Account)

(if you already have a Smartloop account, please move on to the next section)

1. Head to the Smartloop website
2. Click SIGN UP at the top of the screen

Smartloop chatbot website

3. Follow the instructions to setup your account. This step takes less than a minute.
4. Log in your new Smartloop account (feel free to go through the onboarding tutorial).
5. Once you are in the Smartloop dashboard, click on “+” and enter the required info. In my case, I’ve entered “User Data Collection Bot” as the title and description, my channel is Facebook, and the bot language is English:

Smartloop chatbot platform

Feel free to go through the new onboarding tutorial.

Collecting the User’s Name

1. For this example, let’s open your chatbot and create a new conversation block, which will ask the user what his/her name (in my case, this is the Start block). Add a TEXT card to the block:

2. We want the user to input his/her name in the chatbot. The way to do this is to add a User Input card to the block:

3. Since a person’s name is usually plain text, set the Data Type of the User Input card to Text, as in the screenshot above.

4. Enter a name for this variable. The variable name should be descriptive enough to explain what data is stored under it (think of this as a label). In my case, I will use {{user_name}} — see screenshot above.

5. It is fairly hard to validate how names are spelled out, so let’s keep Validation to none.

6. Let’s add a new TEXT card which will thank the user for his/her input. Let’s also make the conversation a bit more personal, by using the variable we’ve just created:

Congrats! We have just programmed the Smartloop chatbot to collect the name of the user! This also means that the platform will store the name of this user for future use.

NOTE: When the User Input card is used, the chatbot will expect input from the user. If you type a command in the chatbot when it is expecting an input, the chatbot will interpret it as input, and not as a command.

Getting and Validating the User’s Email

1. Let’s create a new conversation block, which will ask the user for his email. I will call this block email:

2. Since this block is not the ‘start’ block which the bot will start the conversation with, we need to add a keyword which will later allow us to call this block from the chatbot. Go to the Expressions tab and enter email as a keyword:

3. Go back to the Response tab of the block, and add a TEXT card which to prompt the user to enter his/her email.

4. Since we want the user to type his/her email, let’s add the User Input card to the block:

5. Since the email is text-only, set the Data Type of the User Input card to Text.

6. Let’s enter a name for this variable. I will use {{email}} — see image above.

7. Smartloop can automatically validate the email addresses for you, so let’s set Validation to email. Once we do this, the platform will give us the option to enter a Message in case the email that is entered is invalid:

8. Let’s test the flow by typing the email keyword in the chatbot and hitting Enter (you may need to refresh the test console). If you type a wrong email address, the bot will give you the invalid message (see image above).

9. Let’s add a new TEXT card to the flow which will thank the user for his/her input (refresh the chatbot if you want to test the new flow):

Well done! Your Smartloop chatbot will now store the user’s email.

Putting It All Together

It is easy to connect the two flows described in this article in one seamless chat flow. Go to your initial block (in my case it was the Start block) and add a Go To Block card, which to point to our email collection block:

The Go To Block card instructs the bot to go to the email block once it completes the name collection process.

Hit refresh in the test console and go through the flow — you’ll see that don’t need to use any keywords anymore:

HINT: The Go To Block card allows you to design more complicated flows, based on conditions that are triggered by a user inputs or events. We discuss some of these scenarios in this blog article: Customizing a Conversation Flow Based on User Input

Questions? Comments? Let me know in the comments below.

Enjoy using the Smartloop chatbot platform! Please feel to reach out to us if you have any questions.


How to Collect User Data with a Chatbot was originally published in Smartloop on Medium, where people are continuing the conversation by highlighting and responding to this story.