Seven things I learned making a chatbot

I used to work for a book publisher located in London. During my time there, I had the opportunity to create a chatbot for Facebook Messenger. Through this experience, I gained valuable insights that I would like to share.

This chatbot is designed to assist users in finding their next book to read or a gift for someone else. We are continually refining and improving our services as we progress. We have worked with BAM's skilled professionals to create a custom chatbot CMS that allows us to make updates. These principles are also applicable to chatbots developed on other platforms such as Chat Fuel.

Don’t forget about the chat

It is very easy to forget that users will want to chat with your chatbot. Even though Facebook is moving towards a button-driven interface, many of our users are typing in sentences about what they are looking for and it’s more conversational than I’ve seen in search.

When we started internal testing we were all typing in keywords that we knew would work. As soon as we went started beta testing and opened it up to users they were typing in sentences and chatting with the bot. We made a small tweak and added an extra 130 keyword triggers which have improved this.

Focus on one task

The most successful chatbots are all very focused on one useful task. Our task is to help users find a book to read or a gift for someone else. The workflow for finding a gift is very well suited to a chatbot interface as it can be button driven or users can type in what they like.

Chatbots are a new interface and although quite simple it’s very easy to lose people if they don’t know what to do. The opening message you send a user should give them a very obvious cue to what they can do before you progressively lead them towards using text.

I still don’t think we’ve nailed this yet, but we keep testing and learning.

Test early and build in several rounds of changes

Like every other product you build, being as agile and data-driven as possible is key to improving.

Depending on how you’ve built your chatbot and the platform you use it might be cheaper in the long term to build the tools that allow you do this yourself. We’ve built a pretty flexible framework and make good use of our APIs.

APIs are very helpful

I don’t think this would have been as easy or even possible if we didn’t have APIs to use. This includes both internal and external APIs. The internal APIs allow us to serve up bespoke custom collections of books but also give access to our entire catalogue for broader searches.

For external APIs, we make use of Goodreads and Tastekid. They are both really useful and help provide a fuller experience for our users.

Dropping people directly into a chatbot from advertising isn’t always ideal

One of the first things we did to drive traffic to our chatbot was to use advertising on Facebook to drop users directly into Messenger using our chatbot. This was a steep learning curve!

Most users aren’t used to chatbots yet so it can be really confusing to drop them in with no setting of expectations or a clue of what they need to do.

We soon learnt that we needed to give users clear signposts in the form of quick links (buttons) and reality obvious copy.

Facebook has added new functionality that allows you to drop people into a deeper part of your chatbot. Whilst we haven’t experimented with this yet it’s a nice way of getting users to the part of your chatbot you want them to visit.

Keep it on rails

You have two choices when it comes to deciding on what type of chatbot you want to build, AI driven or on rails. If suggest that unless you have a lot of time and a reality great internal development team, that on rails is the way to go.

It allows for a more controlled user experience and you can to a degree ’fake’ AI with smart word recognition and responses.

An on-rails experience can lead a user into deadends which is frustrating and often results in them abandoning your chatbot. You need to plan to avoid this by carefully constructing your responses to unknown queries with open questions to get them to try again.

Add moments of magic

We have added a bunch of responses to random words users might type in. These responses can result in some very magical moments when the user is given an almost perfect response.

Having these responses also helps you avoid deadends…

No dead ends

Nothing frustrates me more than hitting a dead end in a chatbot. As a user, you are either left to go back a step, or even worse, to the beginning.

Trying to avoid this is far harder, though and sometimes you can only make the experience better for the next user.

Analytics

I don’t think anyone has completely nailed chatbot analytics yet. We are using a combination of custom and FB Insights. Most of my actual learnings have come from actually checking conversions and understanding what users are trying to do.

In the long term I don’t think this will be that scalable so I’m on the hunt for a better solution.

Building a chatbot has been a very hard, but rewarding experience. The conversational interface presents some unique challenges but has really made me think about what users want, which isn’t always that obvious when you look at heatmaps or analytics.

Previous
Previous

A Guide to Implementing Large Business System Changes Successfully

Next
Next

Making the most of mobile