This article will be useful for entrepreneurs interested in creating their own online chat bot. If you saw the true potential of chatbots but don’t quite understand what makes a bot truly successful, you will surely find lots of helpful information below.

I’ve already outlined the reasons why chatbots have a bright future in the previous article. But let’s recap them once more.

Chatbots are an excellent way to connect to your clients: they are fast, can talk to multiple people at once, operate 24/7, and don’t get upset when people shout at them. Some bots can be a good substitute for apps (like weatherbots) or show us new ways to use our gadgets (e.g. to save you from paying fines).

Now, before you rush to make your own virtual chat bot, there is a somber insight I must share with you. Botanalytics found that 40% of users abandon a bot after just one interaction. 25% more people cease talking to a bot after the second conversation.

These stats prove that customer acquisition and retention are the key priorities for chatbot developers. So how do you make a bot that people will love to use again and again?

1. Know how to acquire chatbot users

How to promote a chatbot when traditional advertising is proving to be lackluster? What can you do to get noticed?

If you’re representing an established brand, take advantage of the existing user base.

If you have no existing fans get a bit creative. You can follow in Swelly’s footsteps and gain over a million users by paying popular Youtube personalities to make videos that promote their chatbot.

Mitsuku gained more than 5 million users by using a gaming website Mousebraker as its platform. The chatbot stood out as a one-of-a-kind experience that was both fresh and exciting for the site’s core demographics.

To attract users to a Telegram chatbot it’s important to make it to the top of Telegram Bot Store. The higher a bot in the rating the more likely somebody will stumble upon it.

Telegram Bot Store raitings

There is also a high probability that it will be included in the Bot Store newsletters (Best New Bots, Top Chart Bots) that will attract a number of new users.

Telegram is secretive about the algorithms used to calculate the bots’ rating, however, there is a plausible theory on how it is done. The bots’ position in the chart may depend mainly on recent storebot ratings. If your bot has recently received a lot of five-star reviews it will most likely climb to the top.

The number of unique users and frequency of usage has apparently little effect on the bots’ position in the chart. This explains why some of the lesser-used bots have made it to the top.

The only way for your bot to climb up the chart is to make the user happy. Chatbots are still a novelty and a great deal of them have a poor interface.

Keep reading to make the chatbot UI more straightforward so that confused users don’t make negative reviews or abandon your chatbot.

2. Take care of the bot’s usability

The bot should perform its function with minimal button presses. The longer it takes your bot to fulfill its intended function, the less likely users will enjoy interacting with your chatbot.

The lack of UI means that interactions with the users should be forefront. Offer all available tools to aid users: speech recognition, contextual controls, user menus, etc. Use as few messages as possible to solve a problem.

10 usability heuristics for chatbots


In 1990 Jacob Nilsen outlined 10 heuristics for user interface design, the guidelines used for assessing the usability of software interfaces. While the strict usability rules for chatbots are yet to be defined, we can apply Nilsen’s tried and true approach to see how you can design a conversational interface that people will come to love.

  • Visibility of system status.

To comply with this heuristic your bot should be able to provide users with comprehensive information on its status. The response to the user’s info request should be short and quick.

Bonus tip: you can make your users more patient if you display an indicator that shows that bot is processing the request (like the one displayed when a person is typing).

Idea to show your bot's status to a user

  • Match between system and the real world.

This point I think is self-evident. Your bot should use the language and vocabulary preferred by your target audience.

Use line commands if your userbase is accustomed to them (like bots for IT-professionals); otherwise, resort to language that is natural to your users.

You can also use buttons instead of commands and display the available options at every stage of interaction with the bot.

  • User control and freedom.

Your users should have a convenient means to correct their missteps. Various typos and misclicks can happen so the users should be given an option to amend these mistakes without needlessly prolonging the conversation.

  • Consistency and standards.

There are no standards for bots as a platform so you should strive for uniformity within your chatbot. You should consistently use the same sort of language in your bot be it style or choice of line commands/natural language.

  • Error prevention.

This is another mostly self-evident principle that is closely related to the heuristic No.3.

While making your bot you should realize that errors are inevitable due to an ambiguity of language. For example in languages full of words that sound similar/have multiple meanings, such as English, voice recognition can be a hell of a task!

One of the things you can do to minimize damage is to request users to confirm their intentions at crucial points in a conversation.

Bot's fail (Siri)Bot's fail #2 (Siri)


To be fair, since then Siri have improved a lot and doesn’t give such hilarious replies anymore.

  • Recognition rather than recall.

Don’t make your users’ memorize all the little things needed to interact with your bot. Very few people like to read walls of text. During onboarding, they may read a couple of sentences and skip all the following info. Simultaneously, you have to inform users about the steps available to them at that time.

Structured messages in Facebook Messenger are well suited to do just that: they display a clear-cut list of things users can do.

  • Flexibility and efficiency of use.

There should be shortcuts allowing experienced users to speed up their interaction with a system. In chatbots, it means that often seasoned users can use commands instead of typing full sentences as novices would do. The real challenge is how to implement unintrusive onboarding to help users become experts.

  • Aesthetic and minimalist design.

Conversations with your bot should not contain superfluous information. Such info collides with useful data and makes it less noticeable.

At the same time, a lot of users like to engage with bots the same way they do with real people. Small talk is very common and you should find a balance between engaging in chit-chat and performing a core function.

This is where your bot’s personality comes into play. Your bot can provide concise content while still having a strong identity.

  • Help users recognize, diagnose, and recover from errors.

Messages indicating errors should appear in an easily understandable form (e.g. avoid using error codes) and reveal what exactly went wrong.

Screenshots of Hi Poncho, Facebook Messenger's wheter chatbot


  • Help and documentation.

This is yet another heuristic that requires no explaining. Even if your bot is super intuitive there should be comprehensive documentation accessible from within the chatbot.

3. Make the most of the user’s feedback

Don’t get upset if you receive lots of negative feedback because it can be the most useful kind of feedback to improve the chatbot UX. No feedback at all is much worse. You can do several things with the negative feedback you receive.

  • Improve your bot.
  • Fix bugs (in case of bug reports).
  • Communicate directly with an author of a negative review to discover what’s wrong with your chatbot.

It would be even better if you provided your users with the right tools for feedback. Ask Haley, a chatbot for parents has four feedback prompts at the end of a conversation. If you answer that you are “very likely” or “likely” to recommend Ask Haley, you are asked to share the bot with your friends.
How Ask Haley chatbot asks to send user feedback


If you answer “not likely” you are prompted to describe what should be done to make the overall experience better. From this point, a company’s employee picks up the bot’s mantle and offers compassionate support.

4. Think about potential pitfalls

There are a number of questions, situations, and concepts that chatbots have trouble with.

  • Several questions in a single input

Sometimes people ask questions like: “Where I can find a Chinese restaurant and how much will it cost me to order a Peking Duck there?” These are very common in spoken language but can confuse the bot.

To correctly respond to such a question it should distinguish where one question ends and another begins. It will be great if your bot could also understand the relationships between the questions.

  • Situational questions

If you like an author of this article wanted to print out a set of ID cards while the dental website was down you might have run into the same problem. The chatbot had absolutely no situational awareness and could offer no help to the user. It led to the author being quickly disappointed.

To correctly answer such questions, the bot should have knowledge of short-lived situations such as inaccessibility of a website or deal-of-the-day sales.

It is impossible to teach your bot such situational awareness from the get go as this information is simply not available to you during its creation. The solution is to make your bot adaptable enough so you could add extra cases that your bot will be able to deal with.

  • Verbal abuse

As the above examples demonstrate, people will quickly get frustrated with a bot that doesn’t understand you, keeps asking to paraphrase the questions, or gives stupid irrelevant answers. (Bonus points for getting under people’s skin if you try to pass off your customer support bot as a real person, you evil genius!).

At this point, a lot of users will just yell at the bot: ”You useless piece of junk!” and the like. It would be of course better if we could just prevent such situations, but alas!

You can at least program your bot to detect dissatisfied users and situations when it can no longer give helpful answers. In such cases, a qualified member of your staff can pick up the bot’s mantle to save the day. After all, there is still nothing better out there than a conversation with a real human.

  • Context

We are used to deciphering context on the fly. Chatbots, on the other hand, should be taught to do so. The meaning of our expressions differs greatly depending on language context.

5. Include storytelling

Chatbots are still a novelty for a lot of users. They try to talk to bots the same way they chat with real people and then leave disappointed when the bot proves itself to be much “dumber” than they expected.

Successful chatbots mitigate this problem by offering user-friendly onboarding and trying to educate the potential clients via all available means. In such a way you can keep user expectations in check.

A related problem is people who like to ask bots questions that have little to do with its main functions. Based on the personal experience people usually start talking to a chatbot with playful, silly, or simply irrelevant questions. They can ask: “How are you?”, “Where were you born?”, “Do you like running around naked when nobody sees you?”, etc.

Well-thought-out onboarding can again help with educating users about the bot’s functions. But some people like to see how far they can go in a conversation with a chatbot. A constant stream of “I don’t know” variations will quickly discourage users from talking to your bot.

Broken user error handling in Flower Chatbot for Facebook Messenger


That’s why your bot should be prepared to answer such questions. Then this problem can turn into one of your bot’s strengths.

Questions such as “Where are you from?”, “Who have made you?”, etc. are excellent opportunities to tell the story of your brand.

Create some backstory for your bot to make it more human-like and sympathetic. Make it so that the bot attracts attention to your brand and reflects its key values.

6. Engage users with bots personality

Small talk and silly questions can be opportunities to show your bot’s personality. Will it be a refined professional or your best buddy with a great sense of humor?

Bot’s personality defines the user experience. When reading fiction we get invested in characters, we empathize with the people who exist only on the pages of our favorite books. Such approach can work with chatbots too.

You can write a bot as a character with likable traits and distinct personality.

Make people feel so that they connect with the bot on an emotional level.
This will make your users coming back for more.

Your writing should be short and sweet. Don’t use uncommon words and hard to understand terms (unless it’s unavoidable). It’s easier to hold people’s attention by using concise, easy to visualize words.

Don’t make questions complicated. The less users have to think about your questions the less likely they are to abandon your bot. If your bot, for example, has to know its user’s time zone, it’s better to ask for their location instead. A lot of people have no idea about their time zone but know the name of the city they are in.

Use emoji. Bots lack means of expression to create attractive interfaces. That’s why if you have an option to flavor your text with an appropriate emoji, go for it!

Another way to engage your users is to surprise them from time to time. You can let them learn something new, or use comedy that is often based on defying expectations.

7. Develop a habit

If your bot solves a problem that is important and urgent, your users will be motivated to find the solution. That’s why it’s important to know how to build a useful chatbot. If it is easy enough to solve this problem using the tools you provide, users will feel compelled to come back.

And after satisfying their needs several times, users form a habit. They will automatically turn to your bot if and when the need arises again. And the more they spend interacting with your bot the harder it will be for them to abandon it.

Developing a habit of using chatbots (joke)


So if you dream about turning your users into bot-junkies, think about building a chatbot that:

  • Satisfies a vital enough need.
  • Is more efficient and accessible than its alternatives.
  • Solves a problem that arises time and again.

Bonus point: as B.F. Skinner discovered, varied rewards are more habit forming than a rigid system of rewards. This is why people would find spending 8 hours gambling for a net gain of $100 more enjoyable than working full time in a factory for $100 per shift.

But what does this mean for a chatbot? A bot designed with multiple ways to solve a problem or a variety in other aspects (such as lots of alternative answers to a single input) can be more “addictive” and far less boring to use.

8. Analyze and improve

Knowing your user base, their needs, and the way they engage with your bot can be extremely important. User engagement statistics and analytics are extremely important tools in making your bot better and as the result more popular.

PennyCat is the proof that this strategy is effective. The bot started with a simple enough idea: enter a name of a store and the bot will search the Internet for the available coupons.

Pennycat chat bot in action


Like many others, PennyCat struggled to retain its users. Then its creators tried Botanalytics, a service offering user engagement statistics.

Using the available data PennyCat creators discovered that they had two main groups of users that behave quite differently. By tailoring the experience to the needs of these two groups they managed to boost the user engagement by 87%.

Wrapping up

Chatbots will revolutionize the way we interact with our devices but there are still lots of challenges for chatbot developers. Now, when you know how to get users for a chatbot and how to make them love it, it’s time to build your own bot.

Have some coding skills? Learn how you can make a chatbot for Telegram that knows all about exchange rates in part 3 of the series.

New to programming? We’re here to help you! Our seasoned developers will be pleased to build the best chatbot specially for you. Just message us to get a free quote.

Feel free to share your bot-related insights in the comments section. Also, we are looking forward to your suggestions on topics you’d like us to tackle next.