PostHog als Self-Hosted Analytics — Warum wir von Google Analytics gewechselt haben

Warum wir Google Analytics durch PostHog ersetzt haben: volle Datenkontrolle, DSGVO-Konformität, und ein Analytics-Tool das wirklich zu modernen Web-Projekten passt.

analytics posthog datenschutz self-hosted open-source

PostHog als Self-Hosted Analytics — Warum wir von Google Analytics gewechselt haben

Google Analytics war jahrelang die Standardlösung für Web-Analytics. Kostenlos, mächtig, überall integriert. Aber irgendwann haben sich die Nachteile so stark aufgestaut, dass wir den Wechsel gewagt haben. Seit einigen Monaten läuft PostHog self-hosted auf unserer eigenen Infrastruktur — und wir würden nicht mehr zurückgehen.

Das Problem mit Google Analytics

GA4 hat einige grundlegende Probleme, die uns zunehmend gestört haben:

Datenschutz. Seit dem Schrems-II-Urteil ist der Transfer von personenbezogenen Daten in die USA rechtlich problematisch. In der Schweiz gilt seit September 2023 das neue Datenschutzgesetz (nDSG), das ähnlich strenge Anforderungen stellt wie die DSGVO. Google Analytics auf einem Server in den USA zu betreiben, passt da nicht mehr.

Sampling. GA4 samplet Daten ab einer bestimmten Menge. Das heisst: Die Zahlen, die man sieht, sind Hochrechnungen — keine exakten Werte. Für kleinere Projekte fällt das kaum auf, aber sobald man Conversion-Funnels genauer analysieren will, wird es unzuverlässig.

Datenhoheit. Die Rohdaten gehören Google. Man kann sie exportieren (BigQuery-Export), aber das ist umständlich und kostet zusätzlich. Wirkliche Kontrolle über die eigenen Daten hat man nie.

Ad-Blocker. Ein wachsender Anteil der Besucher blockiert Google Analytics. Je nach Zielgruppe gehen 20–40% der Daten verloren — bei einer technischen Zielgruppe sogar mehr.

Warum PostHog?

PostHog ist eine Open-Source-Plattform für Product Analytics, die unter der MIT-Lizenz steht. Man kann sie komplett selbst hosten oder die Cloud-Version nutzen. Für uns war Self-Hosting der entscheidende Punkt.

Volle Datenkontrolle

PostHog läuft auf unserem eigenen Hetzner-Server in Deutschland. Keine Daten verlassen unsere Infrastruktur. Das macht die DSGVO- und nDSG-Konformität deutlich einfacher — kein Auftragsverarbeitungsvertrag mit einem US-Unternehmen nötig, keine komplizierten Datentransfer-Mechanismen.

Mehr als nur Pageviews

PostHog ist event-basiert aufgebaut. Statt nur Seitenaufrufe zu zählen, kann man beliebige Events tracken: Button-Klicks, Formular-Submissions, Scroll-Tiefe, Feature-Nutzung. Dazu kommen Features, die bei Google Analytics entweder gar nicht oder nur in der teuren 360-Version existieren:

  • Session Recordings — echte Nutzer-Sessions als Video ansehen
  • Feature Flags — Features für bestimmte Nutzergruppen ein- oder ausschalten
  • A/B Testing — Experimente direkt im Analytics-Tool aufsetzen
  • Funnels & Retention — Conversion-Pfade und Nutzerbindung analysieren

Das alles in einem Tool zu haben, statt drei verschiedene Services (GA + Hotjar + LaunchDarkly) zu kombinieren, vereinfacht den Stack erheblich.

Autocapture

PostHog erfasst automatisch Klicks, Eingaben und Seitennavigation — ohne dass man für jedes Element manuell Events definieren muss. Das reduziert den Implementierungsaufwand massiv. Man kann im Nachhinein entscheiden, welche Interaktionen relevant sind, statt vorher alles planen zu müssen.

Keine Sampling-Limits

Jedes Event wird gespeichert. Keine Hochrechnungen, keine Approximationen. Wenn 1.247 Nutzer auf einen Button geklickt haben, steht da 1.247 — nicht “ca. 1.200”.

Reverse Proxy = kein Ad-Blocker Problem

PostHog lässt sich hinter einem Reverse Proxy betreiben. Die Tracking-Requests gehen an die eigene Domain statt an posthog.com oder analytics.google.com. Ad-Blocker erkennen den Traffic nicht als Tracking, weil er technisch nicht von einer Drittanbieter-Domain kommt. Damit erfasst man auch die Besucher, die sonst unsichtbar wären.

User-Identifikation

Für Projekte mit Login (wie z.B. SaaS-Produkte oder Plattformen mit Nutzerkonten) bietet PostHog eine saubere Identifikation: Anonyme Sessions werden beim Login automatisch mit dem eingeloggten Nutzer zusammengeführt. So sieht man die gesamte Journey — vom ersten anonymen Besuch bis zur Conversion und darüber hinaus.

Kostenlos für Self-Hosted

Die Self-Hosted-Version von PostHog ist kostenlos und enthält alle Features. Zum Vergleich: Google Analytics 360 kostet sechsstellig pro Jahr, Mixpanel oder Amplitude werden ab einer gewissen Event-Menge schnell teuer. Bei PostHog zahlt man nur die eigenen Serverkosten.

Unser technisches Setup

PostHog läuft bei uns als Docker-Compose-Stack auf einem dedizierten Hetzner-Server. Die Architektur sieht so aus:

  • ClickHouse als analytische Datenbank — extrem schnell für Aggregationen über grosse Datenmengen
  • Kafka für die Event-Ingestion — puffert Events und stellt sicher, dass nichts verloren geht
  • PostgreSQL für Metadaten, Nutzer und Konfiguration
  • Redis für Caching und Sessions
  • Caddy als Reverse Proxy mit automatischem TLS via Let’s Encrypt

Das Deployment läuft über GitHub Actions: Push auf main, SSH auf den Server, docker compose pull && docker compose up -d. Updates sind damit in wenigen Minuten eingespielt.

Der Server braucht etwas Ressourcen — ClickHouse und Kafka sind nicht gerade leichtgewichtig. Wir empfehlen mindestens 8 GB RAM und 4 CPU-Kerne für eine produktive Instanz. Für unsere Zwecke reicht ein einzelner Server problemlos.

Was wir gelernt haben

Die initiale Einrichtung braucht Zeit. PostHog self-hosted aufzusetzen ist komplexer als ein Google-Analytics-Snippet einzubauen. Man muss sich mit Docker, Reverse Proxies und der Konfiguration auseinandersetzen. Aber: Das ist einmalig.

Event-Design lohnt sich. Auch wenn Autocapture vieles abdeckt, sollte man sich für die wichtigsten Conversion-Events ein klares Naming überlegen. Wir nutzen z.B. email_alert_registered, booking_inquiry_sent oder newsletter_subscribed — eindeutig und projektübergreifend konsistent.

Dashboards früh aufsetzen. PostHog liefert nur dann Mehrwert, wenn man die Daten auch anschaut. Ein Dashboard pro Projekt mit den wichtigsten Metriken (Besucher, Conversions, Top-Seiten) ist der Startpunkt.

Fazit

Der Wechsel von Google Analytics zu PostHog war für uns die richtige Entscheidung. Nicht weil Google Analytics ein schlechtes Tool ist, sondern weil sich unsere Anforderungen verändert haben: Datenschutz, Datenhoheit und die Möglichkeit, Product Analytics wirklich in die eigenen Produkte zu integrieren.

PostHog self-hosted gibt uns volle Kontrolle, kostet uns nur die Serverressourcen und bietet Features, die wir bei GA4 vermisst haben. Wer bereits eigene Infrastruktur betreibt und sich mit Docker auskennt, für den ist die Einstiegshürde überschaubar.

Falls du Fragen zum Setup hast oder Hilfe bei der Einrichtung brauchst — schreib mir gerne.