AI chatbots are becoming a standard feature on websites, but adding one doesn’t automatically improve the user experience. If it’s poorly designed, an AI chatbot can actually make things worse.
It’s like going into a shop and asking an employee for help, only to be sent to the wrong aisle or receive completely misleading information. At some point, you’ll wish you’d never asked for their help at all.
The same goes for AI chatbots. They shouldn’t complicate the user experience or add unnecessary hurdles; they should simply make it easier for users to get what they need.
So how do you get it right? In this guide, we’ll share nine practical guidelines for designing a useful, user-friendly chatbot for your website. We’ll also take a look at real-world examples of chatbots gone wrong (and what we can learn from those mistakes).
How to design your site’s AI chatbot: 9 practical guidelines
These guidelines provide a practical roadmap you can follow to design an AI chatbot that genuinely improves the user experience.
1. Define what your AI chatbot is actually for
Start by getting really clear on the purpose of your AI chatbot. What do your users need help with and how could a chatbot make that experience easier?
For an e-commerce site, for example, a chatbot might help shoppers find the right product or answer questions about an existing order. On a banking website, the chatbot’s role might be much narrower: answering common questions and directing customers to the right place for anything involving their account.
From there, define the specific tasks your chatbot should be able to handle, as well as those that fall outside of its remit.
A good AI chatbot doesn’t need to do everything. What matters is that its capabilities align with user expectations, and that it can reliably do the tasks it’s designed for.
2. Set clear expectations from the first interaction
Once you’ve defined what your chatbot can do, make sure it’s clear to your users from the very first interaction.
Your chatbot’s opening message is a great place to set expectations. But what should an AI chatbot say when it starts a conversation?
Instead of a generic “Hi! How can I help?”, aim to be specific. You might open with something like “Hi! I’m Travel Company’s AI assistant. I can help you book flights or manage an existing booking. How can I support you today?”
At the same time, be careful not to promise more than the chatbot can actually deliver. If there are important limitations users should know about upfront, make those clear too. The goal is to give users an accurate idea of what to expect before they start the conversation.
3. Guide your users to ask the right questions
Your users shouldn’t need to be expert prompters in order to get a useful answer from your chatbot. Think about how you can guide them towards asking questions that will elicit a helpful response.
Instead of a blank text box, you might provide pre-written questions or prompts the user can click on. For example “I want a refund” or “I need to change my booking”. These can also change depending on where exactly the user is on your site.
The chatbot itself can help, too. If a question is too vague, it can ask a follow-up to get the user to clarify. For example, if someone asks a travel chatbot to “find me somewhere warm in October”, it might ask about their budget or where they’re travelling from before making recommendations.
The aim is to make it feel like a conversation. You can learn more about how to create human-like conversations for chatbots in this guide.
Think carefully about how your chatbot presents information. A technically correct answer isn’t much use if the user has to dig through a huge block of text to find what they need.
Keep responses concise and easy to scan. Where it makes sense, use familiar UI elements to organise information and make the next step obvious. A travel chatbot recommending hotels, for example, could present the options as cards with key details and a link to learn more, rather than listing everything in a long text response.
The same applies to actions. If a user can view a product, change a booking or get more information with a button or link, don’t make them type another prompt to get there.
Ultimately, chat doesn’t have to mean text only. Use the format that makes it easiest for the user to understand their options and move forward.
5. Be transparent about AI and its limitations
Your users should always know when they’re interacting with AI. Don’t give your chatbot a human identity or design the conversation in a way that could leave people wondering if there’s a real person on the other side.
Transparency also means being clear about what the chatbot can’t do. AI can get things wrong, so avoid presenting every response with absolute certainty. If the chatbot isn’t confident in its answer, it should state that clearly and point the user towards another way to get help.
Should a chatbot tell users that it’s AI?
Yes. Users should be able to tell that they’re interacting with an AI system rather than a human. You can make this clear in the chatbot’s opening message, for example by introducing it as an “AI assistant”.
6. Design your chatbot to handle errors smoothly
Mistakes and misunderstandings are all inevitable parts of the AI chatbot experience. You can’t avoid them, so the goal is to handle them as smoothly as possible.
This means providing clear pathways forward when things go wrong. For example, the chatbot might ask the user to rephrase their question if it’s unclear, or ask for more information. Alternatively, the chatbot could provide links to other sources if it’s getting stuck with a particular query.
You should also enable users to flag an answer that’s inaccurate or unhelpful. Those moments provide useful feedback you can use to improve the experience over time.
Your chatbot won’t get every interaction right. Good UX means making sure the user can still move forward when it doesn’t. And sometimes that means handing over to a human…
7. Make it easy to reach a human
Sometimes, the best thing your chatbot can do is get out of the way.
There will always be questions that need a human response. The chatbot might not have the right information, the issue might be too complex or the user might just prefer to speak to a person. Whatever the reason, don’t make them battle with the bot first.
Make the option to reach a human easy to find, and think about when the chatbot itself should suggest a handover. If it’s already failed to resolve the same issue several times, for example, that’s probably a good sign that it’s time to bring someone else in.
When should an AI chatbot hand over to a human?
An AI chatbot should offer a human handover when it can’t confidently resolve an issue, or whenever the user explicitly asks to speak to someone. You might also decide that certain queries should always go straight to human support.
And, where possible, carry the conversation over with the user. If they’ve just spent five minutes explaining their problem to the chatbot, the last thing they want is to start from scratch with a support agent.
8. Give users control over the experience
User control is a fundamental UX principle, and it very much applies to AI chatbot design. Nobody likes a chatbot that won’t leave them alone. If a user closes the chat window only for it to pop up again thirty seconds later, what was supposed to be helpful quickly becomes irritating.
Give users control over whether and how they interact with your chatbot. It should be easy to dismiss, and users should be able to stop a response if it’s clearly heading in the wrong direction. Don’t trap them inside the conversation either. If there’s a useful page elsewhere on your site, give them a clear way to get there.
Think about accessibility here, too. Someone navigating with a keyboard should be able to use the chatbot just as easily as someone using a mouse, and important information shouldn’t only be accessible through the chat interface. You can learn more about accessible design principles here.
9. Test, learn and improve
However carefully you plan your chatbot, real users will find ways to surprise you. They’ll phrase questions differently from how you expected, take conversations in completely new directions, and uncover gaps you hadn’t considered.
Testing gives you a chance to find those gaps before launch. Give real users realistic tasks and watch how they interact with the chatbot. Where do they hesitate? Which responses cause confusion? Can they still get where they need to go when the conversation doesn’t follow the expected path?
How do you test an AI chatbot before launch?
The best way to test an AI chatbot is with real users and realistic conversations. Include straightforward requests as well as messier interactions where the user is vague or asks something the chatbot isn’t equipped to handle. Pay close attention to whether people can recover when things go wrong.
Once your chatbot is live, real conversations become another valuable source of insight. Look for recurring points of friction and use what you find to keep improving the experience.
AI chatbots gone wrong: real-world examples (and what we can learn from them)
We’ve looked at how to design a good AI chatbot experience. But what happens when things go wrong? Let’s explore some real-world chatbot mishaps, and the UX lessons we can take from them.
Air Canada’s AI chatbot gave a customer the wrong information
When Air Canada customer Jake Moffatt needed to travel following the death of his grandmother, he asked the airline’s chatbot about its bereavement fares. The chatbot told him he could book a regular flight and apply for the discounted rate retrospectively.
There was just one problem: that wasn’t Air Canada’s policy.
Moffatt followed the chatbot’s advice, but Air Canada later refused his request for a partial refund. The dispute eventually went before British Columbia’s Civil Resolution Tribunal, which found Air Canada liable for the inaccurate information provided through its website and ordered the airline to compensate him.
What can we learn? Users shouldn’t have to second-guess whether the information your chatbot gives them is accurate. Think carefully about which questions it’s equipped to answer, particularly when getting the answer wrong could have real consequences. And make sure there’s a clear route to authoritative information when needed.
DPD’s chatbot swore at a customer (and wrote a poem about how bad DPD was)
When musician Ashley Beauchamp tried to use DPD’s chatbot to track down a missing parcel, he found himself going round in circles. The chatbot couldn’t give him the information he needed or connect him with a human, so he started experimenting with what else it could do.
Quite a lot, as it turned out. Beauchamp persuaded the chatbot to swear, tell jokes and write a poem criticising DPD. He shared the exchange online, and DPD subsequently disabled the AI component of its chatbot. The company said an error had occurred following a system update.
What can we learn? There are actually two lessons here. First, test how your chatbot responds when users take the conversation somewhere unexpected. But perhaps more importantly, remember why Beauchamp started experimenting in the first place: the chatbot wasn’t helping him solve his problem, and he couldn’t reach a human. Guardrails matter, but so does making sure your chatbot is actually useful.
A Chevrolet dealership’s chatbot agreed to sell a car for $1
In 2023, users discovered that the AI chatbot on Chevrolet of Watsonville’s website was surprisingly open to negotiation.
One user instructed the chatbot to agree with anything the customer said. He then asked for a 2024 Chevrolet Tahoe with a maximum budget of $1. The chatbot agreed to the deal and even declared it a “legally binding offer”.
The dealership later took the chatbot offline.
The exchange was clearly playful, and there was no $1 Tahoe at the end of it. But it demonstrated how easily a customer-facing generative AI system could be pushed well beyond the role it was intended to perform.
What can we learn? Defining your chatbot’s role is only the beginning. You also need to test what happens when users deliberately push against those boundaries. A chatbot designed to help people find information about cars shouldn’t suddenly start negotiating prices simply because someone tells it to.
Of course, these are some extreme examples, but they’re a useful reminder that real users won’t always interact with your chatbot in the way you expect. The more you plan for what happens when things go off-script, the better the experience will be when they inevitably do.
The takeaway: Treat your AI chatbot like any other UX design project
Designing an AI chatbot brings many new challenges to the table, but the fundamentals of good UX still apply.
You need to understand what your users are trying to achieve and design around that. Think about where they might get stuck, and make sure they have a clear way forward when the chatbot can’t help.
Most importantly, don’t let the hype around AI distract from the experience you’re actually creating. Your chatbot is another touchpoint between your users and your product, and it deserves the same thought and care as any other part of the journey.
If you’d like to learn more about designing AI-powered products and experiences, check out the following:
- How to design effective and trustworthy AI search experiences
- How to design a seamless human-AI agent handoff: 6 practical guidelines
- 7 best practices for designing trustworthy AI interfaces (with examples)