Overall Health

A quick per-visit grade combining load speed and visual stability. Different from the Sentiment Score.

Overall Health is a quick summary grade shown on the page-load detail view. It combines the two most user-visible metrics — load speed and visual stability — into a single Good, Needs Improvement, or Poor label.

It is designed to give a fast, at-a-glance answer for one specific visit without requiring you to interpret raw numbers.

Full page loads

For full browser navigations, Overall Health is based on LCP and CLS:

Condition Grade
LCP < 3 000 ms and CLS < 0.15 Good
LCP < 5 000 ms and CLS < 0.25 Needs Improvement
Anything else Poor

Both metrics must be within their thresholds to reach the higher grade. A fast LCP with a high CLS, or a stable layout with a slow LCP, will not reach Good.

SPA navigations

For in-app route changes (SPA navigations), LCP is not meaningful — the browser does not emit LCP events for pushState navigations. Instead, Witnes uses the Content Complete time (how long until the route stopped rendering new content) combined with CLS:

Condition Grade
Content Complete < 1 000 ms and CLS < 0.15 Good
Content Complete < 2 500 ms and CLS < 0.25 Needs Improvement
Anything else Poor

vs. Sentiment Score

Overall Health and the Sentiment Score are different things and intentionally use different thresholds:

  • Overall Health is a quick, two-metric check for this individual page load. It doesn't account for jank, rage quit, interaction dead zones, or historical comparison. It's a useful shortcut, not a complete picture.
  • Sentiment Score is the session-level grade shown in the analytics tables. It's based on up to six experience symptoms, includes historical context, and is computed server-side from the processed data. It's the authoritative grade for trend analysis.

It's normal for the two grades to differ on the same visit. A visit can have a fast LCP and stable CLS (Overall Health = Good) but still receive a Sentiment Score of Needs Improvement if there was significant jank or a late-loading resource that timed out.