Error tracking

JavaScript error tracking with session replay attached

Every uncaught exception and unhandled promise rejection captured with full stack traces, breadcrumbs, and the exact session replay that produced it. Group, triage, resolve. No SDK gymnastics.

Automatic capture

window.error and unhandledrejection are captured the moment the script loads — no try/catch wrappers, no manual reporting code.

Smart deduplication

Errors are fingerprinted by message + normalized stack so 10,000 occurrences of the same TypeError become one group with a count.

Linked to session replay

Each error is linked to the session that produced it. Click through to watch the user's last 30 seconds before the crash.

Error tracking is the bare minimum for running a production web app. The category is owned by Sentry, with Bugsnag and Rollbar a step behind. They all do the same fundamental thing: capture window.onerror, deduplicate by stack trace, send you an alert. Where they diverge is pricing, and how much extra you pay to add session replay back on top.

Nevision bundles error tracking with session replay, uptime monitoring, and Real User Monitoring (Web Vitals) — one subscription, one dashboard. Sentry's session replay add-on alone costs more than our entire Pro plan. If you're paying for two tools today (errors + replay), you're almost certainly overpaying versus a unified product.

From error to root cause in two clicks

The combination is what matters. When a TypeError appears, the conventional workflow is: read the stack, guess what state the app was in, try to reproduce locally, fail, ask the user for a screen recording. With Nevision, the error event has a "Watch session" button attached. You click it, you watch the user's last 30 seconds, you see exactly which button they clicked, exactly which form field had the malformed input, exactly which network response 500'd. The bug fixes itself in your head before you've opened the editor.

Breadcrumbs lead you to root cause

Every error event ships with the last 20 breadcrumbs the user produced before it crashed — clicks (with the element they hit), navigation events, console warnings and errors, and fetch requests with their HTTP status. You don't need to reproduce the bug; the trail is already attached to the report.

Triage at the group level

Mark groups resolved once you've shipped a fix or ignored when the noise is from a third-party script you don't control. Active groups stay at the top of the queue with their occurrence count and last-seen timestamp so you always know what's burning.

index.html
Setup
<!-- Error tracking is enabled by default — no extra config --> <script src="https://api.nevision.app/recorder.js?siteId=YOUR_SITE_ID" async></script> <!-- Uncaught exceptions and promise rejections are captured automatically -->

How it works

Step 1

The recorder hooks window.error

As soon as the script loads, all uncaught exceptions and unhandled promise rejections are captured with their stack traces, the URL, the page title, and breadcrumbs of recent activity.

Step 2

Errors are fingerprinted

We hash message + normalized stack into a fingerprint (line and column numbers stripped). Identical errors merge into one group; new errors create new groups.

Step 3

Resolve, ignore, or replay

Mark groups resolved when you ship a fix, ignore noise from third-party scripts, or click any event to watch the session that crashed.

How Nevision compares

FeatureNevisionSentryBugsnagRollbar
Free errors/month5,0005,0007,5005,000
Paid plan starts at$12/mo$26/mo$31/mo$31/mo
Includes session replay$50/mo extra
Includes uptime monitoring
Includes Web Vitals (RUM)
Automatic breadcrumbs
Self-host option

Comparison based on publicly listed pricing and features as of April 2026.

Frequently asked questions

What error types are captured automatically?+

Uncaught exceptions (window.error) and unhandled promise rejections (unhandledrejection). The recorder hooks both as soon as it loads — you don't need to wrap anything in try/catch or call a manual reporting API.

How are errors deduplicated?+

We fingerprint each error using its message plus the normalized stack trace (line and column numbers stripped so a single error from minified bundles still groups correctly). Identical errors collapse into one group with an occurrence count and a 'first seen' / 'last seen' timestamp.

What context is attached to each error?+

Full stack trace (up to 10 KB), the URL and page title where it happened, the user agent and device info (browser, OS, viewport), and up to 20 breadcrumbs leading up to the crash — clicks, navigation events, console warnings/errors, and fetch requests with their HTTP status. Plus a link to the session replay if recording was active.

Will error tracking inflate my session count?+

No. Sessions and errors are billed separately. Free: 1,000 sessions/mo + 5,000 errors/mo. Lite ($12/mo): 5,000 sessions + 50,000 errors. Pro ($39/mo): 25,000 sessions + 250,000 errors. Business ($99/mo): 100,000 sessions + 1.5M errors.

Can I link an error to a specific user?+

Yes. Set window.nevisionMeta = { user_id: "..." } before the recorder script loads. The user_id is attached to the session replay that captured the error, so you can find every error for a given user from the Recordings page.

How do I triage errors?+

Each error group has three states: active, resolved, and ignored. Mark groups resolved when you ship a fix; ignore groups that come from third-party scripts or browser extensions you don't control. Active groups stay sorted by recency in the dashboard.

Related services

Try it on your site in 60 seconds

Free plan, no credit card. One script, full observability.