Modules
Privacy-first web analytics for PhoenixKit — the numbers a hosted analytics product gives you, without the script tag.
The write path: takes a raw hit, enriches it, and stores one
PhoenixKitWebAnalytics.Schemas.Event.
Settings-backed configuration for the Web Analytics module.
Optional behaviour for resolving a request IP to a coarse location.
Counts LiveView navigations as page views.
Versioned migration coordinator for phoenix_kit_web_analytics — the module
returned from PhoenixKitWebAnalytics.migration_module/0.
Centralized path helpers for the Web Analytics module.
Records one page view per HTML response — the whole tracker, server-side.
Turns a raw Referer header into a {source, medium} pair for reporting.
Read-side aggregation — every number the admin pages show.
Keeps the events table from growing without bound.
Route macros for the module's six admin pages and two public collection
endpoints. Returned from PhoenixKitWebAnalytics.route_module/0; PhoenixKit
splices the admin routes inside its own live_session :phoenix_kit_admin
(auth + admin layout applied automatically) and the public ones near the top
of the host router.
One day of pre-aggregated totals per site — what survives after raw events are pruned.
One analytics hit — a page view or a custom event.
A deliberately small User-Agent classifier: browser, OS, device class, and "does this look automated".
Cookieless visitor identification.
The optional client-side snippet — around 300 bytes, inline, no file to load.
Turns an untrusted beacon payload into a hit map for
PhoenixKitWebAnalytics.Collector.
The shared building blocks of the six report pages: the filter bar, stat tiles, the trend chart, and the ranked breakdown card.
Overview — the page you land on: headline numbers with period-over-period change, the traffic trend, and the four breakdowns worth seeing first.
Custom events and the live hit feed.
Shared period/site filter handling for the report LiveViews.
Pages report — every path that received traffic, plus the response-time table that comes free with server-side tracking.
Settings — collection rules, retention, and the installation checklist.
Acquisition — where traffic came from: channels, referring sites, and UTM campaigns.
Technology — browsers, operating systems, device classes, languages, and (when available) countries.
Two optional client-side entry points, for the cases the plug can't see.