Skip to content

Performance

For: Account owners, support leads and customer success teamsRequires: Any signed-in user; no plan, role or feature flagScreenshots show sample data

The Performance page shows how well your assistant works: whether its calls to your API succeed, how often your guardrails block a visitor’s message, what visitors think of the answers, how long conversations last and how healthy each customer’s relationship with the assistant is. Use it to find what to fix next and which customers to contact. It lives at DashboardPerformance, and everyone in your workspace can open it.

  • Check tool-call reliability. Successful and failed calls to your API per day, or per hour for a short range. Check tool-call reliability.
  • Watch blocked messages. The number of visitor messages your guardrails stopped each day. Watch blocked messages · Guardrails.
  • Read visitor feedback. Thumbs-up and thumbs-down votes per day, and the reasons visitors gave for a thumbs-down. Read visitor feedback · Feedback.
  • Gauge session quality. Four tiles: average session length, average messages in a session, bounce rate and resolution rate. Gauge session quality.
  • Check customer health. A score from 0 to 100 for every customer active in the range, with counters for healthy, at-risk and churning customers and a table of the ten highest scores. Check customer health.
  • Change the period. The same date range as on the other Dashboard pages. Change the period.
The Performance page of the StrikeUp dashboard for the default range "Last 7 Days", shown in the header next to the calendar button "Sep 9 – Sep 15" and "Refresh". The first row has two line charts: "Tool Executions", where a high yellow line counts successful API calls per day (624 on Sep 9, 210 on Sep 15) and a low blue line counts failed calls, and "Security Violations", which counts visitor messages blocked by guardrails each day, between 0 and 4. Below start "Feedback Trend", with thumbs-up and thumbs-down votes per day, and "Negative Feedback by Reason". Further down follow the insight tiles and the Customer Health Scores table.The Performance page of the StrikeUp dashboard for the default range "Last 7 Days", shown in the header next to the calendar button "Sep 9 – Sep 15" and "Refresh". The first row has two line charts: "Tool Executions", where a high yellow line counts successful API calls per day (624 on Sep 9, 210 on Sep 15) and a low blue line counts failed calls, and "Security Violations", which counts visitor messages blocked by guardrails each day, between 0 and 4. Below start "Feedback Trend", with thumbs-up and thumbs-down votes per day, and "Negative Feedback by Reason". Further down follow the insight tiles and the Customer Health Scores table.
Performance shows how reliably the assistant worked in the selected range, starting with tool calls and blocked messages.
What this screenshot shows
Screen
Performance (/admin/dashboard/performance)
Highlighted
heading “Performance”, page, loaded with the last 7 days. read-only overview of quality and reliability
Also visible
Tool Executions line chart: Successful (yellow) and Errors (blue), no legend; Security Violations line chart, 0–4 per day; Top of Feedback Trend and Negative Feedback by Reason
Purpose
the Performance screen as it opens
RegionWhat it showsWhat you do there
Header, rightThe range drop-down, the calendar button and RefreshChange the period, reload the data
Tool Executions, top leftSuccessful and failed API calls over timeHover for a day’s figures
Security Violations, top rightVisitor messages blocked by guardrails per daySpot spikes
Feedback TrendThumbs-up and thumbs-down votes per dayHover for a day’s votes
Negative Feedback by ReasonThumbs-down votes by reasonSee what visitors complain about
Customer & Performance InsightsFour session-quality tilesRead the averages
Customer Health Scores, bottomStatus counters and the ten highest-scoring customersFind customers to follow up

The Tool Executions chart counts every call the assistant made to your API in the range, split into two lines.

The "Tool Executions" card on the Performance page, headed "Tools · Last 7 Days". A line chart has one point per day from Sep 9 to Sep 15: the upper yellow line is successful API calls, from 624 on Sep 9 to 210 on Sep 15, and the lower blue line is failed calls, between 8 and 29 a day. The pointer rests on Sep 12, a dashed line marks that day, and a tooltip lists "Errors: 8" and "Successful: 286". The chart has no legend, so the tooltip is where the two lines are named. A call is an error when the API answered with a status outside 200–299.The "Tool Executions" card on the Performance page, headed "Tools · Last 7 Days". A line chart has one point per day from Sep 9 to Sep 15: the upper yellow line is successful API calls, from 624 on Sep 9 to 210 on Sep 15, and the lower blue line is failed calls, between 8 and 29 a day. The pointer rests on Sep 12, a dashed line marks that day, and a tooltip lists "Errors: 8" and "Successful: 286". The chart has no legend, so the tooltip is where the two lines are named. A call is an error when the API answered with a status outside 200–299.
Hover a day to see successful and failed tool calls side by side; the chart itself has no legend.
What this screenshot shows
Screen
Performance (/admin/dashboard/performance)
Highlighted
tooltip “”, tool-executions-card, tooltip shown for Sep 12. lists both series for the hovered day
Also visible
Successful (yellow): 624, 604, 573, 286, 257, 568, 210; Errors (blue): 22, 29, 17, 8, 10, 22, 10; Series names are English in every language
Purpose
reading successful and failed tool calls per day
  1. Read the upper yellow line as successful calls and the lower blue line as failed calls. The chart has no legend.
  2. Hover a day. A tooltip names both lines with their counts, such as Errors: 8 and Successful: 286. These series names are in English in every language.
  • A call is successful when your API answered with an HTTP status from 200 to 299. Anything else, such as 401, 404, 500 or no answer at all, is an error.
  • The chart is hourly for a range of one or two days, daily otherwise. Days are UTC days.
  • Every call counts, in chats and after a visitor approved an action.
  • With no calls in the range, both lines lie flat at zero.

Example: on Sep 12 the assistant made 294 calls; 286 were answered with 200 OK and 8 with 404 Not Found. The tooltip reads Errors: 8 and Successful: 286. To see which endpoint failed and why, open AnalyticsTool runs.

The Security Violations chart counts, per UTC day, the visitor messages your guardrails blocked before the assistant answered. One blocked message is one violation.

  • Days without blocks show as zero, so a quiet week is a flat line at the bottom.
  • A sudden spike usually means one visitor trying many times, or a guardrail rule that is too strict.
  • The chart shows counts only. Each blocked message, with the reason the check gave for blocking it, is listed in AnalyticsViolations.

Visitors rate an assistant reply with a thumbs-up or thumbs-down in the chat widget. With a thumbs-down they can pick a reason. Two charts show the result.

The middle of the Performance page. On the left, "Feedback Trend" stacks thumbs-up votes (blue) and thumbs-down votes (yellow) per day from Sep 9 to Sep 15, for example 20 up and 1 down on Sep 9. On the right, "Negative Feedback by Reason" has one bar per reason the visitor picked under a thumbs-down, with the raw reason names answer_not_accurate, missing_context, too_much_text, bad_display and other, whose labels overlap. Below, under "Customer & Performance Insights", four tiles: "Avg Session Duration" 6.4 min, "Avg Messages/Session" 4.8 per session, "Bounce Rate" 13.8% and "Resolution Rate" 81.4%.The middle of the Performance page. On the left, "Feedback Trend" stacks thumbs-up votes (blue) and thumbs-down votes (yellow) per day from Sep 9 to Sep 15, for example 20 up and 1 down on Sep 9. On the right, "Negative Feedback by Reason" has one bar per reason the visitor picked under a thumbs-down, with the raw reason names answer_not_accurate, missing_context, too_much_text, bad_display and other, whose labels overlap. Below, under "Customer & Performance Insights", four tiles: "Avg Session Duration" 6.4 min, "Avg Messages/Session" 4.8 per session, "Bounce Rate" 13.8% and "Resolution Rate" 81.4%.
Feedback Trend and the reasons chart show what visitors thought of the answers; the tiles summarise session quality.
What this screenshot shows
Screen
Performance (/admin/dashboard/performance)
Highlighted
heading “Feedback Trend”, feedback-and-insights, loaded with the last 7 days. read-only
Also visible
Feedback Trend stacked bars, positive (blue) and negative (yellow) per day; Negative Feedback by Reason: answer_not_accurate 2, missing_context 2, too_much_text 1, bad_display 1, other 1 (labels overlap); Insights: Avg Session Duration 6.4 min, Avg Messages/Session 4.8, Bounce Rate 13.8%, Resolution Rate 81.4%
Purpose
feedback and session quality at a glance

The Feedback Trend chart stacks, per UTC day, the thumbs-up votes (blue) and thumbs-down votes (yellow) submitted that day. It is always daily. Each visitor can rate each reply once. The tooltip names the series “Positive” and “Negative”, in English in every language.

The Negative Feedback by Reason chart has one bar per reason, most frequent first. The bars are labelled with the reason’s internal name, as the table shows:

Bar labelWhat the visitor picked in the widget
answer_not_accurate“Answer not accurate”
bad_display“Bad display”
too_much_text“Too much text”
missing_context“Missing context”
other“Other”, or no reason at all

The tooltip calls the value “count”. When many reasons appear, their labels can overlap; hover a bar to read it. The free text a visitor may add is not shown here; read it, vote by vote, in AnalyticsFeedback.

The Customer & Performance Insights row summarises every chat session that started in the range.

TileHow it is worked outExample
Avg Session DurationThe average time from the start of a session to its last activity, in minutes, one decimal6.4 min
Avg Messages/SessionThe average number of messages, from visitor and assistant, in sessions that have at least one message; empty sessions are left out4.8
Bounce RateThe share of sessions with two messages or fewer, empty sessions included13.8%
Resolution RateThe share of sessions whose visitor had at least one successful tool call in the range, one decimal81.4%
  • A single question and its answer is a bounce. That is two messages. A visitor who asked once and got what they needed still counts.
  • Resolution Rate is the same figure as the tile on Overview, which rounds it to a whole percent.
  • With no sessions in the range, every tile shows 0.0.

The Customer Health Scores card scores every customer who sent at least one chat message in the range, anonymous visitors included, from 0 to 100.

The "Customer Health Scores" card at the bottom of the Performance page, headed "Customers". At the top right, counters read "418 Healthy", "29 At Risk" and "4 Churning" for everyone active in the range. The table has the columns "Customer", "Score", "Status", "Last Activity", "Sessions", "Success Rate" and "Risk Factors" and shows ten customers, all with a green "Healthy" badge, from Priya Raman (score 100, 0 days ago, 100.0%) to Felix Brandt (86, 3 days ago). Lena Vogt shows the risk factor "Low tool success rate: 64%" and Tom Ashworth "Auth issues: 2 failures". The Sessions column shows 0 for every row.The "Customer Health Scores" card at the bottom of the Performance page, headed "Customers". At the top right, counters read "418 Healthy", "29 At Risk" and "4 Churning" for everyone active in the range. The table has the columns "Customer", "Score", "Status", "Last Activity", "Sessions", "Success Rate" and "Risk Factors" and shows ten customers, all with a green "Healthy" badge, from Priya Raman (score 100, 0 days ago, 100.0%) to Felix Brandt (86, 3 days ago). Lena Vogt shows the risk factor "Low tool success rate: 64%" and Tom Ashworth "Auth issues: 2 failures". The Sessions column shows 0 for every row.
The counters cover every active customer; the table lists only the ten highest scores, so at-risk customers rarely appear in it.
What this screenshot shows
Screen
Performance (/admin/dashboard/performance)
Highlighted
heading “Customer Health Scores”, customer-health-card, loaded with the last 7 days. read-only
Also visible
Counters: 418 Healthy, 29 At Risk, 4 Churning; Ten rows sorted by score, highest first (Priya Raman 100 … Felix Brandt 86); Sessions column 0 in every row; Risk factors in English: Low tool success rate: 64%, Auth issues: 2 failures
Purpose
customer health counters and the top-ten table

The score is a weighted sum of four parts, each from 0 to 100, rounded to one decimal:

PartWeightHow it is worked out
Recency40%Whole days from now back to the customer’s last message in the range: today 100; 1–3 days 80; 4–7 days 60; 8–14 days 40; 15 days or more 20
Activity30%50 plus 5 for every message the customer sent in the range, up to 100, so 10 messages or more give 100
Tool success20%The share of the customer’s tool calls in the range that succeeded; 100 when they had no tool calls
Authorisation success10%The share of the customer’s attempts to authorise a toolkit in the range that succeeded; 100 when they made no attempt

The status follows from the score:

StatusScore
Healthy (green)80 or more
At Risk (orange)50 to under 80
Churning (red)Under 50

Worked examples for customers who used no tools and made no authorisation attempts, so tool and authorisation success are both 100:

Customer’s activityRecency + activity + tool + authorisationScoreStatus
1 message on the current day40 + 16.5 + 20 + 1086.5Healthy
1 message, 2 days back32 + 16.5 + 20 + 1078.5At Risk
2 messages, 2 days back32 + 18 + 20 + 1080.0Healthy
10 messages, 10 days back16 + 30 + 20 + 1076.0At Risk
1 message, 20 days back8 + 16.5 + 20 + 1054.5At Risk
10 messages, 20 days back, every tool call failed8 + 30 + 0 + 1048.0Churning

Recency is measured from today, not from the end of your range. Looking at a range from last month, every customer is at least as many days inactive as have passed since then. A visitor who sent one message yesterday is already At Risk, so casual and anonymous traffic raises the at-risk count.

The Customer Health Scores card on the Performance page with the pointer on the people icon before the title. A tooltip below it reads "Health Score Algorithm", "40% Activity + 25% Success Rate + 20% Engagement - 10% Violations - 5% Auth Failures" and "Status: 70-100 Healthy, 40-70 At Risk, <40 Churning". The counters "418 Healthy", "29 At Risk" and "4 Churning" stay visible at the right, above the ten table rows. The weights and ranges in this tooltip do not match how the scores are calculated; the help page describes the actual formula.The Customer Health Scores card on the Performance page with the pointer on the people icon before the title. A tooltip below it reads "Health Score Algorithm", "40% Activity + 25% Success Rate + 20% Engagement - 10% Violations - 5% Auth Failures" and "Status: 70-100 Healthy, 40-70 At Risk, <40 Churning". The counters "418 Healthy", "29 At Risk" and "4 Churning" stay visible at the right, above the ten table rows. The weights and ranges in this tooltip do not match how the scores are calculated; the help page describes the actual formula.
The in-app help on the health score is out of date; rely on the formula described on this page.
What this screenshot shows
Screen
Performance (/admin/dashboard/performance)
Highlighted
tooltip “Health Score Algorithm”, customer-health-card-title, tooltip shown. shows the in-app (outdated) health score explanation
Also visible
Tooltip: Health Score Algorithm, 40% Activity + 25% Success Rate + 20% Engagement - 10% Violations - 5% Auth Failures; Tooltip: Status: 70-100 Healthy, 40-70 At Risk, <40 Churning; Counters 418 Healthy, 29 At Risk, 4 Churning
Purpose
evidence for the troubleshooting entry about the outdated health score tooltip
  • The counters at the top right count every scored customer: Healthy, At Risk and Churning. The At-Risk Customers tile on Overview is the sum of the last two.
  • The table lists the ten customers with the highest scores, highest first. Customers at risk or churning usually do not appear in it, even when the counters show many of them.
  • The customer is shown by name, then email, then their raw identity. Anonymous visitors appear with an identity beginning with anon-. Hover a name to see the identity behind it.

The range drop-down and the calendar button at the top right set the period for every card on the page. Pick Last 7 Days, Last 14 Days or Last 30 Days, or pick a first and a last day in the calendar. The range is remembered in this browser and shared with the other Dashboard pages. Days are UTC days; the full rules are on the Overview page.

Where

At the top right of the page. Both apply the moment you choose; there is nothing to save.

What

The drop-down offers Last 7 Days (the default), Last 14 Days, Last 30 Days and Custom; the calendar sets a custom range up to today. The choice is stored in this browser and also applies on Overview, Usage and AI Spend.

Why

Compare a week before and after a change to your toolkit, skills or guardrails.

Where

The Refresh button at the top right.

What

Fetches every card again for the same range; each card shows a spinner while it reloads. The page never refreshes on its own.

Why

Check the effect of a fix straight away, for example after correcting a failing endpoint.

ChartWhat it showsWhy
Tool ExecutionsSuccessful (yellow) and failed (blue) API calls per day, or per hour for one or two days; axes Time and ExecutionsA rising failure line points to an endpoint or credential problem
Security ViolationsVisitor messages blocked by guardrails per UTC daySpikes show abuse attempts or rules that are too strict
Feedback TrendThumbs-up (blue) and thumbs-down (yellow) votes per UTC dayShows whether answers are getting better or worse
Negative Feedback by ReasonThumbs-down votes per reason, most frequent firstTells you what kind of fix the answers need
TileWhat it showsWhy
Avg Session DurationAverage minutes from a session’s start to its last activityLong sessions can mean engaged visitors or a struggle to get a useful reply
Avg Messages/SessionAverage messages per non-empty sessionShows how much back-and-forth a conversation takes
Bounce RateShare of sessions with two messages or fewerHigh values mean many visitors leave after one exchange
Resolution RateShare of sessions whose visitor had a successful tool callShows how often conversations reach an action in your product
ColumnWhat it showsWhy
CustomerName, else email, else the raw identity; hover for the identityKnow who to contact
ScoreThe score from 0 to 100, one decimalRank customers
StatusHealthy, At Risk or Churning as a coloured badgeSee the band at a glance
Last ActivityWhole days since the customer’s last message in the range, shown in English in every language, with 0 for todaySpot customers who went quiet
SessionsShows 0 for every customerTo count a customer’s chats, open their record under CRMCustomers
Success RateThe share of the customer’s tool calls that succeeded, one decimal; 100.0% when they had no tool callsFind customers whose actions keep failing
Risk FactorsEnglish notes: No activity for N days after more than 7 days; “Low tool success rate: N%” below 70%; “Auth issues: N failures” when under 70% of authorisation attempts succeededTells you why a score is low
TopicFact
Read-onlyNothing on this page changes your setup.
Who sees itEvery signed-in user of your workspace, whatever their role. Customer names and emails are visible to all of them.
SuccessThe charts call a tool call successful when your API returned a status from 200 to 299. The health score’s tool success uses the result StrikeUp recorded for the call, which can occasionally differ.
Recency from todayHealth scores measure recency from now, so past ranges score lower.
Ten rowsThe health table shows the ten highest scores; the counters cover everyone.
English valuesSeries names, reason labels, risk factors and the last-activity text are in English in every language.
Loading timeThe health card can take longer to load for long ranges with many visitors.
Sample dataIf StrikeUp has added sample records to your workspace for a demonstration, they are counted on this page.
Live dataEvery load, range change and refresh reads current data; nothing is cached.

How is the customer health score calculated?

Section titled “How is the customer health score calculated?”

On DashboardPerformance, the score is 40% recency, 30% activity, 20% tool success and 10% authorisation success, each from 0 to 100. A score of 80 or more is Healthy, 50 to under 80 is At Risk, and under 50 is Churning.

Why is a customer who wrote yesterday already At Risk?

Section titled “Why is a customer who wrote yesterday already At Risk?”

A customer with one message yesterday scores 32 for recency and only 16.5 for activity, because activity reaches its maximum at ten messages. With perfect tool and authorisation success that makes 78.5, which is under 80 and so At Risk.

Why don’t I see my at-risk customers in the table?

Section titled “Why don’t I see my at-risk customers in the table?”

The Customer Health Scores table shows the ten customers with the highest scores. The counters above it and the At-Risk Customers tile on DashboardOverview count everyone, so customers at risk usually appear only in those counts.

Why does the tooltip show a different formula?

Section titled “Why does the tooltip show a different formula?”

The tooltip on the people icon of Customer Health Scores shows another formula and other ranges. The scores follow 40% recency, 30% activity, 20% tool success and 10% authorisation success, with Healthy from 80 and At Risk from 50.

The Sessions column of Customer Health Scores shows 0 for every customer. To see how many chats a customer had, open the customer under CRMCustomers, where their chat history is listed.

What does a Success Rate of 100% mean for a customer who never used a tool?

Section titled “What does a Success Rate of 100% mean for a customer who never used a tool?”

When a customer made no tool calls in the range, Success Rate in Customer Health Scores counts them as 100.0%, and their tool success adds the full 20 points to the score. A low value therefore always means real failed calls.

Why does Last Activity say more days than my range?

Section titled “Why does Last Activity say more days than my range?”

Last Activity counts whole days from today back to the customer’s last message within the range. For a range that ended weeks ago, it includes all the days since, so it can be larger than the range itself.

Are anonymous visitors included in customer health?

Section titled “Are anonymous visitors included in customer health?”

Yes. Every visitor who sent a chat message in the range is scored in Customer Health Scores, including anonymous visitors, who appear with an identity that begins with anon- unless your product identified them with a name or email.

In Tool Executions on DashboardPerformance, any call where your API did not answer with an HTTP status from 200 to 299 is an error, including authentication failures, missing records, server errors and calls that got no response.

A security violation in Security Violations is one visitor message that your guardrails blocked before the assistant answered it. Each blocked message, with the reason the check gave for blocking it, is listed under AnalyticsViolations.

What do reason names such as answer_not_accurate mean?

Section titled “What do reason names such as answer_not_accurate mean?”

They are the reasons a visitor can pick after a thumbs-down in the chat widget: answer_not_accurate is “Answer not accurate”, bad_display “Bad display”, too_much_text “Too much text”, missing_context “Missing context”, and other covers “Other” and votes with no reason.

Bounce Rate is the share of chat sessions started in the range that have two messages or fewer, empty sessions included. One visitor question with one assistant answer is two messages, so it counts as a bounce even when the answer was helpful.

Why does Resolution Rate have decimals here and not on Overview?

Section titled “Why does Resolution Rate have decimals here and not on Overview?”

It is the same figure. Resolution Rate on DashboardPerformance shows one decimal, while the tile on DashboardOverview rounds it to a whole percent.

Avg Session Duration averages, over the chat sessions that started in the range, the time from each session’s start to its last activity, in minutes with one decimal. Sessions without any message are included in this average, unlike in the messages-per-session tile.

Every signed-in user of your workspace can open DashboardPerformance, whatever their role, and sees the names and emails in Customer Health Scores. End customers never see the Dashboard.

SymptomWhat to check
The health tooltip’s numbers do not match the scoresThe tooltip shows another formula. The scores follow 40% recency, 30% activity, 20% tool success and 10% authorisation success, with Healthy from 80.
A customer is shown as anon-… or a long identityThe visitor was never identified, so there is no name or email on their customer record. Pass the user’s details from your product; see Identify users and pass context.
Security Violations is flat at zero while Violations lists entriesCheck the range: the chart counts by the UTC day the message was blocked. Widen the range and compare again.
Tool Executions shows many errorsOpen AnalyticsTool runs and filter by failed runs to see the endpoint and status. Expired credentials and changed endpoints are common causes.
Every insight tile shows 0.0No chat sessions started in the range. Widen the range.
The health table is emptyNo customer sent a chat message in the range; the card shows No data available.
A Request failed message appears and cards stay emptySelect Refresh. If it happens again, sign out and in again; your session may have expired.