The operational problem
A list of active login sessions cannot establish website interest. It says nothing about anonymous visitors, acquisition sources, entry pages, navigation paths, or whether traffic came from the operator, a bot, or a prospective customer.
The constraints
- Keep collection first-party rather than loading an external tracker.
- Exclude authenticated administrator activity from primary metrics.
- Preserve referral URLs and campaign parameters for acquisition analysis.
- Show chronological paths instead of only aggregate page counts.
- Separate detected bots and synthetic previews.
- Provide useful geography without retaining raw IP addresses.
The implemented system
The browser records a pseudonymous visitor and session identifier, page path, title, referrer, campaign fields, language, and screen width. The server adds Cloudflare country data, classifies device and actor type, and hashes identifiers before storage. Administrators receive an exclusion cookie; their events are excluded even when they visit the public site.
The reporting view includes trends, pages per session, bounce rate, duration, conversions, acquisition origin, a world heat map, and filters that open the exact chronological path of each session.
Verification
Automated tests cover real journeys, administrator exclusion, bot and preview separation, role protection, origin attribution, and reporting. Production releases run the complete application suite before deployment.
The reusable lesson
Analytics becomes operationally trustworthy only when its exclusions are as deliberate as its collection. A larger number is not a better metric when the number includes the people building and testing the site.