Why most chatbots fail on rojak, and what to test before you buy
"Boss, ada stock tak size 42? Nak ambil esok, 可以吗?" That is a normal customer message in Malaysia. Plenty of chatbots cannot answer it.
How Malaysians actually write
Customers rarely pick one language and stay in it. They switch mid-sentence, add particles like "lah", "kan" and "meh", shorten words ("x" for tak, "sy" for saya, "tq"), and drop in Mandarin or Cantonese where it comes naturally. Linguists call it code-switching. Everyone else calls it rojak. It is how your customers write on WhatsApp and how they speak on the phone.
Why chatbots trip over it
- Language detection picks one. Many systems decide "this message is English" or "this message is Malay" and route it to one set of answers. A mixed message gets half understood.
- Keyword menus miss it. A bot that looks for "price" will not match "harga brapa" or "how much ah".
- Replies come back in the wrong language. The customer writes in Malay and gets a stiff English answer, or a formal textbook Malay that nobody uses on WhatsApp.
- Short forms and typos break it. "Blh dtg ptg ni x?" is perfectly clear to a person and gibberish to a brittle system.
- Names get mangled. On voice, street names, dishes and product names in Malay or Chinese come out wrong, and the customer loses trust quickly.
A test you can run in fifteen minutes
Before you choose a chatbot or voice agent, send it the messages your customers really send. Pull ten from your own WhatsApp history, remove anything personal, and add a few like these:
- "Hi, nak tanya klinik buka tak hari Ahad?"
- "Can deliver to Puchong or not? Kalau boleh esok pagi."
- "Saya dah bayar semalam tapi x dapat resit lagi."
- "Boss, ada stock tak size 42? 明天可以拿吗?"
- "Nak cancel booking, then book balik next week can?"
- "Why so expensive one? Last time murah sikit."
For each, check four things:
- Did it understand the question? Not just the language, the actual request.
- Did it reply in a language the customer would expect? Usually the one they mostly wrote in.
- Was the answer correct, from your own information? Or did it make something up?
- When it could not answer, did it say so and offer a person?
On voice, do the same by phone: call it and switch languages halfway through a sentence. Ask it to say your street name and your best-selling product.
What good looks like
A good agent answers the example above with something like: "Size 42 ada stok. Boleh ambil esok dari pukul 10 pagi." It understood the stock question and the pickup question, answered both, and kept the tone of the chat. If it had no stock information it would say so and offer to have someone check, not guess.
Tone matters as much as language
Rojak also carries tone. "Why so expensive one?" can be a friendly question or the start of a complaint, and "ok lah" can mean yes or can mean the customer has given up. An agent that only translates words misses this. Look for one that notices frustration and brings in a person before the customer has to ask, rather than replying cheerfully to someone who is getting annoyed.
The reply style matters too. A customer who writes casually on WhatsApp does not want a formal letter back. Neither do they want the bot to overdo it with slang. The right register is the one your best counter staff would use: polite, short and in the same language mix the customer used.
Questions to ask the vendor
- Which languages does it answer in, and does it handle a single message that mixes them?
- Can I see the transcripts of every conversation, including the ones that went wrong?
- What happens when it does not know the answer?
- On calls, can I correct how it pronounces names, and does it have a local accent?
Don't forget memory
Rojak is only half the problem. A customer who asked about size 42 yesterday on Instagram and follows up today on WhatsApp expects you to remember. An agent that treats every channel as a stranger forces them to explain again, in whatever mix of languages they started with.
How Floee approaches it
Floee answers in Malay, English and Mandarin, including messages that mix all three, in the language it was asked in. It answers only from what you published, and when the answer is not there it says so and passes the thread to your team. Every channel feeds one record per customer, so it knows who is asking and what they asked last time. On calls, a pronunciation lexicon lets you set how it says your names.
Run the test above on it: the free plan gives you a website chatbot on your own knowledge with no card. For examples by industry, see retail and e-commerce and restaurants and F&B.