What is your recommended solution for our Customer Service mobile app? We have a live chat that caters all the concerns of our customers but the problem is, we just have a limited number of agents available so definitely, some customers need to wait. What do you think is the best solution to inform them that the queue is quite long and they need to wait (in a way that they will not get mad and understand the situation)?
You should consider a few strategies for helping users to focus their energy (attention and possibly frustration):
Use a predictive system for the length of time until an agent might help them.
This can be something you build, or a SaaS service you 'rent', or an extension of your existing software. You can outsource the work for it to your chat vendor, or another software shop, unless that prediction is based on something unique to your business.
Remember not to build something that isn't your core product, if you can avoid it!
Offer an asynchronous option for agent follow-up.
Let them provide, email, phone, or other ways to get back with them when an agent is available. Some people like SMS. Giving them this option can increase trust in your company's ability to meet them at their needs. Don't break trust and turn it into a text-spam engine!
Get buy-in for things you want to followup about, to the async channel. If you're unsure of how to do it, start with a live person reaching them (using a iterate-able script, of course)
While you want all users / visitors to get the help they needs, you also want to help the people that help you most. Work with Sales, biz-dev, BI, or any other leadership to learn which kinds of users need to be kept the happiest, and which are the 'growth segments' for the company.
Find a mix of passive + active data, to pre-filter people into priority queues. Passive data can be site browsing or anything else prior to them starting a chat. Active data can be anything they're saying in the chat, to a live person or to a bot.
Remember to work with the team that handles your on-site user behavior tracking - e.g. via Google Analytics or whichever tool. Have a session label added when the user starts the chat session. From there, you can watch for events that occur — like browing away from the chat window to other parts of the site; or higher rate of pageviews than typical. These things can demonstrate frustration with the chat wait system, and a need for other means of engagement.
A chat bot can guide them to find possibly-related articles. If the bot has any whimsicalness programmed-in, then is can make users a little less stressed. Remember that affective-HCI tells us to follow a users emotion. So if they show the opposite affectation as a whimsical bot, make sure the bot can disable that affectation, so you don't lose the user!
Try to make the 'view' for help docs to be a modal that can expand/collapse while keeping the chat active, and ideally keeping the origination page 'under' the chat and help modals. Leave the 'source of the problem' can generate anxiety. Let them feel they can hang onto it.
Modal docs nav will give them something to do while waiting for live help to respond. They can get anxious or distrustful if they have to leave the chat flow to read a doc. It increases the chances that no one will come to help them. Or they might just leave if they cannot find something in docs!
Ideally this kind of hover-docs is synced with a robo-help. The live help chat can be like a search, which a bot listens to, and chime in until live help arrives.
You could have developers write a code that estimates how much time the queue will take and display that to the user. For that you will need to count the duration of each chat create an estimate chat duration multiplied with the number of users that are already in queue. This might be hard because some chats would take a minute and maybe some would take 20 minutes.
Or you could just display the number of users already in queue with a message like : "5 users in queue, please wait or use our contact form to get a reply in maximum 24 hours". It`s important giving the user an alternative to contact you in that moment if he does not want to wait in line.