JavaScript error logging, with the visit attached.

Every error, console message and failed request, recorded with the visit it happened in. See how many visitors each one reaches, then watch it happen.

Included on every plan, Free too.

In the player

The error, and the thirty seconds before it.

An error report tells you a line failed. The recording shows what the visitor clicked, what they typed into and which request came back with a 500 just before it. Errors are marked on the timeline, and clicking any console or network row jumps the player to that moment.

  • Console and network side by side with the replay
  • Red markers on errors and failed requests
  • Rage clicks marked on the same timeline

Included on every plan.

Example data

What gets logged.

All of it from the visitor's own browser, which is where most of what breaks a website happens.

JavaScript errors

Uncaught errors with their message, file and line, and promise rejections nobody handled.

Console messages

Everything your code writes with console.log, info, warn, error and debug.

Network requests

Each fetch and XHR call with its method, address, status, timing and size. Requests with no response are caught too.

The Errors report

Fix the error that hurts the most people.

One bug can throw a thousand slightly different messages. The report groups them into one row and puts the ones reaching the most visitors at the top.

Grouped, not repeated

Numbers, addresses and quoted values are set aside when errors are compared, so one bug is one row.

Visits affected

Each error shows how many visits it reached, how many times it fired, the page it happens on most and when it was last seen.

Failing endpoints

Requests that came back with an error status, grouped by address, with how many visits hit them and how long they took.

Watch it happen

“Watch” on any error opens the recordings it appeared in.

Alerts

Hear about it the first time.

When a JavaScript error appears that you have not seen before, you get a message with a link to the recording. When five or more server errors pile up within fifteen minutes, you hear about that too.

  • Once per new error, then quiet for a week
  • By email, in Slack or to your own webhook
  • On by default for every new site

Example data

Bug reports

A ticket your developer can act on.

One click in the player copies a report ready to paste into GitHub, Jira or Linear: the page, the browser and device, the errors, the failed requests, the clicks that led there and a link to the replay at the right moment.

  • Steps to reproduce, from the visitor's own clicks
  • Errors and failed requests with their timestamps
  • A share link that expires after 30 days

Example data

Careful by default

Logs that keep secrets secret.

Request contents can hold passwords and tokens, so they are off until you decide otherwise.

Contents are opt-in

Request and response bodies are recorded only when you turn that on for a site.

Secrets redacted

Values under names such as password, token, card or CVV are replaced in the browser before anything is sent.

Console off switch

Prefer not to keep console output? Switch it off in the site's settings.

Kept on schedule

Errors are deleted with their recordings when your plan's storage period ends.

Error logging questions.

Something else? Ask us and a person will answer.

What exactly is logged?

JavaScript errors with their message, file and line; unhandled promise rejections; console messages at every level; and every fetch and XHR request with its method, address, status, timing and size. Request and response contents are recorded only if you turn that on for the site.

Does it replace Sentry or another error monitoring tool?

Not entirely, and we would rather say so. GetSiteTape logs what happened in the visitor's browser and shows it with the visit. It does not collect server-side errors, and it keeps the file and line of an error rather than a full source-mapped stack trace. Many teams use both: their monitoring tool for the trace, GetSiteTape for what the visitor did.

Why do some errors just say "Script error."?

Browsers hide the details of errors thrown by scripts loaded from another domain unless that script is served with the right CORS headers and a crossorigin attribute. Add those to your own scripts on a CDN and their errors are logged in full.

Will I get the same alert over and over?

No. A new error alerts you once, and stays quiet for a week while it keeps happening. Bursts of server errors alert at most once an hour.

Is anything sensitive recorded?

Request and response contents are off unless you turn them on, and even then values under names such as password, token or card are replaced before they leave the browser. You can also switch console recording off for a site.

Which plans include it?

Every plan, including Free. Errors are kept for as long as your plan keeps recordings.

See your next bug from the visitor's side.

Free for 1,000 replays a month. No card needed. Error logging is on every plan.