Troubleshooting
Common issues and solutions when the eesee tracking script isn't sending traffic
If you've installed the eesee tracking script but aren't seeing any traffic in your dashboard, this guide will help you diagnose and fix common issues.
Check if the Script is Loaded
The first step is to verify that the eesee script is properly loaded on your page.
Open Your Browser's Developer Console
Right-click anywhere on your webpage and select Inspect (or Inspect Element). Then click on the Console tab at the top of the panel that opens.
Alternatively, you can use keyboard shortcuts:
- Windows/Linux: Press
Ctrl + Shift + JorF12 - Mac: Press
Cmd + Option + J
Type "eesee" and Press Enter
In the console, type eesee and press Enter.
If the script is loaded correctly, you'll see an object with functions like this:
{event: ƒ, pageview: ƒ, identify: ƒ, setTraits: ƒ, clearUserId: ƒ, …}If the script is NOT loaded, you'll see an error like:
Uncaught ReferenceError: eesee is not definedIf you see the error, the script is not loading properly. Continue reading for common causes.
Common Issues
Data Attributes Being Stripped
Some platforms, content management systems, and tag managers automatically remove or sanitize data-* attributes (or all non-standard attributes) from script tags. This means the data-site-id attribute required by eesee gets removed, causing the script to fail silently.
Platforms known to strip attributes:
- Google Tag Manager
- Some WordPress page builders
- Certain website builders (Webflow, Wix, Squarespace in some configurations)
- Some CDN or caching plugins
Solution: Instead of using the standard script tag, inject the script dynamically using JavaScript:
<script>
(function() {
var el = document.createElement("script");
el.src = "https://app.eeseemetrics.com/api/script.js";
el.defer = true;
el.setAttribute("data-site-id", "YOUR_SITE_ID");
document.head.appendChild(el);
})();
</script>This approach creates the script element programmatically and sets the data-site-id attribute via JavaScript, which bypasses any HTML sanitization.
For detailed Google Tag Manager setup instructions, see our Google Tag Manager Guide.
Ad Blockers
In rare cases, ad blockers may block the eesee tracking script. While eesee is privacy-focused and doesn't use cookies for tracking, some aggressive ad blockers may still flag analytics scripts.
How to check if an ad blocker is the issue:
- Temporarily disable your ad blocker
- Refresh the page
- Check the console again for the
eeseeobject
Solutions:
- For your own testing: Disable your ad blocker or add your site to the allowlist
- For your visitors: Consider setting up a proxy to serve the script from your own domain, which significantly reduces the chance of being blocked
Script Not in the Right Location
The eesee script should be placed in the <head> section of your HTML. If it's placed in the wrong location or loaded after the page has already finished loading, it may not work correctly.
Verify the script placement:
- View your page source (right-click → View Page Source)
- Search for
eeseeorscript.js - Confirm it appears within the
<head>...</head>tags
Incorrect Site ID
Double-check that your data-site-id matches the site ID shown in your eesee dashboard.
- Go to your eesee dashboard
- Navigate to your site's settings
- Copy the site ID and compare it with what's in your script tag
Content Security Policy (CSP) Blocking
If your site has a strict Content Security Policy, it may block the eesee script from loading or executing.
Check for CSP errors:
- Open the browser console
- Look for errors mentioning "Content Security Policy" or "CSP"
Solution: Add the eesee script domain to your CSP headers:
script-src 'self' https://app.eeseemetrics.com;
connect-src 'self' https://app.eeseemetrics.com;If you're self-hosting eesee, replace app.eesee.io with your eesee instance domain.
Script Loading Too Late in SPAs
In single-page applications (React, Vue, Next.js, etc.), if the script loads after the initial page render, the automatic pageview might not fire.
Solution: Ensure the script is in your root HTML template (like index.html or _document.js in Next.js), not dynamically imported in a component.
For Next.js specifically, see our Next.js Guide.
Testing Your Installation
Once you've made changes, verify that tracking is working:
- Check the console: Type
eeseeto confirm the object exists - Trigger a test event: In the console, run:
eesee.event("test_event") - Check your dashboard: Navigate to the Events tab in your eesee dashboard and look for "test_event" (it may take a few seconds to appear)
- Check the Network tab: In browser dev tools, go to the Network tab, filter by "track" or "eesee", and verify requests are being sent with 200 status codes
Still Having Issues?
If you've tried all the above and are still not seeing traffic:
- Check the browser Network tab for any failed requests to your eesee instance
- Verify your site ID is correct in the dashboard
- Check if traffic is being filtered - review your IP exclusions and country exclusions to ensure your traffic isn't being blocked
- For self-hosted instances - ensure your eesee server is running and accessible
Related Documentation: