Skip to main content

Debugging

Force a sample, read the network requests, turn Monitoring off, and fix the problems that come up most.

On this page

Force a sample with ?a11y_debug=1

Append ?a11y_debug=1 to a page URL to force sampling for the rest of that tab's session — not just the one pageview — regardless of the configured sample rate, and to turn on console.debug output from the collector. It can't override a disabled or kill-switched site, or an unrecognized site key: those never sample no matter what's in the URL.

For your own team

This is a QA tool, not a way to opt a visitor in. It only affects the browser it's typed into.

Check the network

With ?a11y_debug=1 on the URL, open your browser's DevTools Network tab and reload the page:

  • The page requests GET /api/a11y/config from your endpoint.
  • It also downloads the engine bundle and, once it has something to report, sends a beacon with POST /api/a11y/ingest.

A 204 from /api/a11y/ingest only confirms the browser sent the beacon — it doesn't confirm anything was stored. That endpoint answers the same 204 whether a beacon was accepted or silently dropped (an unknown site key, a disabled site, an origin that isn't allowed), on purpose, so a caller can't use the response to learn which. Check your dashboard's status line for confirmation instead. Two other statuses are informative: 413 means the beacon was too large and was dropped, and 429 means your site's daily beacon cap has already been reached for the day.

Turn it off

Add data-disabled to the script tag. Its presence — the value doesn't matter — disables the loader entirely: no request, no storage, no injection.

Common problems

  • The placeholder key was left in. A snippet copied without replacing acc_rum_YOUR_SITE_KEY with your real site key never reports anything.
  • The script is only on some pages. Monitoring only sees a page that carries the tag. A partial rollout looks like partial coverage.
  • A Content Security Policy blocks the loader or its requests. The loader script (and the engine bundle it loads) need to be allowed under script-src, and the config and beacon requests need connect-src to allow the endpoint's origin. A blocked request shows up in the Console and the Network tab, not as anything reaching your dashboard.
  • Beacons come from a host that isn't in Allowed hosts. Only beacons (POST /api/a11y/ingest) are checked against the Allowed hosts dashboard setting; the config request and the engine download still succeed, so the Network tab can look healthy while beacons are silently dropped. This most often means the snippet was pasted onto the wrong domain, or the domain is missing from Allowed hosts.
  • An unsampled session sends nothing. That's expected: an unsampled visit costs one config request and nothing else. Use ?a11y_debug=1 to force a sample and confirm the rest of the pipeline.