Custom-builtFor wltziff.nlPrivacy-first0 trackers
wltziff Analytics
My own analytics, built into this website. It shows who came, what they looked at and what they clicked, without Google, without trackers, without storing a single IP address.
- Third-party trackers
- 0
- IP addresses stored
- 0
- Screens
- 4
- Kept for
- 12months
- Built for
- 1site
The tour
Four screens. Four questions answered.
I didn’t want hundreds of reports I’d never open. Each screen answers one question I actually have about my site.
-
01 / 04 · Overview
How many people came, and is it going up?
One sentence sums it up (“In the last 30 days, 13 people visited…”), then four numbers in plain words: visitors, pages opened, pages per visitor and clicks, each one compared with the period before. Underneath, every day of the period as a bar, quiet days included.
- Today, 7, 30, 90 days or 12 months
- Point at a bar: date, views and people
- “▲ 12% more than the 30 days before”
-
02 / 04 · Visitor journeys
What did each person look at?
One line per visitor, newest first: their device, where they came from and the pages they opened, in order. Open a line to see every step with its time and the buttons they pressed.
- Home → AxisNex → About, step by step
- Repeats fold into “×2”, returns show “came back 2 hours later”
- Anonymous: “Visitor #7” is a random ID, nothing more
-
03 / 04 · Click map
What do people click?
The real page, with every clicked button and link outlined in a heat colour and labelled with its rank. Click a line in the list and the page scrolls to that button and pulses it.
- Red = most clicks, labelled “#2 · 71 clicks”
- Drawn on the real page, not a distorted copy
- Hidden or removed buttons are marked, never misplaced
-
04 / 04 · Pages, sources & devices
Which pages work, and where do people come from?
Pages listed by their real names with a bar for their share, next to where visitors come from and what they browse on. Only pages that are still on the site: deleted ones disappear from every list.
- “MOOD99”, not /portfolio/projects/mood99/
- Renamed pages add up under their new name (INPUT ZERO → AxisNex)
- Deleted pages are left out, no clutter
How it works
From a click to the dashboard.
Everything runs on my own server. A visit travels through five small steps, and nothing ever goes to an outside service.
- 01VisitorSays “Accept” to cookiesno answer = not counted
- 02TrackerA few lines in the theme’s JSpage views + clicks
- 03REST endpointWordPress, on my own serverchecked & cleaned
- 04Own databaseOne table, no IP addressesdeleted after 12 months
- 05DashboardAn admin page only I can openin plain words
Before & after
The first version worked. Nobody could read it.
Raw addresses, a chart without dates, no way to follow one visitor. So I redesigned it around the questions.
- /portfolio/projects/mood99/MOOD99: real page names
- Totals onlyEvery number explained and compared
- A small chart without datesEvery day, dated, details on hover
- No idea what one person didVisitor journeys, step by step
- Red dots on a stretched previewClick map on the real page, ranked
- Old, deleted pages in every listOnly pages that still exist
Privacy first
Six rules it never breaks.
Only with consent
Nothing is counted until a visitor clicks “Accept”. Declining changes nothing else on the site.
No IP addresses
The IP is never written to the database. Visitors are a random ID stored in their own browser.
My server, my database
No Google Analytics, no pixels, no third parties. The data never leaves wltziff.nl.
Cleans up after itself
Everything older than 12 months is deleted automatically.
Not counting myself
Visits while I’m logged in are skipped, so my own testing never skews the numbers.
Only what I need
Pages, clicks, source and device type. No fingerprinting, no profiles, nothing sold.
Behind it
Made by me, for this site only.
- My role
- Idea, design & development, custom for wltziff.nl
- Year
- 2026
- Status
- Finished
Why I built it
I wanted to know which projects people look at, how they move through the site and what they click, without sending my visitors to Google or an ad network, and without hundreds of reports I would never open.
What I did
Everything: the tracker, the database table, the REST endpoint and the whole dashboard (overview, pages, visitor journeys and the click map), designed and redesigned until it was clear at a glance.
- PHP
- WordPress
- REST API
- MySQL
- Vanilla JS
- CSS
- SVG charts
Curious how it’s built?
The full story, the before & after and every screen, on GitHub.