Documentation
JavaScript error tracking
Catch frontend crashes from real visitors, grouped by cause, with scrubbed messages and stack traces.
Catch uncaught exceptions and unhandled promise rejections from real visitors, grouped by cause. Messages and stack traces are scrubbed of emails, tokens and long numbers on our servers before storage. The module dedups within each page load and caps sends so an error loop can't flood anything. Error tracking is completely free and never counts toward your quota.
<script defer
data-website-id="YOUR_WEBSITE_ID"
src="https://www.jamp.io/index.js">
</script>Already handling an error in a try/catch? Report it yourself so it still shows up, flagged as handled:
try {
riskyThing()
} catch (err) {
window.jampError.capture(err)
}Errors land under Monitor → JS Errors, grouped by a stable fingerprint so a thousand copies of the same crash collapse into one row.
Getting the full trace, not “Script error.”
Browsers hide the message and stack of errors thrown by a script served from a different origin (a CDN, for example), reporting only an opaque Script error. with no detail. To get the real trace, add crossorigin="anonymous" to your own script tags and serve those bundles with an Access-Control-Allow-Origin header. JAMP's own scripts already send CORS, and we drop these opaque cross-origin errors so they never clutter your dashboard.