Einführungsrichtlinie für Partytown und Google Analytics (GA4)
Entscheidung
- Für Zugriffsauswertung wird Google Analytics 4 (GA4) verwendet, mit der Measurement-ID
G-WZ3RT34EZZ. - GA-Skripte werden mit
@astrojs/partytownübertype="text/partytown"in einen Web Worker ausgelagert. - Die Ausgabe der Tracking-Tags wird in einer gemeinsamen Ebene zentralisiert (dedizierte Komponente unter
Layout). - Tracking wird nur auf Produktions-URLs aktiviert; lokal und in Preview-Umgebungen bleibt es deaktiviert.
- Der initiale Umfang ist auf Pageview-Tracking begrenzt; Custom Events werden in einem separaten ADR definiert.
- In der Erstversion werden keine zusätzlichen Privacy-Parameter in
gtag('config', ...)überschrieben; der Produktionsbetrieb startet mit den GA4-Standardeinstellungen.
Implementierungskonventionen
| Punkt | Regel |
|---|---|
| Skriptausführung | gtag.js mit type="text/partytown" laden. |
| ID-Verwaltung | Measurement-ID nicht in Seiten hartkodieren; per PUBLIC_GA_MEASUREMENT_ID injizieren (Initialwert G-WZ3RT34EZZ). |
| Ausgabebedingung | Tags nur ausgeben, wenn PROD aktiv ist und eine Measurement-ID vorhanden ist. |
| Platzierung | Zentral im gemeinsamen Layout, nicht pro Seite individuell. |
| Event-Umfang | Initial nur page_view; keine beliebigen Custom Events in dieser Phase. |
Kontext
Aktuell ist keine Zugriffsanalyse aktiv, daher fehlen Daten zu Akquise, Seitenreichweite und Nutzungstrends. Gleichzeitig können Third-Party-Skripte auf dem Hauptthread TTI/FID/INP verschlechtern.
Das Projekt bündelt Head-Verantwortung bereits im gemeinsamen Astro-Layout; Analytik sollte diesem Muster folgen. Wegen der mehrsprachigen Struktur ist eine seitenweise Implementierung fehleranfälliger und soll vermieden werden.
Optionen
- Option A: Standard-
gtag.jsdirekt im Hauptthread laden - Option B:
gtag.jsüber@astrojs/partytownim Worker ausführen (gewählt) - Option C: GA4 nicht einführen und auf ein anderes leichtgewichtiges Analytics-Tool wechseln
Begründung
- Performance: Partytown verlagert Third-Party-Ausführung vom Hauptthread in den Worker.
- Betriebssicherheit: Zentrale Ausgabe verhindert fehlende Tags bei neuen Seiten.
- Schrittweise Einführung: Start mit Pageviews, Event-Design später in separatem ADR.
- Nachvollziehbarkeit: Produktions-Gating und die Annahme „Start mit GA-Defaults“ sind explizit dokumentiert.
Konsequenzen
@astrojs/partytownmuss als Abhängigkeit ergänzt und inastro.config.mjsintegriert werden.- Eine gemeinsame Analytics-Komponente (oder gleichwertige Verantwortung) muss in
Layouteingebunden werden. - Der Betrieb von
PUBLIC_GA_MEASUREMENT_IDmuss definiert und gepflegt werden. - Die Datenschutzerklärung muss um GA4-Nutzung und Messzweck ergänzt werden.
- Akzeptanzkriterien:
- GA-Tags werden nur in Produktion ausgegeben
- Pageviews sind auf allen öffentlichen Seiten messbar
- Hauptthread-Regression bleibt in Lighthouse (oder gleichwertig) im akzeptablen Bereich
hsb.horse