Real User Monitoring

Find the page that's losing you users

Web vitals for every page, the JavaScript errors behind them, and the funnel step where people drop out. When a number looks wrong, open a session and watch what happened.

Vitals and traffic for this app — KloudMate Real User Monitoring KloudMate · Real User Monitoring Real User Monitoring · Overview Vitals and traffic for this app OverviewSessionsPagesErrorsJourneys TTFB 640ms LCP 3.1s INP 238ms CLS 0.08 Page views Audience 412 × 915 is the top screen size · 1,204 mobile sessions, next to browser, version, and country

A p75 tells you the page got slower. It doesn't tell you who, or what they were doing.

KloudMate RUM measures web vitals and errors for each page and each release, and maps the route people take through your app. Open any single session and every page view, request, error, console line, and rage click sits on one timeline next to the replay.

What teams can do with Real User Monitoring

Measure what real users get, find the page or release that broke it, and see the individual visits behind both.

Core Web Vitals by page and release

LCP, INP, and CLS p75 for every page, split by device, plus TTFB and FCP for the application. Compare one release against the last to see which build moved them.

Errors grouped by cause

Recurring JavaScript errors collapse into one group, tagged with the pages they hit and the version they started in.

Funnels and pathways

Build a funnel over the steps that matter and see which one loses people. Pathways map where users go next from any page.

Rage, dead, and error clicks, on by default

The browser SDK flags repeated clicks in the same spot, clicks that got no response, and clicks followed by a JavaScript error. Counts sit on the session row.

One timeline per session

Every event in the session lands on one timeline beside the replay, in the order it happened. Click one and the replay jumps to that moment.

Tied to your backend traces

The SDK propagates W3C trace context on fetch and XHR, so a request that failed in someone's browser opens as the backend trace that produced it.

From a number that moved to the session behind it

Start with the numbers across every page and release. Narrow to the one that changed. Go to a single visit only when you have to.

01

Add the browser SDK

Drop in the RUM script. Page timing, Web Vitals, fetch and XHR spans, JavaScript errors, and the three frustration clicks start reporting on the first page load. Turn on session replay when you want the recording too.

02

Find what changed

Compare vitals and error rate across pages, devices, and releases until one of them stands out.

03

Run the funnel

Pick a flow like signup or checkout. Open the step with the biggest drop to see why people left it.

04

Watch the session

Watch the replay with the whole timeline beside it. The backend trace is one click from any failed request.

Which pages are slow, and on which device — KloudMate Real User Monitoring KloudMate · Real User Monitoring Real User Monitoring · Pages Which pages are slow, and on which device Sessions 3,842 Pages tracked 14 Failing LCP 2 Page Device LCP p75 Sessions /checkout INP p75 238ms, CLS 0.08 mobile 3.1s 1,204 /product/* grouped from 412 URLs mobile 2.7s 1,580 /catalog steady across the window desktop 1.6s 2,310 /account steady across the window desktop 1.2s 880 Releases 4.18.0 is where checkout slowed · compare it against 4.17.3 on the same page

Find the slow page, and the build that caused it

Each page gets its own p75 for LCP, INP, and CLS, split by device. Compare a release against the one before it and you can tell a slow page from a slow build.

  • Group URLs like /product/1234 into one page, or split a group back open
  • Open a page for its own vitals, errors, and the sessions that visited it
  • See how many sessions are behind each number
Where people drop out — KloudMate correlation Journeys · checkout funnel Where people drop out 01 View cart
12,480 sessions entered
02 Shipping
9,140 continued · 73%
03 Payment
4,020 continued · 44%
04 Confirmed
3,120 completed · 78%
Biggest drop Shipping to Payment 5,120 sessions lost at one step Why they left Errors and vitals they hit plus the pages they went to instead

See the step where people give up

Open the step with the biggest drop and you get three answers about the people who stalled there: the errors and vitals they hit, the pages they went to instead, and the list of sessions to watch.

  • Funnels of up to five steps, with a completion window you set
  • Save a funnel and compare this period against the last one
  • Pathways show where people go next from any page, several steps out
What is breaking in the browser — KloudMate Real User Monitoring KloudMate · Real User Monitoring Real User Monitoring · Errors What is breaking in the browser Groups 23 New in 4.18.0 3 Issue Occurrence trend Status TypeError: cart.total is undefined /checkout · new in 4.18.0 rising Failed to fetch: /api/cart/apply-coupon /checkout · mobile only rising ResizeObserver loop limit exceeded /product/* · all versions steady ChunkLoadError: loading chunk 42 failed /catalog · after each deploy known

Group the errors before you triage them

Recurring errors collapse into one group with an occurrence trend, so ten thousand hits of the same TypeError read as the one problem they are.

  • Error rate by version, so a bad release shows up without diffing anything
  • Filter to the errors that only happen on one page, browser, or device
  • Jump from an error group to the pages and sessions that hit it
One visit to /checkout — KloudMate Real User Monitoring KloudMate · Real User Monitoring Session · what happened One visit to /checkout Duration 6m 12s Rage clicks 4 Errors 2 0:00 Page view · /checkout Chrome 128 · Android · 412 × 915 LCP 3.1s 3:48 POST /api/cart/apply-coupon 500 after 4.2s, then retried twice failed 3:52 Rage click · Place order 4 clicks in 1.1s, nothing moved rage · 4 3:53 Console error TypeError: cart.total is undefined error

Open one session and see the whole visit

Every page view, network request, error, console line, and frustration click from the visit sits in one order, beside the replay. Click any event and the replay jumps to that moment.

  • A network waterfall of every request, with method, status, timing, and where it sat in the visit
  • Console errors and warnings from the user's own browser, plus TTFB, FCP, LCP, INP, and CLS for that one visit
  • Large recordings stream the part you are watching, so a seek into a long session lands in about a second
KloudMate AI

Use KloudMate Assistant to explain what changed for your users

Ask Assistant where the drop is coming from. It answers with the errors and requests underneath, and the view worth opening next.

  • Describe Name the page or release losing the most users
  • Correlate Tie a slow page to the errors and requests behind it
  • Prioritize Say how many real sessions hit it, before anyone digs in
Explore platform
What changed for checkout users? — KloudMate Auto-RCA Assistant on RUM What changed for checkout users? Q
Summarize what changed for checkout this week and tell me whether the backend is involved.
Assistant · likely cause
  • Checkout conversion is down six points, and almost all of the loss is at the payment step on mobile.
  • The sessions that stall there hit a 500 on POST /api/cart/apply-coupon, first seen in release 4.18.0.
  • The trace for that call spends most of its time in the inventory dependency, so start there rather than in the frontend.
Where payment step, mobile biggest drop in the checkout funnel What 500 on apply-coupon new in release 4.18.0 Suggested next view Open the linked trace inventory dependency dominates the span

Get started

From telemetry to root cause,
in one platform.

Connect your OpenTelemetry pipeline, AWS integrations, or eBPF agent. Distributed tracing, log management, alerting, and AI-assisted investigation: unified, with predictable pricing.