Why customers hate chatbots, specifically

The complaint is almost never "this is a bot". It is one of five specific things, and each one is a decision somebody made on purpose. Here is how to find out which of them your own chat window does.

By · · 10 min read

Open your own chat widget and read what people type into it. Some of them do not ask a question at all. They type "agent", or "human", or "representative", before they have said one word about what they need. Nobody taught them that. They learned it from other shops' chat windows and they are now using it on yours as a precaution, the way you check a door is locked on your way past it. Nobody arrives at a chat window with an opinion about automation. They arrive with that reflex, and the complaint underneath it is almost never that a bot exists. It is one of a small number of specific things a chat window did to somebody, and each one of those things was chosen on purpose, usually for a reason the shop could defend in a meeting.

It hides the person

This is the biggest one, and it is not really about automation. A bot placed in front of your team as a filter is experienced as a wall. The customer is not objecting to a machine answering; they are objecting to a door that used to open and now does not. Every shop that made reaching a person harder than it was last year contributed to the reflex, and the reflex arrives at your widget already fully formed.

That has a direct consequence for your very first message, which is the part most shops write last. Your greeting is read by somebody who is already looking for the exit. If it opens with "Hi! I can help with anything!" and shows no path to a person, you have confirmed the suspicion inside two seconds, and the next thing typed is "agent". Write the opposite of that greeting. Name the two or three things the assistant actually covers, say what it does not cover, and say that a person is reachable. The handful of people who came for a person will go get one. Most of the rest will relax and ask the question, because you have told them the door is not locked.

It makes them repeat themselves

Explaining the problem to a bot, then explaining it again to the human it hands you to, is the exact moment goodwill runs out. Not the handoff itself, which people are usually pleased about. The retelling.

What makes it worse than simple inefficiency is that the customer already did the work once, at your request. Being asked to redo it says the first round was theater. Whatever tool you run, the test takes one conversation: when a chat reaches a person, does that person arrive able to see what was already said, or do they open with "Hi, how can I help?" into a window that already contains the answer to that question?

The handoff is only the most visible version. The same thing happens when the widget forgets the conversation because the customer clicked through to a product page. It happens when they come back the next day to a blank window and start from the beginning. It happens when the assistant asks for the order number that was typed four messages earlier. Each one is small on its own, and each one is the shop asking the customer to do the same work twice. If a person is picking up the thread, the fix is not a tool at all: read the transcript before you type, and open with a line that proves you read it.

It answers a question they did not ask

You ask when the parcel arrives and get handed the returns policy. You ask whether an item runs small and get the size chart for a different product. Matching on keywords returns the nearest thing that was written down, which is not the same as an answer, and the gap between those two is where people give up.

This one gets read as stupidity, but it lands as something worse: not being listened to. The version that shows up constantly is two questions in one sentence. "Do you ship to Berlin and how long does it take?" gets a shipping-countries answer and complete silence on the timing. The customer now has to decide whether to ask again or leave, and asking again feels like arguing with furniture. It gets harder to spot when the near-miss is plausible. A question about a discount code answered with the general sale terms looks like a real reply, and you will scroll past it in the transcript unless you are reading for it.

It is confidently wrong, and they act on it

A wrong answer delivered plainly is worse than no answer, because nothing about it looks wrong at the moment it is given. The customer takes the delivery date at face value and orders for an event. The date was invented. What comes back to you is a complaint, a refund and a review, and it comes back days later, long after the conversation that caused it.

That delay is the real damage, and it is what separates this from the other four. A rude reply you feel immediately. This one you never feel, because the customer who was told the wrong thing does not come back to argue in the chat window. They come back weeks later as a refund, and as a sentence in a review that does not mention chat at all. Why assistants produce confident inventions, and how to work out whether a given one came from a missing fact or a missed one, is a subject with its own machinery and its own diagnosis. The part of it that belongs to resentment is short. An assistant that says it does not have that written down and fetches somebody costs you one conversation. An assistant that guesses costs you the order, the review, and the customer's belief that anything else it told them was true.

The fifth one, which nobody lists: the fake person

Give the bot a first name. Add an avatar photo of somebody smiling. Insert a three-second typing delay so the reply does not arrive too fast. Every one of those is a deliberate touch, added to make the conversation feel warmer, and together they are the behavior that turns mild annoyance into contempt.

Customers work it out, and the tells are not subtle: the replies are too structured, the delay is always the same length, the name never has a bad day. The cost is not the wrong answer, it is having been fooled about who they were talking to. That recasts everything else in the conversation. A limitation you were honest about is forgivable. The same limitation, discovered after being told it was a named person on your team, reads as a shop that lies about small things. Name the assistant something that is obviously an assistant, drop the photo, and let it be fast. Speed is the one thing it is better at than your team.

A twenty-minute test on your own widget

You do not need a report to find out which of these your chat window does. Open it as a customer, on your phone, not in the preview inside the admin, and type these five things. Write down what happened in each case.

You are not grading the prose. You are noting five specific things. Did it reach a person on all three phrasings, or only on the one with the magic word? Did it answer both halves of the sentence or drop one? On the unpublished policy, did it say it did not know, or did it produce something plausible that you have never agreed to? Did the same question get the same answer twice, or two different ones? And did it reply in the language it was asked in? Twenty minutes, and every failure you find is one your customers already met this week without telling you.

Then sort what you found into two piles, because they have different owners. Some of it is settings: the handoff that only fires on the magic word, the persona wearing a stock photograph, the reply that came back in the wrong language. Those you change this afternoon and they stay changed. The rest are decisions somebody made on purpose and would defend in a meeting — the person hidden deliberately, the answer always produced because a blank space looks bad in a report. Configuration does not touch those, and buying a different tool will reproduce them exactly, because the new tool gets configured by the same people using the same reasoning. Working out which pile you are standing in is most of what the twenty minutes buys you.

Every one of these saves the shop something

Notice what the five have in common. Hiding the person saves support cost. Keyword matching is cheaper to build and cheaper to run than understanding. Always producing an answer scores better on the number most chat dashboards lead with than a column of "could not help" ever will, which is a fact about the number rather than about the answers, and the page on measurement is where that number gets taken apart. A human name and a staged typing delay demo well to whoever signs off on the widget. None of these were accidents, and none of them were done to annoy anybody. They are what happens when every decision about a chat window is made from the shop's side of it.

Customers can feel which side a window was built for. The conclusion arrives within a few exchanges, and they are not wrong. This is the part that matters for you: you cannot buy your way out of it with a better model, because the model was never the thing being judged.

Where this argument is unfair, and where chat is the wrong tool

Treating all five as bad faith is convenient and sometimes wrong. Some of them are correct decisions under real constraints. A two-person shop cannot put a live person behind every conversation overnight, and an assistant that says so plainly, naming the hour your team starts, beats a contact form that promises nothing. Handing over to a human on every request is also not free. If you take 400 conversations a day and you hand over the moment anyone sounds impatient, you have not bought a service, you have bought a queue, and a customer waiting 40 minutes in that queue is angrier than one who got a straight answer from software. The honest version is bounded, and the boundary is a routing decision taken on the handoff page rather than a matter of attitude: hand over when the assistant cannot answer or when the same question has been asked twice, and say how long the wait is.

There are also places no chat window belongs. Anything involving money you have already taken is one: a damaged order, a chargeback, a dispute about what was promised. Route those to a person on the first message and do not try to be clever about it. And at genuinely small volumes none of this is your problem: five questions a week is a person answering five questions, not a chat strategy. Where that threshold sits is argued on the readiness page. What matters here is that the five behaviors above are things shops do at scale, under pressure, to protect a queue. Below the volume where a queue exists, they have no reason to appear, and if they have appeared anyway you have copied somebody else's solution to a problem you do not have.

Starly has the same boundaries. It answers from your catalog and the cards you wrote, so a question you never wrote an answer to gets "I do not know" and a handoff, which is honest and still not the answer the customer wanted. It does not look up a customer's order status either, so "where is my parcel" reaches a person or your order emails rather than the widget, which is a boundary worth stating in your greeting rather than discovering at message three.

What people say they want, and it is short

The list does not grow. You already know it, because it is the same list you have when you are the one typing into somebody else's chat window.

None of that is a model capability, which is why shopping for a smarter one rarely fixes it. It is content and configuration: what the assistant is allowed to say, what it does when it has nothing, and how fast it steps aside. Every one of those four lines is something you can go and set this afternoon, in a settings screen, on whatever you are already running. Run the twenty-minute test on it first. The results tell you whether you have a tooling problem or a decision somebody at your company should reverse, and the second is both cheaper to fix and much harder to admit.

Common questions

Why do customers type "agent" before asking anything?

Because it has worked elsewhere. Many chat windows are set up as a filter in front of the support team, and customers learned that the fastest route through one is to trigger the escalation before wasting a message on a real question. It is a learned precaution rather than a judgment on your shop, and it usually goes away when the first message states plainly that a person is reachable.

Should I tell customers they are talking to a bot?

Yes, and in the first message. The damage from a fake human persona is not the wrong answer, it is the moment the customer works out they were misled about who they were talking to, which makes every other limitation look like dishonesty rather than a boundary. Give the assistant a name that is obviously an assistant's name, skip the avatar photo and the staged typing delay, and let replies arrive fast.

How can I tell whether my own chat window is doing any of this?

Open it as a customer on your phone and type five things: a request for a human in three different phrasings, two questions in one sentence, a question about a policy you have never published, the same question twice worded differently, and something in a language you sell into but do not staff. Note whether it reached a person every time, answered both halves, admitted it did not know, stayed consistent, and replied in the right language. That takes about twenty minutes and finds most of it.

Is it a problem if my chatbot never says it does not know?

It is the most expensive failure of the five. An assistant that always produces an answer will invent delivery dates, stock levels and policies, and the customer acts on them because nothing about a confident wrong answer looks wrong at the time. You find out days later through a complaint, a refund or a review. Saying "I do not have that written down, let me get someone who does" costs one conversation; guessing costs the order and the review.

Should I just let everyone reach a human immediately?

Only if your volume supports it. Instant handoff on any request sounds customer-friendly, but a shop taking hundreds of conversations a day that hands over at the first sign of impatience creates a queue, and a 40-minute wait annoys people more than a straight answer from software would have. The workable rule is bounded: hand over when the assistant cannot answer or the customer has asked twice, and tell them how long the wait will be.