Analytics
What you can measure — conversations handled, resolution rate, leads captured and qualified, revenue attributed, per channel and per agent.
The question every operator actually asks is: is this thing working, and where is it not? Analytics exists to answer that, sliced by the two dimensions that let you act — per channel and per agent.
Conversation metrics
| Metric | What it counts |
|---|---|
| Conversations handled | Threads the agent replied in |
| Episodes | A closed thread that a customer reopens starts a new episode. Cases are counted as episodes, so a customer returning months later is not folded into an old case |
| Resolution rate | Share of episodes that ended resolved rather than escalated or abandoned |
| Escalation rate | Share that went to a human — the number that tells you where your knowledge or guardrails are thin |
| Handoffs | Escalations, by trigger, so you can see why humans were pulled in |
| Non-replies | Turns where the agent chose not to answer, and why |
Every episode ends in one of three states:
- Resolved — the agent handled it
- Escalated — a human took it
- Abandoned — the customer stopped replying
Resolution is a status, not a bill
CoPhrase bills on activity, not on outcomes (billing). Resolution status exists purely so you can measure quality — nobody is incentivised to argue about what counts as resolved, because no invoice depends on the answer.
Sales metrics
| Metric | Source |
|---|---|
| Leads captured | Contacts the agent created or identified from a conversation |
| Leads qualified | Deals with qualification data the agent collected — intent, budget, timeline |
| Deals by stage | Movement through your pipeline, whether the mover was the agent or a human |
| Meetings booked | Appointments created from conversations |
| Revenue attributed | Value of deals whose source conversation the agent handled |
Attribution is only as honest as your deal values
"Revenue attributed" is the value on deals that trace back to an agent-handled conversation. CoPhrase knows a deal exists because the agent created it — it does not know what the deal was worth unless the value is set, by the agent, by a human, or by your systems through the API. A deal with no value contributes nothing to the number, and CoPhrase has no independent view of money that moves outside it.
Per channel and per agent
Every metric carries both dimensions, because that is where the decisions live:
- Per channel — Instagram converts but WhatsApp resolves; web chat volume triples on launch days. Channel-level numbers tell you where to put effort. See channels.
- Per agent — an org running a support agent and a sales agent gets each one's numbers separately. Every agent has its own analysis view, so a persona change on one is measurable on its own.
Because conversations carry the agent that handled them — and every routing switch is recorded on the timeline — a reassigned conversation does not corrupt either agent's numbers.
Knowledge metrics
Analytics is where your knowledge tells you what it is worth:
- Citation counts per chunk — which passages are actually answering your customers. A never-cited page is dead weight.
- Gaps — questions that hit no confident source and escalated. This is your content backlog, generated from real customer questions rather than from guesses about what people might ask.
Cost and usage
Usage is metered per AI turn, not per message — a customer firing off five rapid-fire messages is one turn, because that is what the agent actually processed. The usage ledger records every billable action with the agent, conversation, model tier, and whether it ran on your own key.
That gives you cost per conversation, cost per channel, and cost per agent — the numbers you need to know whether a channel is worth running. See billing.
Agencies: cost is hidden from clients by default
In agency-managed client organisations, cost and usage surfaces are visible to the agency only, with a per-client toggle to expose them. Raw platform cost would otherwise leak your margin to your client. See agencies.
Customer satisfaction
CSAT and NPS ride on the same feedback record, triggered on resolution or on a schedule you choose, and can be sliced by channel and agent like everything else.
What is excluded
- Test conversations from the playground — excluded by default, so experimenting does not pollute your numbers.
- Spam — flagged contacts stay out of counts.
Getting the data out
- Webhooks push events as they happen — conversations, deals, handoffs, usage. See actions.
- The API pulls data on your schedule. See api.
- Export produces a background CSV or JSON dump of your account data.
Numbers lag slightly, deliberately
Counters are rolled up asynchronously rather than being incremented on the hot path of every conversation — a live count on every reply would make the system slower for your customers to get you a fresher dashboard. Expect figures to trail live activity by a short interval, not by hours.