Performance Analytics

Performance metrics that tell you how users felt — not just how fast the page was.

p50, p95, long tasks, layout shifts — and a sentiment score that translates all of it into a single answer: was this visit Good, Needs Improvement, or Bad? No more guessing what the numbers mean for your users.

No cookies EU-based GDPR-ready No consent banner needed

The Old Way

"Our p75 LCP is 2.4s. Is that bad?"

You have the numbers but not the answer. Web Vitals give you data points — not a clear picture of whether your users are struggling.

The Old Way

"The dashboard says Good but users are complaining."

Aggregate scores hide individual bad sessions. One user with a 9 second load time gets buried inside a 100% Good rating.

Sentiment Score

Good. Needs Improvement. Bad. For every single visit.

Every page load gets graded automatically based on real load time, long tasks, layout shifts, and our own enhanced metrics that go beyond standard Web Vitals. You see the grade. You see the cause. You can act.

Not an average. Not a p75. A grade for every individual session — so no bad experience gets hidden inside a green dashboard.

Route · /authenticate/login · Org · 019cec87...

Session grades — last 7 days

Good

100%

6 sessions

Needs Improvement

0%

0 sessions

Bad

0%

0 sessions

witnes.io/dashboard/analytics/overview

p50

433ms

p70

441ms

p90

464ms

p95

471ms

Routes

p50

p95

/dashboard

253ms

932ms

/authenticate/log...

768ms

7.94s

/dashboard/analyt...

167ms

570ms

/authenticate/sel...

1.89s

3.53s

Long task detected at 1268ms (duration: 85ms) — /dashboard/visitors

Percentiles + Long Tasks

p50 to p95. Per route. Per org.

See load time distribution across every route — not just the average. p95 tells you what your slowest users experience. That's the number that matters when someone files a support ticket.

Long task detection flags exactly when the browser got blocked — so your engineers know where to look without spending hours in DevTools.

Key Capabilities

Beyond Web Vitals.

Sentiment grading

Every visit gets a Good, Needs Improvement, or Bad grade. Our own calculation — not just a copy of Core Web Vitals.

p50 / p70 / p90 / p95

Full load time distribution per route. Know what your median user experiences and what your worst-case user experiences.

Long task detection

Automatically flags tasks that block the main thread for over 50ms. Tells engineers exactly where the jank is coming from.

Web Vitals included

LCP, CLS, FCP, TTFB, DOM Interactive — all captured automatically. Standard metrics plus our enhanced ones on top.

Per route breakdown

Performance isn't global — it varies page by page. See exactly which routes are underperforming and by how much.

Per org view

In B2B SaaS, one customer's experience isn't the same as another's. See performance broken down by org — before they complain.

Get Started

Know how your users felt — not just how fast it was.

One script tag. No backend changes. Sentiment grading and long task detection out of the box.