CSAT overview
How CSAT works in Ochre: a 5-emoji scale, per-channel toggles, and a master kill switch. Surveys send only when they should.
CSAT (customer satisfaction) in Ochre is a five-point emoji scale that gets sent to customers after a conversation is resolved. They tap a face, optionally leave a comment, and you get a score. The scores roll up into a card on /analytics your team can use to spot issues fast.
The system is intentionally narrow. One scale, three channels, a few sane gates so surveys don't go out when they shouldn't. No survey designer, no question library, no branching logic. The point is to get a real signal from the customers who feel like answering, not to run a research panel.
The 5-emoji scale
Customers rate on a 1-to-5 emoji scale:
- ๐ก 1 Awful
- ๐ 2 Bad
- ๐ 3 Okay
- ๐ 4 Good
- ๐ 5 Great
Scores 1 and 2 are detractors. Score 3 is neutral. Scores 4 and 5 are promoters. Dashboard percentages roll up against this split.
Emojis instead of numbers because customers tap them faster, the scale is universal across languages, and the visual gradient communicates "obviously these go from bad to good" without explanation.
Channels
CSAT is supported on three channels, each with its own toggle (csat_email_enabled, csat_chat_enabled, csat_slack_enabled):
- Email. A branded HTML survey lands in the customer's inbox after the conversation closes.
- Live chat widget. The survey appears as an inline system message in the widget, with rating buttons.
- Slack Connect. The survey posts as a Block Kit message in the original Slack thread, under your workspace's logo (see Per-workspace Slack branding).
Turn on whichever subset matches where your customers actually want to answer. See CSAT per channel for channel-by-channel detail.
The master kill switch
There is a single master CSAT toggle in workspace settings (csat_enabled). When it's off, no surveys send anywhere, regardless of per-channel settings.
Use the master switch when:
- You're rolling out CSAT and want to test on a subset of channels with the master off, then flip channels on independently.
- You need to pause all surveys (during a major incident or workspace-wide change in tone).
- You're migrating from another tool and don't want overlapping surveys.
When the master is off, per-channel toggles do nothing.
When surveys send
Surveys are gated to make sure they only go out when they're genuinely useful. The gates:
- The conversation has at least 2 messages.
- The conversation has been closed.
- The customer's email is not synthetic (no
*.slack.local,*.invalid,*.localplaceholders). - The customer hasn't already received a survey for this conversation.
If any gate fails, no survey goes out. See Survey deliverability for the full rules.
Tokens and security
Each survey contains an HMAC-signed token tied to the conversation, the customer, the survey kind, and a timestamp. Tokens expire after 30 days. Tampered tokens are rejected at the response endpoint. Customers don't need to log in; the token authenticates the response.
See Survey tokens for the security model.
Reading the dashboard
CSAT shows up on the /analytics page as a card with the trailing-period breakdown of:
- Invites sent
- Responses received
- Response rate
- Average score
- Promoter percentage and detractor percentage
- The most recent ratings
See CSAT stats for how to interpret these numbers.
CSAT vs NPS
CSAT measures satisfaction with a specific interaction. It runs after a conversation closes. NPS measures relationship-level loyalty across the whole product. It runs on a quarterly cadence, one invite per customer per period. They serve different purposes and you can run both. See NPS overview.
A reasonable starting setup
If you're turning CSAT on for the first time:
- Leave the master kill switch off for now.
- Turn on email CSAT only. This is the channel where customers expect surveys most.
- Flip the master switch on.
- Watch the dashboard for two weeks. Aim for at least a 10% response rate; below that, look at deliverability.
- Once email is working, turn on widget CSAT. Then Slack Connect if you use it.
What CSAT is not for
CSAT is a signal, not a verdict. A single 1-star rating can be a customer in a bad mood, a misclick, or a real problem. Watch the trend. Watch the comments.
Related
Was this article helpful?