Skip to main content

Analytics overview

The Analytics tab gives you a snapshot of bot health across channels.

Metrics collected

  • Conversations: unique sessions, new vs returning users.
  • Messages: total messages exchanged.
  • Fallbacks: times the bot could not answer.
  • Escalations: times the bot handed off to a human.
  • Channels: conversation volume by channel.
  • Daily trend: messages over time for the selected window.

How data is stored

  • Conversations and messages are recorded in PostgreSQL tables:
    • conversation_sessions (session_id, bot_id, project_id, user_hash, channel, is_returning, started_at)
    • conversation_messages (session_id, bot_id, project_id, role, content, is_fallback, is_escalated, created_at)
  • Data is written via the /analytics/message endpoint; each platform can POST message events with session/user identifiers.

Querying analytics

  • The builder calls /analytics/overview with optional bot_id, start, and end filters to render the dashboard.
  • Default range is the last 7 days; you can extend to 30 or 90 days from the UI.

Best practices

  • Forward message events from every channel so metrics stay consistent.
  • Mark fallbacks/escalations when you detect them in your reply handler.
  • Use the daily trend to spot regressions right after changing knowledge or personality.