Skip to content
Docs menu · No sessions arriving

Troubleshooting

Troubleshooting: No Sessions Arriving

Snippet installed but no sessions in AnyReplay? Check allowed domains, ad blockers, Content Security Policy, consent, sampling, caps and plan limits in order.

Start with your project's setup page in the dashboard. It already knows whether the snippet was requested, whether events were refused, and why — and most of the time it names the fix. If it does not, work through this list in order; each step rules out the one after it.

1. Is the recorder on the page?

  • View the page source (not the inspector) and search for anyreplay. A snippet inside an HTML comment, or in a template that this page does not use, is the most common miss.
  • In the network panel, look for ar.min.js. If it is never requested, the snippet is not running — check your tag manager trigger or the layout it lives in.
  • If the setup page says "We have not seen the snippet requested for this key", it agrees: the loader was never fetched with this project's key.

2. Is it starting?

Add debug: true to the options and reload. The recorder then logs why it is not recording. Also check the console for a warning about the options: with the script tag, a malformed projectKey or an out-of-range sampleRate is reported as a warning and nothing starts.

anyreplay('init', { projectKey: 'YOUR_PROJECT_KEY', debug: true });

With the npm package you can ask directly: recorder.status() returns awaiting-consent, sampled-out or stopped when it is not recording.

In a React Native app, a session that has taps and screen names but no picture of the screen ran on the old architecture. The screen is recorded only on the New Architecture (Fabric), which is on by default from React Native 0.76 and Expo SDK 52, and the Metro log says recording needs the New Architecture (Fabric) once per launch, with or without debug. See React Native requirements.

3. Allowed domains

Open the network panel and find the POST requests to /v1/ingest/events. A 403 with origin_not_allowed means the page's domain is not on the project's Allowed domains.

  • List the exact host: www.example.com and example.com are different.
  • *.example.com covers subdomains but not example.com itself. Add both if you need both.
  • Remember staging, preview deployments and localhost for local testing.
  • The setup page lists refused origins with an Allow button, which is the quickest fix.
  • An app has no web address. A React Native, Capacitor, Cordova, Electron or Tauri app is refused by a project that lists allowed domains or apps unless its bundle id or package name is under Allowed apps and the app passes the same value as appId.

4. Ad blockers and privacy extensions

Some blockers stop requests to session replay services. The symptom is that the snippet loads — or does not — and the events request fails with a network error rather than an HTTP status. The setup page describes this as "the snippet was fetched but sent no events". Test in a private window with extensions disabled. You cannot fix this for visitors who choose to block recording; expect a share of sessions to be missing on audiences that use blockers heavily.

5. Content Security Policy

A console error mentioning "Content Security Policy" and cdn.anyreplay.com or in.anyreplay.com means your policy is blocking the recorder or its requests. Add https://cdn.anyreplay.com to script-src (script tag installs) and https://in.anyreplay.com to connect-src. Details in Content Security Policy.

  • With requireConsent: true nothing is sent until consent(true). Accept your own banner, or check that the accept handler actually calls it. See consent.
  • With a sampleRate below 1, you may simply be outside the sample — and because the decision is per visitor, you will stay outside it on every page. Test with sampleRate: 1, or clear the site's local storage to get a new visitor id. See sampling.

7. Paused projects, caps and plan limits

ResponseCauseFix
403 project_not_acceptingThe project is paused, or the key is wrong or was rotated.Reactivate the project, or copy the current key.
402 session_cap_reachedThe project reached its monthly session cap.Raise or remove the cap in Projects.
402 test_mode_cap_reachedThe project is in test mode, which allows 50 sessions a day.Wait for midnight UTC, or switch the project to live mode in Settings → Mode.
402 quota_exceededThe organisation used its monthly sessions or hours.Wait for the next month (UTC) or change plan.

After a 402, the browser recorder skips recording in that tab for two minutes, so a fix can take a moment to show in a tab that was already open. The React Native recorder does the same for two minutes across launches. See ingest responses.

8. Still nothing?

  • Check the project and language filters on Sessions, and clear the search box.
  • A page closed within a second or two of loading may not have sent anything yet; stay on the page for a few seconds when testing.
  • Use the setup page's sample page link: if it records, the problem is specific to your site; if it does not, contact us through the contact page.