If you are reading this piece, I assume that you have already made a bot. If you have not, click here to make one right now.

Creating a bot is not like creating an app or a website.

The design choices you have to make deal more with how the user feels when they read your bot’s messages than what a user sees when they look at a screen. Through this series, we hope to delve into what some of these design choices are to help you create better experiences for your users, increase the impact of your messaging and as a consequence — your conversion rates.

In this edition, we will delve into the important topic of message delays.

What are messaging delays?

A message delay is the amount of time in seconds that a bot will wait before displaying another message bubble.

For example, in the bot shown below I have put a 1 second delay before the first message, a 2 second delay before the second message, and a 3 second delay before the third message.


If you do not know how to add messaging delays in TARS bot builder be sure to check out our help doc on it first: http://help.hellotars.com/make/gambit-related/adding-delay-between-messages

Why you should add delays?

The primary reason why delays exist is so that users have enough time to read a message before another message is displayed. This derives from the fact that in a chat interface, every new message moves the previous message up. If the delays between messages are too short for the message size, user’s attention gets divided between multiple bubbles as she still hasn’t completely read the message from the previous bubble.

The bot below is a good example. Reach the second gambit and you will understand: https://convbot.hellotars.com/conv/SJGxz5/


Equally, delays should not be too long because the user will end up waiting unnecessary amounts of time waiting for messages to appear. Take the bot below for example. The messages are quite short and the delays far too long. A user would get irritated if not close out of the bot immediately : https://convbot.hellotars.com/conv/SJGxz5?_startgid=9


A second important reason message delays are important, is to convey personality. You could use several quick messages with short delays to indicate a sense of urgency like over here: https://convbot.hellotars.com/conv/SJGxz5/?_startgid=10


Or you could add a long delay between messages to pretend like the bot is doing something on the other end : https://convbot.hellotars.com/conv/SJGxz5/?_startgid=12


But even here, be cognizant of what the user has time to glean from each message.

How to decide delay length?

The natural question that arises from this is how do you decide what a good message delay is. There is no one way to decide but there are things you can do to get as close as possible to a perfect delay.

First and foremost accept that your delays will not be perfect for everyone. Everyone reads at different speeds, so it is impossible to have the perfect delay for every single user.

Second, think of a standard formula to apply initially. I found a good one proposed by Levi in the TARS community section (*cough* you should check it out *cough*):


Third, and finally, test, test test.

A formula like the one above is a good base to start from but it can only take you so far. Some short sentences might have complicated words and take a long time to read while some long sentences might have easy words that take a short time to read. As such once you have applied your formula and finished building your flow, test your bot again and again till you are satisfied with the speed. Then try and give the bot to someone else, preferably with a different reading speed to try out. If they are fine with the speed too, then you have probably hit the sweet spot.

Even Levi agrees:


When it comes to messaging delays, testing is king.

BONUS: Delays for images

If you are adding images to message bubbles, we highly recommend that the delay before the image is short. Images sometimes take time to load and if the delay before the image is too long, user has to wait twice the amount of time, first for the bubble to appear and then for the image to load. To minimise the effect of this problem, be sure to compress your images on a site like https://tinypng.com/