To measure CSAT for a chatbot or voice bot, ask a short 1-to-5 question right after the interaction, count the share of 4 and 5 ratings, and report bot-handled and human-handled results separately. Surveys alone leave gaps, because most customers never answer them. The strongest programs add a layer of resolution tracking and conversation analysis on top. This guide walks through each step, from survey wording to prediction models, so you can trust the number you report.
TL;DR
- CSAT = positive responses (4 or 5 on a 5-point scale) divided by total responses, times 100.
- Send the survey immediately after the bot interaction, keep it to one rating question, and make the comment optional.
- Track resolution next to CSAT. Research on chatbot service finds resolution is the strongest driver of a good rating.
- Predicted CSAT from transcripts and call signals fills the gap left by low survey response, but you should validate it against real survey scores.
- Report bot and human CSAT separately so one does not mask the other.
Table of Contents
- How CSAT works for bots
- Designing the survey
- Metrics that explain the score
- The response rate problem
- CSAT prediction models
- Comparing bot and human CSAT fairly
- A simple measurement setup you can start this month
- Common mistakes to avoid
- Put it to work with Monobot
- FAQ
- Sources
How CSAT works for bots
Customer satisfaction score is a simple idea: right after an interaction, you ask how satisfied the customer was. The score is the percentage who chose a positive answer. On a 5-point scale, positive means a 4 or a 5.
The math is short:
- Count the responses rated 4 or 5.
- Divide by the total number of responses.
- Multiply by 100.
If 340 of 500 respondents rate a bot conversation 4 or 5, your CSAT is 68%. The 500 is the number of people who answered, not the number of conversations. That distinction matters a great deal for bots, and we come back to it below.
What changes with a bot is not the formula. It is everything around it:
- Volume. A bot can handle thousands of conversations a day, so even a small response rate yields a lot of data, but also a lot of silence you cannot see.
- Channel. Chat gives you a natural place to show a rating widget. Voice does not, so the survey has to come as a spoken question, an SMS, or an email.
- Handoffs. Many conversations start with a bot and end with a person. You need to decide which one gets the credit or the blame.
- Expectations. Customers judge a bot mainly on whether it solved the problem, not on how human it sounded.
That last point is backed by research. A peer-reviewed review of human-computer interaction in customer service found that a chatbot’s ability to give relevant information and solve requests affects satisfaction more than humanlike features do. A bot that sounds friendly but does not finish the job will not earn a high score.
Designing the survey
A good bot CSAT survey is boring on purpose. The fewer decisions the customer has to make, the more answers you collect and the less noisy they are.
The question
Use one question tied to the interaction that just happened, for example: “How satisfied were you with this conversation?” Offer a 1-to-5 scale, where 1 is very dissatisfied and 5 is very satisfied. Avoid compound questions such as “How was our bot and our company?” because you cannot tell which one the customer rated.
If you want context, add an optional comment box or a short follow-up that appears only after a low rating: “What could we have done better?” Keeping the comment optional protects your response rate.

The timing
Ask while the conversation is fresh. That means:
- Chat: show the rating as the last message before the session closes.
- Voice: ask at the end of the call, or send an SMS or email within minutes.
- Handoff to a human: survey after the whole journey, not after the bot’s part, then tag the conversation so you can slice the results later.
A survey that arrives the next day measures memory, not the experience. Customers also tend to forget bot interactions faster than calls with a person, so speed matters even more.
The wording and the scale
Keep the same scale across every channel so you can compare them. Label the endpoints. Do not mix a 5-point scale in chat with a thumbs up or down in voice and then average them together. If you must use different formats on different channels, report each one on its own.

What to tag on every response
A CSAT number with no metadata is a dead end. Store these fields alongside each rating:
- Channel (chat, voice, SMS)
- Intent or topic (billing question, order status, appointment change)
- Whether the bot resolved the request, handed off, or the customer abandoned
- Handling path (bot only, bot then human, human only)
- Language and time of day
With these tags, a drop from 82% to 74% stops being a mystery. You can see whether it came from one intent, one channel, or one change you made to the bot’s script.
Metrics that explain the score
CSAT tells you how customers feel. It does not tell you why. Pair it with a few operational metrics, and read them together.
| Metric | What it shows | How it explains CSAT |
|---|---|---|
| Resolution rate | Share of conversations where the customer’s issue was solved | The biggest driver. Unresolved issues drag scores down hard |
| Containment rate | Share of conversations the bot completed without a human | High containment with low resolution means customers are stuck, not served |
| Handoff rate | Share transferred to a person | A spike often points to a missing intent or a broken integration |
| Repeat contact rate | Customers who come back about the same issue | A quiet signal of failed resolution, even when the survey looked fine |
| Abandonment | Customers who leave mid-conversation | Often the unhappiest group, and they rarely answer a survey |
| Average handling time | Length of the interaction | Short is good only if the problem was solved |
| Sentiment | Tone detected across the conversation | Catches frustration the customer never rates |
Resolution deserves the most attention. The academic review cited above reports that 97% of users who said their problem was fully resolved gave positive ratings, compared with 4% of those whose issue was not resolved. The exact figures will vary by business, but the lesson is stable: if you want to move CSAT, move resolution first.
Containment is the metric teams most often misread. A bot that contains 80% of conversations looks efficient. But if half of those customers gave up, containment is hiding a satisfaction problem. Always read containment next to resolution and CSAT, never alone. For a closer look at how conversation data feeds this kind of analysis, see our guide to conversation analytics AI for contact centers.
If you also run an internal IT or service desk bot, the same discipline applies. A set of help desk metrics that predict performance can sit alongside CSAT to show whether employees, not just customers, get their issues solved.
The response rate problem
Here is the catch with surveys. Most customers do not answer them. The ones who do tend to be at the extremes: delighted or angry. This is called response bias, and a related problem, selection bias, appears when only certain kinds of customers take the survey at all.
For bots this plays out in specific ways:
- Customers who hang up in frustration never reach the end-of-call question.
- Customers handled quickly may skip the survey because they are already done.
- Older callers may ignore an SMS link, while younger ones may ignore a spoken question.
The practical result: a CSAT of 90% from 4% of conversations is not a satisfaction score for your customer base. It is a satisfaction score for the people who answered.
Three habits reduce the risk:
- Always show the denominator. Report the score together with the number of responses and the response rate.
- Compare respondents with your caller base. Check whether answerers match the full population by channel, intent and customer type. If they do not, weight or segment the results.
- Watch the silent signals. Repeat contacts, transfers, and abandonment tell you about the people the survey misses.
CSAT prediction models
Because surveys cover only a slice of conversations, many teams now estimate satisfaction for every conversation. This is what people mean by CSAT prediction, sometimes called inferred or automated CSAT.
What the models look at
A prediction model reads the conversation and its outcome, then estimates how satisfied the customer probably was. Typical signals include:
- Outcome: was the request completed, or did the customer ask again?
- Transfers: a handoff to a human often signals the bot could not help.
- Repeat contacts: the same person returning soon after.
- Tone and audio cues: raised voices, long silences, interruptions.
- Transcript content: wording that shows confusion, frustration or thanks.
Research on customer-service dialogue shows how this is done at a technical level. One academic paper on session-level satisfaction prediction models the whole multi-round conversation, matches questions to answers, and includes user information to account for the fact that different people rate the same service differently.
Why predicted CSAT helps
Predicted scores give you coverage. Instead of learning from 5% of conversations, you get an estimate for nearly all of them. That lets you:
- Spot a failing intent within hours instead of weeks.
- Find the specific conversations that went badly and review them.
- Compare bot versions or scripts with far more data behind each comparison.
How to keep it honest
A prediction is an estimate, not a measurement. Treat it that way.
- Validate against real ratings. For conversations that have both a survey score and a predicted score, check how closely they agree. Do it by channel and by intent, not just overall.
- Recalibrate after changes. If you change the bot’s script, voice, or greeting, the signals shift. Re-check the model.
- Audit for bias. Check whether the model scores certain accents, languages or customer groups differently. Fix gaps before anyone makes staffing or budget decisions from the numbers.
- Mind privacy. Models that read transcripts and audio handle personal data. Research indicates that privacy assurance moderates how usage translates into satisfaction, so tell customers what is recorded and why, and limit who can see raw conversations. Our overview of data security in AI chatbots covers the controls enterprise teams usually ask about.
- Keep surveys alive. Predicted CSAT is not a replacement for asking. It is a way to extend what the survey tells you, and surveys are the ground truth that keeps the model honest.
Comparing bot and human CSAT fairly
The most common mistake in bot reporting is a single blended CSAT. It hides more than it shows.
Report at least three lines:
- Bot-only conversations
- Bot-to-human conversations
- Human-only conversations
Why separate them? Bots tend to take the simple, repetitive questions, such as order status or appointment confirmations. Humans get the harder, more emotional ones. If you compare raw averages, the bot looks better than it is, or a human team looks worse than it is, simply because of the mix of topics.
To make the comparison fair:
- Compare like with like. Match by intent. Compare bot and human CSAT on order status inquiries, then on billing disputes, and so on.
- Treat handoffs as their own group. A customer who tried the bot, failed, then waited for a person is in a different emotional place from one who called a person directly.
- Use the same survey and timing. A different scale or delay can shift scores by itself.
- Track the trend, not just the level. A bot’s CSAT that climbs as you improve its scripts is a better sign than a high but flat number.
This also tells you where to invest. If the bot is strong on status checks but weak on returns, you either improve the returns flow or route those requests to people sooner. For more on how automation and staffed teams compare, read our take on AI chatbots versus a traditional call center.
A simple measurement setup you can start this month
You do not need a data science team to begin. A workable first version looks like this:
- Pick your top five intents by volume. Order status, appointment scheduling, account questions, billing and lead qualification are common starting points.
- Add a one-question survey to each channel with a 1-to-5 scale and an optional comment.
- Tag every conversation with channel, intent, outcome and handling path.
- Build one dashboard showing CSAT, response count, resolution rate, containment, handoff rate and repeat contacts, split by intent.
- Review the lowest-rated conversations weekly. Read or listen to a sample of 20 to 30. Most fixes come from patterns you spot in that sample: a missing answer, a confusing prompt, a failed integration.
- Add predicted CSAT once you have a few weeks of survey data to validate against.
- Set a target per intent, not one global target. A 95% goal for appointment reminders and a 75% goal for complaint handling is more realistic than a single number.
The broader context for why this pays off is covered in our article on why chatbots improve CSAT scores. If you want a wider view of how bots fit into a business, this overview of the role of chatbots in business success is a good companion.
Common mistakes to avoid
- Reporting CSAT without the response rate. A high score from a tiny sample misleads.
- Optimizing containment at the expense of resolution. Customers who cannot reach a person become silent detractors.
- Surveying too late. Delay lowers response and blurs memory.
- Mixing scales across channels. You cannot average a 5-star rating with a thumbs up.
- Ignoring comments. Free text is the cheapest source of fixes you have.
- Treating predictions as fact. Validate, recalibrate, audit.
- Blaming the bot for human problems, or the reverse. Separate the groups before drawing conclusions.
Our perspective
We build voice and chat agents, so we see the same pattern in nearly every deployment: teams measure what is easy, not what is true. Containment is easy. Resolution and satisfaction take more care.
Our view is that CSAT for bots should be a stack, not a single number. Start with a short survey at the end of the interaction. Add resolution and handoff data from the conversation itself. Then use sentiment and conversation intelligence to cover the customers who never answer. That is why we designed Monobot around interaction dashboards, real-time analytics and sentiment analysis in the same place where you build the agent, rather than as an afterthought.
We also believe the best bot is one that knows when to step aside. Real-time assistance for human agents and clean handoffs protect satisfaction on the hard conversations, so the bot can take the routine ones, which we aim to automate at scale, with confidence. When both sides share one analytics view, you can finally compare them honestly.
Alex
Put it to work with Monobot
If you want CSAT, resolution and conversation insights in one view, Monobot is built for that. You can build voice and chat agents without code, start from industry templates, connect your existing tools, and track results in real-time analytics and interaction dashboards.

Plans are published on our pricing page: Starter is $200 per month, Growth is $500 per month and Business is $1,000 per month, with Enterprise available for larger deployments. Teams in healthcare can add HIPAA support for $1,000 per month. To see how reporting works before you commit, explore dashboard insights and analytics, or start from the Monobot home page.
FAQ
What is a good CSAT score for a chatbot?
There is no universal benchmark, because it depends on your industry, the intents the bot handles and how you survey. Simple, transactional requests usually score higher than complaints. Set targets per intent, then compare against your own human-handled results and your own trend over time.
Can I measure CSAT on voice bots without a survey?
Yes, in part. Predicted CSAT estimates satisfaction from the transcript, call audio and outcomes such as transfers and repeat contacts. It gives you coverage across all calls. Still, validate it against real survey ratings regularly so you know how accurate it is.
When should I send a CSAT survey after a bot conversation?
Immediately. In chat, show the rating as the conversation ends. For voice, ask at the end of the call or send an SMS or email within minutes. If the customer was handed to a person, survey after the full journey and tag the path.
How do I stop CSAT from being skewed by who responds?
Show the response rate with every score, then compare respondents with your wider caller base by channel and topic. If they differ, weight or segment the results. Add repeat-contact and abandonment data to cover customers who never answer.
Should bot and human CSAT be combined?
No. Report them separately, and add a third line for conversations that move from bot to human. The groups handle different kinds of requests, so a blended average can make either one look better or worse than it is.
Sources
- Human-Computer Interaction in Customer Service (MDPI Electronics, 2022)
- Session-Level User Satisfaction Prediction for Customer Service Dialogue (AAAI)
- ITIL Aligned: 5 IT Help Desk Metrics That Predict Performance
- The Role of Chatbots in Business Success Today