Home
Pricing
Platform Blog About Contact FAQ
Sign in Start free
Error Tracking

Every front-end error.
Grouped. Explained.

JavaScript errors are captured automatically, fingerprinted into groups, enriched with source-mapped stack traces, and linked to the exact session replay where they fired — so you fix the right thing first.

Free tier included No credit card 2-minute setup
app.siteqwality.com / errors / acme.com
acme.com — Error Groups ActiveLIVE
ERROR GROUPS14
AFFECTED SESSIONS · 24H89
NEW TODAY2
TypeError: null.id241ms
ChunkLoadError178ms
NetworkError: /api/order134ms
RangeError: stack overflow72ms
UnhandledPromise44ms
What you get

Stop triaging noise. Fix what matters.

Raw error counts are meaningless. Site Qwality fingerprints errors by their symbolicated stack trace, groups duplicates automatically, and surfaces the errors affecting the most users — so you always know exactly where to look.

Automatic error grouping

Errors are fingerprinted by symbolicated stack trace so 500 occurrences of the same bug appear as one actionable group.

Source-mapped stack traces

Upload source maps at deploy time and every minified trace is de-obfuscated to real file names, line numbers, and function names.

Affected-user counts

Each error group shows exactly how many sessions and unique users were affected, so you can prioritise by real impact.

One-click session replay link

Every error links directly to the session replay for an affected user — one click to see exactly what happened before the crash.

Error trend charts

Track error volume over time to spot regressions immediately after a deploy or a traffic spike.

Spike alerting

Get notified via Slack, email, or webhook the moment a new error type appears or an existing group spikes above your threshold.

01 · Source map de-obfuscation

Minified traces tell
you nothing.

A stack trace that says a.js:1:4523 is not actionable. Upload your source maps — via CI, the CLI, or the API — and every error is automatically rewritten to show the real module, function, and line. Debug production as if you're reading your source.

  • Source maps uploaded via CLI, CI step, or REST API
  • De-obfuscation applied automatically to every new occurrence
  • Source maps stored securely and never exposed to end users
app.siteqwality.com / errors / grp_7x3q
TypeError: Cannot read properties of null InvestigatingLIVE
OCCURRENCES · 24H241
SESSIONS HIT89
FIRST SEEN2h ago
checkout.js:142241ms
cart.js:89178ms
Button.jsx:23134ms
router.js:5572ms
02 · Upload source maps

One HTTP upload
per deploy.

POST your build output to the sourcemaps endpoint as part of your build pipeline and source maps are linked to the release automatically. Every error that arrives after that deploy is de-obfuscated on arrival — no manual steps, no separate browser tooling.

  • Works with any build system that emits .map files (Webpack, Vite, Rollup, esbuild, Parcel)
  • Source maps linked to release versions — old releases keep their own maps
  • Maps are stored server-side and never served to users' browsers
upload source maps# run after your build step in CI
$ curl -X POST \
  https://api.siteqwality.com/rum/$APP_ID/releases/$GIT_SHA/sourcemaps \
  -H "Authorization: Bearer $SQ_TOKEN" \
  -F "file=@dist/main.js.map"
✓ 12 source maps uploaded — linked to release a4c2f91
1-click

from any error group to its session replay

100%

of errors captured — no sampling or rate limits

auto

de-obfuscation applied to every new occurrence

$0

free tier — error tracking included with RUM

FAQ

Questions, answered.

No. The Site Qwality RUM script automatically captures all unhandled JavaScript exceptions and unhandled Promise rejections. You don't need to wrap your code or call any error-reporting function manually.

Errors are fingerprinted by their de-obfuscated (source-mapped) stack trace — specifically the top frames. Two occurrences with the same root cause are always in the same group, regardless of message-text variations.

POST each .map file to /rum/<app_id>/releases/<version>/sourcemaps as part of your CI build — one HTTP call per deploy. The release tag links the maps to errors arriving from that build automatically.

Yes. You can configure alerts that fire when a new error group is created, or when an existing group exceeds a threshold of occurrences per hour. Alerts route to Slack, email, webhook, or any other configured channel.

Yes. Error tracking is included as part of Real User Monitoring. The free tier covers up to 1,000 RUM sessions per month, which includes full error capture, grouping, and source-map de-obfuscation.

Ready?

Start watching in under a minute.

Every product starts free — uptime, cron, synthetic, logs, RUM, incidents, and status pages. No credit card required.