Last updated: 28 November 2022
Creating a consistent and pleasing chatbot experience goes beyond a chatbot’s design and copy. If you are deploying your chatbot as a website widget, you must also take the overall website browsing experience into account and how that should (or shouldn’t) affect your chatbot.
By default, your chat widget will always be closed. Here is the default interaction:
A user lands on your website. Your chat widget is closed.
The user navigates through various pages, including pricing, products, and about us. Your chat widget is still closed throughout the entire journey.
The user engages with your chatbot. The widget opens.
The user once again navigates to other pages.
As the new pages load, the chatbot is once again closed.
With the widget being closed for the majority of this interaction, your chatbot relies heavily on the user to open. In this tutorial, we show you how to get more control over your chatbot widget’s open or closed state.
This feature is only suitable for the Converse channel.
Step 1: Add your script tag to your website
We will assume you have already set up your chatbot and added your script tag.
If you need a refresher on this, read Add a chat widget to your website.
Step 2: Set up your smart rule
Go to Engage → Channels.
In the list of channels, find Converse and click Options.
Find and unfurl Chat window settings.
By default, the smart rule is set to force your chat window closed:
Let’s assume we want to force our chat window open when a user lands on our pricing page. The widget can stay closed elsewhere, but when they land on
/pricing it should be open and welcoming questions.
Set up the following rule: if
Page URL contains
When a user lands on the /pricing page, the widget will open by default.
Step 3: Set up more advanced rules
Step 2 is only the beginning of what you can achieve with this feature.
You can set up more complex smart rules that will, for instance, force your chatbot open when users click tracked links.
It is also worth keeping an eye on the URLs you are sending users to. Make good use of conditionals such as
start with instead of