Browser Checks
Browser checks use a real headless browser to load your pages and detect JavaScript errors that could impact your customers.
How It Works
Pulsar uses a headless Chrome browser to:
- Navigate to your page
- Wait for the page to fully load
- Capture any JavaScript errors
- Report console errors and uncaught exceptions
What Gets Captured
Console Errors
Any console.error() calls are captured and reported:
// This will be captured
console.error("Failed to load product images");
Uncaught Exceptions
JavaScript exceptions that aren't handled are detected:
// This will trigger an alert
throw new Error("Payment gateway unavailable");
Network Errors
Failed network requests that result in JavaScript errors are captured.
Console Warnings (opt-in)
Third-party services often announce their own degradation only via console.warn — for example, a consent manager CDN that has exhausted its plan quota logs a warning while serving an HTTP 200 stub:
// The only visible symptom of a broken consent setup
console.warn('[CCM19] Quota exceeded');
Enable Capture Console Warnings on a browser-checked page to record these. Captured warnings are advisory by default — they show up on the check but never trigger an alert on their own.
To alert on a specific warning, add a warn alert pattern (in the page's error patterns, type Warn Alert). A captured warning matching the pattern degrades the check and sends an alert naming the warning:
Warn alert pattern: [CCM19] Quota exceeded
Use a distinctive substring, not something generic like quota exceeded — browsers emit benign QuotaExceededError warnings for localStorage (e.g. Safari private mode), which would false-positive.
Configuration
Wait for Selector
Specify a CSS selector to wait for before checking for errors:
Wait for: #main-content
This ensures the page is fully loaded before capturing errors.
Viewport Size
Set the browser viewport size (default: 1920x1080):
| Viewport | Use Case |
|---|---|
| 1920x1080 | Desktop |
| 1366x768 | Laptop |
| 375x667 | Mobile |
Error Patterns
Configure patterns to ignore known, non-critical errors:
# Ignore third-party tracking errors
.*gtm\.js.*
.*analytics.*
# Ignore deprecation warnings
.*deprecated.*
Best Practices
- Start with default settings - Enable browser checks and monitor for a few days
- Add error patterns gradually - Only ignore errors you've investigated
- Monitor checkout pages - JavaScript errors here directly impact conversions
- Check mobile views - Some errors only occur on specific viewports
Limitations
- Browser checks are more resource-intensive than HTTP checks
- Maximum page load time is 30 seconds
- Some third-party scripts may cause false positives