Skip to content
$_ setuptracking
Skip to content
Independent · No affiliate · Tested on Hetzner

The self-hosted tracking cookbook for EU developers.

Install recipes for Plausible CE, Matomo, Umami, and PostHog. Cookieless patterns, GTM alternatives, custom-event modelling, and CNIL/GDPR teardowns — written from the server, not the marketing deck.

6 tested recipes · last verified 5 hours ago · MIT · 0 cookies set

View commands
$ ssh deploy@hetzner-eu
$ docker compose up -d
$ # Plausible live in <5 min
  • // no email gate
  • // no affiliate links
  • // no paid tier
  • // every stack deployed on a real box
// where your data lives

Three paths off Google. Pick the one that matches your stack.

Most teams don't switch tools — they switch hosts. Here's what running each option on your own infrastructure looks like, including the trade you make in return.

Self-host decision flow Three vendor paths off Google Analytics — Plausible CE, Matomo, and PostHog — each running on your own VPS with their own database stack and a fixed monthly cost. Where you are GA4 / vendor cloud USA · cookies · banner 6Q quiz Stack Picker /picker/ → one tool locked-in Plausible CE Hetzner CX22 · Postgres · Caddy · €4.51/mo ↗ /plausible-hetzner/ Matomo Hetzner CX32 · MariaDB · Caddy · €8.21/mo ↗ /matomo-hetzner/ PostHog Hetzner CX32 · ClickHouse · Docker · €16.41/mo ↗ /posthog-docker/ + Umami on Vercel + Neon — free tier, 5-min serverless
6
Recipes published
4 / 5
Stacks shipped / planned
5 hours ago
Last recipe verified
0
Cookies set on this site
// 6 pillars · one cookbook

The whole tree, one screen.

Six clusters. Each is the answer to a different real question — installation, identifier handling, tag orchestration, event modelling, regulatory exposure, and the SQL that connects them.

setuptracking/
├── install-recipes/ → 6 tested deploys, real cost figures
├── cookieless-tracking/ → ditch the banner, keep the data
├── self-hosted-tag-manager/ → GTM, but yours
├── custom-events/ → goal modelling that survives a migration
├── eu-compliance/ → CNIL/DPA teardowns, dated
└── sql-lab/ → query your own warehouse
Friday 6pm. PM drops a Slack: "we need conversion tracking on the new pricing page by Monday." You've got a Next.js app, an EU customer base, and zero appetite for a cookie banner argument with legal. You start at the cookbook. You finish before dinner.
// methodology

Why these recipes are different.

Every entry in the cookbook follows the same protocol. Read the long form on the methodology page.

  • Every recipe runs end-to-end on a fresh VPS before it ships.
  • Cost figures are real invoice line-items, not list prices.
  • A recipe gets an "outdated" badge after 6 months without re-verification.
  • No affiliate links. No sponsorships. No paid tier coming.
// start here

Pick the stack. Run the recipe. Self-host by Sunday.

The 60-second quiz lands you on one tool with the reason explained. Or just open the recipe library and browse by deploy date.

// guides

Across the rest of the cookbook

// web analytics

Self-Hosted Google Analytics Alternatives: Pick & Deploy

A self-hosted Google Analytics alternative is a web analytics tool you run on your own server — your VPS, your database, your data — instead of pushing visitor…

// tracking

Where to Put Analytics Tracking Code in HTML: Head or Body

Short answer: the tag goes in <head>, as high as you can get it — after <meta charset> and the viewport tag, before your stylesheets. The vendors agree,…

// web analytics

Self-Hosted Analytics Backup: Plausible, Matomo, Umami

// AUTHOR Rajeev Sharma — recovering data from a botched MariaDB upgrade, so yes, this one is personal. // COVERS Plausible CE 2.x · Matomo CE 5.x ·…

// tracking

Bounce Rate, Time on Page, Sessions: How Plausible, Matomo, Umami & PostHog Calculate Them Differently

“Bounce rate is 47%.” Compared to what? Calculated how? In which tool? The same visitor doing the same thing on the same page can register as a bounce…

// cookieless

Consent Mode v2 Without Google: Self-Hosted Analytics Patterns That Pass CNIL (2026)

Google Consent Mode v2 became mandatory for any site sending data to Google Ads or Google Analytics from the EU on March 6, 2024. If you’ve already moved…

// tracking

7 Self-Hosted GTM Alternatives That Actually Work

Compare 7 self-hosted tag manager alternatives to Google Tag Manager: Matomo TM, Cloudflare Zaraz, sGTM container, Piwik PRO, Stape, Adobe Launch, Snowplow. With install costs, server-side support, and a 60-second decision wizard.