Skip to content
All work07 / 08 · Web analytics

Footfall

Privacy-first web analytics: one script tag, and visitors, pages, sources, countries, devices and goals on a calm, one-page dashboard.

Footfall on an invented site with a month of invented traffic: the unique-visitor wheels click over like a door counter, the chart shows the previous period behind it, clicking Hacker News and then Germany narrows the whole page and adds filter chips, then the one-line script tag and a stored visit row with no IP address column.
Film · 0:26
Fact sheet
Tracking
No cookies, no stored IP addresses
Script
1.9 KB gzipped
Runs as
One Node process, one SQLite file

01The problem

Google Analytics is heavy, hard to read, and needs a cookie banner in much of the world. The privacy-friendly alternatives are either a monthly bill that grows with traffic or, self-hosted, a stack of services to run and back up.

02The engineering

Footfall is a single Node process with a single SQLite file, so it can run on a $5 server and be backed up with cp. Its 1.9 KB script counts pageviews, single-page-app navigations, outbound links and downloads, and records time on page with one beacon. On the dashboard every row filters the whole view, and it all works without JavaScript too.

Script tag
Pageview
Daily salted hash
SQLite file
Dashboard
One Node process

03The outcome

0cookies, and no IP addresses stored.

One Node process · one SQLite file · 1.9 KB script