Basics
Tracker Not Collecting Data
Why your dashboard might be empty after installing the tracker, and how to fix each cause.
If you've installed the ReachSurge tracker but no pageviews are appearing, work through this checklist in order. Most issues are caught by the first three checks.
1. Confirm the snippet is on the page
Open your site in a browser, view source (Ctrl/Cmd + U), and search for reachsurge. You should see something like:
<script async src="https://reachsurge.ai/track.js" data-site="ws_xxx"></script>
If it's missing, the snippet isn't being injected. Most common causes:
- The CMS template you edited isn't the one rendering the page.
- A caching layer (Cloudflare, Vercel, your CMS) is serving an old version — purge the cache.
- A consent / cookie banner is removing the script before it loads.
2. Check the Network tab
Open DevTools → Network tab → filter for reachsurge. You should see two requests on every page load:
track.js— should return200 OK./api/track— fired right after, should return204 No Content.
| What you see | What it means | Fix |
|---|---|---|
| No requests at all | Snippet didn't execute | See step 1 |
track.js returns 404 | Wrong domain in the snippet | Re-copy from Settings → Integrations |
/api/track returns 401 | Wrong data-site ID | Re-copy the snippet for the correct website |
/api/track returns 429 | You hit the per-IP rate limit (rare) | Wait 60 seconds; usually a bot-traffic problem |
| Blocked by CORS | Custom tracker domain misconfigured | See "Custom domain" below |
3. Disable your ad-blocker for one test load
uBlock Origin, AdGuard, and Brave's shield will silently block analytics requests. Disable the blocker for your own domain (or browse in a clean profile) and reload — if data appears, that's the cause and is expected for blocker users in your audience too.
4. Wait the ingestion window
Pageviews appear in the dashboard within 2–3 minutes, not real-time. The aggregation job runs every minute. If you're staring at the analytics page right after a single test load, give it five minutes and refresh.
5. Custom tracker domain (Enterprise)
If you set up a custom domain like t.yourdomain.com in Settings → Branding, double-check:
- DNS
CNAMEpoints totrack.reachsurge.ai. - The certificate has provisioned (can take up to 1 hour after the CNAME resolves).
- The snippet uses your domain, not
reachsurge.ai.
6. SPA / client-side routing
If your site is a React/Next/Vue SPA, page transitions don't reload the script and the tracker won't auto-fire on route change. Call window.reachsurge?.pageview() from your router's success hook to record the new view. The integrations doc has a snippet per framework.
Still nothing?
Contact us with:
- Your site URL.
- The website ID (visible in Settings → Integrations).
- A screenshot of the Network tab during a page load.
We can usually identify the issue from the request log within an hour.