← All posts
EngineeringJune 8, 2026 · 1 min read

First-party delivery, or why your analytics keep undercounting

Ad blockers eat third-party tracker requests for breakfast. Serving the script from your own domain quietly fixes it.

By Sami Dghim


If your analytics numbers feel low, they probably are. A large and growing slice of visitors run a content blocker, and blockers ship long lists of third-party tracker hostnames. A script loaded from an analytics vendor's domain matches those lists and never executes — so that visit is simply never counted.

Same-origin is the loophole

Blockers key on the request's hostname. When the tracker and its beacon are served from your own domain, there's no third-party host to match. Pulse supports this with a first-party route: point a path on your site at Pulse and embed the same-origin snippet.

<script defer data-site="YOUR_ID" src="https://yoursite.com/i/s.js"></script>

The script beacons to /i/e on the same origin. To a blocker it's indistinguishable from any other request your own site makes, so it loads and reports.

Still cookieless, still kind

First-party delivery is sometimes abused to sneak past privacy protections and rebuild cross-site profiles. Pulse doesn't — the data model is the same cookieless, PII-free, daily-rotating hash whether the script is first-party or not. You recover the visits you were always supposed to see, without quietly becoming the thing blockers exist to stop.

Accurate numbers and respect for the visitor aren't a trade-off. They're a design decision.

See it on your own traffic

Cookieless analytics that also tells you which ads pay. Free to start.