trakily.

Exclusions

Keep your own visits, internal IPs, paths and test traffic out of your stats.

Exclusion rules

Open Settings → Exclusions (members and owners). Rules apply to new events as they arrive; excluded events are never stored and don't count toward your plan.

Rule
IP addresses
Details
Exact IPv4 or IPv6 addresses, or IPv4 ranges like 10.0.0.0/8. The panel shows your current IP with a one-click Ignore this IP button.
Rule
Paths
Details
Use * as a wildcard, for example /admin/* or /preview-*. A leading / is added for you.
Rule
Hostnames
Details
Ignore traffic on hosts such as staging or preview domains. www. is ignored.
Rule
Countries
Details
New visits from these countries aren't counted, and their earlier visits drop out of the dashboard too.

Only country rules affect data you already have. The others apply from the moment you save them.

Exclude your own visits

Excluding your IP works at home or in the office. To exclude one browser wherever you are, open Settings → Tracking → Exclude your own visits, pick the hostname and click Exclude this browser. That opens your site with ?trakily_ignore=1; the script stores trakily_ignore in your site's local storage, removes the parameter from the address bar and shows a short confirmation.Count my visits again does the same with ?trakily_ignore=0.

You can also add the parameter to any page of your site yourself, or run this in the browser console on your site:

localStorage.setItem("trakily_ignore", "true");

Local storage belongs to one browser and one hostname, so repeat it for each browser and device, and for www. or other subdomains you visit. The dashboard runs on another domain and can't read your site's storage, so the status it shows is the last link you opened from that dashboard in this browser.

Excluded automatically

  • Bots. The script doesn't run for headless browsers and automation tools, and the server drops requests from known bot user agents. To measure AI crawlers on purpose, see Bots and AI crawlers.
  • Development. localhost and file: pages, unless you opt in with data-allow-localhost or data-allow-file-protocol. Local events are also only accepted when the site allows them, see Testing on localhost.
  • Iframes. Pages shown inside a frame, such as site-builder previews.
  • Other domains. Events from hostnames that aren't your domain, its subdomains or your additional domains are rejected, so someone copying your snippet can't pollute your stats.

Testing on localhost

To test your integration locally without allowing every domain, turn on Allow localhost (development) in Settings → General → Additional domains (or add localhost or 127.0.0.1 there). Then add data-allow-localhost="true" to the snippet on your dev server:

<script defer data-allow-localhost="true" data-website-id="…" data-domain="example.com" src="…/js/script.js"></script>

This accepts events from localhost, 127.x.x.x, ::1, *.localhost and *.local for this site only. Without it, local events are rejected even if a page sends them. Turn it off again when you're done if you don't want test visits in your stats.

Flood protection

If someone floods your site with fake events, turn on Flood protection in Settings → Security (owners). While it's on, events from clients that don't look like real browsers are dropped, and each IP can send at most 30 events per minute.

Switch on during surges turns it on when events jump far above your usual level and off again after an hour of normal traffic.