
fa4t3 — Fathom Analytics direkt im TYPO3-Backend.
Datenschutzkonforme Webanalyse für TYPO3 14 — ohne Third-Party-Cookies, ohne DSGVO-Einwilligung fürs Tracking. fa4t3 bindet Fathom Analytics ins Backend ein: Dashboard-Modul, seitenspezifische Metriken im Seitenbaum und optionaler Tracking-Script-Inject per Middleware.
- Composer-Paket:
moselwal/fa4t3 - TYPO3: 14.x · PHP: 8.5+ · GPL-2.0-or-later
Analytics ohne Cookie-Banner — oder gar keine.
Mit fa4t3
- Fathom Analytics: kein Cookie, kein Consent-Banner, DSGVO-konform by design
- Backend-Dashboard direkt in TYPO3 — keine externen Logins für Redakteure
- Seitenspezifische Metriken im Seitenbaum sichtbar
- Tracking-Script-Inject per Middleware — kein TypoScript nötig
Bisher
- Google Analytics mit Cookie-Consent-Banner — Nutzer lehnen ab, Daten fehlen
- Externe Dashboards: Redakteure müssen zwischen TYPO3 und Analytics-Tool wechseln
- DSGVO-Compliance erfordert Datenschutzbeauftragten, AVV, Cookie-Opt-In
- Tracking-Script manuell per TypoScript einbinden und aktuell halten
Was fa4t3 mitbringt
Dashboard-Widgets
Integration in typo3/cms-dashboard: Seitenaufrufe, Top-Seiten, Referrer und Browser/Geräte als konfigurierbare Widgets.
Tracking-Inject
Optionaler Inject des Fathom-Tracking-Scripts per Middleware — keine manuelle TypoScript-Konfiguration nötig.
Seiten-Metriken
Pro-Seite-Metriken im TYPO3-Seitenmodul — jeder Redakteur sieht die Performance seiner Seite ohne externen Login.
Backend-Dashboard
Eigenes Backend-Modul mit Fathom-Analytics-Daten — Seitenaufrufe, Besucher, Verweildauer und Top-Seiten direkt in TYPO3.
Dashboard-Widgets
Wenn typo3/cms-dashboard installiert ist, stellt fa4t3 konfigurierbare Widgets für das TYPO3-Dashboard bereit:
| Widget | Inhalt |
|---|---|
| Seitenaufrufe | Pageviews über Zeit als Verlaufsgrafik |
| Top-Seiten | Meistbesuchte Seiten mit Aufrufzahlen |
| Referrer-Quellen | Woher kommen die Besucher (direkt, Google, Social, …) |
| Browser/Geräte | Aufschlüsselung nach Browser und Gerätetyp |
Jedes Widget ist eigenständig und lässt sich unabhängig zum TYPO3-Dashboard-Layout hinzufügen. Ohne typo3/cms-dashboard ist das Backend-Modul weiterhin vollständig verfügbar.

Installation und Konfiguration
Installation
composer require moselwal/fa4t3
Voraussetzungen: PHP 8.5+ · TYPO3 14.x · Fathom-Analytics-Account mit API-Key
Konfiguration
- API-Key im Fathom-Dashboard generieren
- Extension Configuration im TYPO3-Backend setzen
- Site-ID für Frontend-Tracking in der Site-Config hinterlegen (optional)
Site-Config-Integration
# config/sites/main/config.yaml
fa4t3ApiKey: '%secret(FA4T3_API_KEY)%'
fa4t3Password: '%secret(FA4T3_PASSWORD)%'
Der %secret()%-Platzhalter wird von moselwal/secret-resolver zur Laufzeit aufgelöst — empfohlen für Produktivumgebungen mit Docker Secrets oder Vault.
Optionale Abhängigkeiten
| Paket | Typ | Zweck |
|---|---|---|
typo3/cms-dashboard | Optional | Dashboard-Widget-Support |
moselwal/secret-resolver | Optional | Sichere API-Key-Auflösung |
Architektur
fa4t3 folgt TYPO3s Standard-Extension-Struktur mit klar getrennten Schichten:
Classes/
├── Controller/ # Backend-Modul-Controller
├── Domain/ # Models und Repositories
├── Exception/ # Domain-spezifische Exceptions
├── Middleware/ # Frontend-Tracking-Script-Inject
├── Service/ # Fathom-API-Client und Datendienste
└── Widgets/ # TYPO3-Dashboard-Widgets
Der Service-Layer kapselt die Fathom-API-Kommunikation und nutzt TYPO3s Caching Framework — API-Antworten werden gecacht, sodass wiederholte Backend-Aufrufe keine zusätzlichen API-Requests auslösen. Nach einer Änderung im Fathom-Dashboard genügt vendor/bin/typo3 cache:flush.
Die Middleware injiziert den Fathom-Tracking-Script in alle Frontend-Responses — ohne TypoScript, ohne PAGE-Objekt-Anpassung. Die Site-ID kommt aus der TYPO3-Site-Config.

Secrets sicher verwalten
Für Produktivumgebungen empfehlen wir moselwal/secret-resolver statt Plain-Text-API-Keys in der Site-Config:
# config/sites/main/config.yaml
fa4t3ApiKey: '%secret(FA4T3_API_KEY)%'
fa4t3Password: '%secret(FA4T3_PASSWORD)%'
secret-resolver löst den Platzhalter zur Laufzeit auf — cascading aus FA4T3_API_KEY_FILE-Env (Dateipfad), dann /run/secrets/fa4t3_api_key-Mount. Für HashiCorp Vault oder AWS Secrets Manager als erweiterte Provider: %secret(vault:kv-v2/fa4t3.apiKey)%.
Warum das besser ist als plain Env-Variablen: Env-Vars sind im Prozess sichtbar, landen in phpinfo()-Ausgaben und CI/CD-Logs. secret-resolver liest Werte on-demand aus verschlüsselten Quellen — nie global im Prozessumfeld.
Analytics datenschutzkonform einrichten?
fa4t3 ist Open Source und kompakt. Für Fathom-Onboarding, API-Key-Management mit secret-resolver oder eine vollständige TYPO3-Analytics-Strategie helfen wir gerne.
Setzen wir ein bei …
Wir setzen fa4t3 auf unseren eigenen Seiten ein – und bei Kunden, die ebenfalls Fathom Analytics nutzen. So entfällt das Cookie-Banner vollständig, und wir sehen dennoch, welche Inhalte wirklich ankommen.