Docs

Bug report widget vs error monitoring: you need both

What Sentry sees that a feedback widget never will, what a widget sees that no APM can, and why the overlap is smaller than it looks.

These get compared as alternatives and they are not alternatives. They observe different events, and the gap between them is where most of the bugs your users actually complain about live.

What error monitoring sees

An APM like Sentry instruments your application and catches exceptions whether or not a human noticed. That produces three things nothing else gives you:

  • Volume. Every occurrence, including the thousands nobody would ever report.
  • Regression detection. This error started at 14:02, which is when release 4.11 went out.
  • Resolved frames. Source maps uploaded at build time, so the trace names your real files.

If you run a production application and do not have this, that is the gap to close first. Nothing in this post argues otherwise.

What error monitoring cannot see

Two categories, both large.

Bugs that throw nothing. A form that silently drops a field. A filter returning the wrong rows. A total calculated incorrectly. A button that does nothing because a handler was never bound. Your dashboard is clean, your user is right, and no amount of exception data surfaces it.

Intent. This is the structural one. An exception tells you what failed. It cannot tell you what the person was trying to do, what they expected, or whether the failure mattered. A TypeError in a component nobody uses and a TypeError blocking checkout look identical in an event stream.

What a bug report widget sees

It only ever fires when a person decides something is wrong, which is both its limitation and the entire point. What arrives is:

  • A human sentence. "I could not apply my discount code." That is a priority signal no event stream contains.
  • The technical context anyway. Browser, operating system, viewport, time zone, the JavaScript errors that were thrown, and the last fifty actions taken.
  • A screenshot, if they attached one. Which covers the visual bugs that throw nothing.

What it cannot see

Everything nobody reports. Silent failures, background job errors, the exception thrown for four hundred users who all shrugged and reloaded. A widget is a sampling method with a strong bias toward people willing to complain, and that bias is real.

It also does not resolve minified frames on its own. The stack arrives exactly as the browser reported it, so if your bundle is minified, ship source maps.

The pairing

Put simply:

Error monitoring Bug report widget
Fires on Every exception A person deciding to report
Tells you What broke What they were trying to do
Catches silent bugs No Yes, if noticed
Catches unnoticed bugs Yes No
Priority signal Volume A human said it mattered

The overlap is one row. Everything else is complementary, which is why most teams that can afford both run both — and why a comparison page framing them as competitors is answering the wrong question.

If you can only have one

Uncommon, but it happens on very small projects.

Take error monitoring if your product is technical, your users are developers, and they will not report anything but the errors are real. Take the widget if your users are non-technical, your bugs are as often visual as thrown, and nobody currently has anywhere to tell you.

For most consumer-facing products the second describes reality better than teams expect, because the reports you never receive do not show up anywhere to argue with.