Vibekit

Analytics-Übersicht

Datenschutzfreundliche Analytics-Provider und Event-Tracking.

Die Analytics-Adapter liegen in apps/web/modules/analytics/provider. Wählen Sie none, google, plausible, pirsch, posthog, amplitude oder custom über config.analytics.provider. Standardmäßig deaktiviert none das Tracking.

Adapter einrichten

Setzen Sie vor dem Web-Build die passende Variable:

AdapterÖffentliche Umgebungsvariable
Google AnalyticsNEXT_PUBLIC_GOOGLE_ANALYTICS_ID
PlausibleNEXT_PUBLIC_PLAUSIBLE_URL (die erfasste Domain)
PirschNEXT_PUBLIC_PIRSCH_CODE
PostHogNEXT_PUBLIC_POSTHOG_KEY, NEXT_PUBLIC_POSTHOG_HOST
AmplitudeNEXT_PUBLIC_AMPLITUDE_API_KEY, NEXT_PUBLIC_AMPLITUDE_SERVER_ZONE

Die Clientkomponente in apps/web/modules/analytics/index.tsx lädt den gewählten Adapter ohne Server-Rendering. Zugangsdaten allein wählen keinen Anbieter aus. Das Root-Layout entscheidet derzeit anhand von config.analytics.provider, ob Tracking gerendert wird; der Analytics-Modulschalter im Adminbereich steuert dieses Skript nicht.

PostHog und Amplitude

Wählen Sie posthog oder amplitude in config.analytics.provider und bauen Sie mit dem öffentlichen Projektschlüssel neu. Verwenden Sie für PostHog den Ingestion-Host Ihres Projekts: Standard ist https://us.i.posthog.com, für EU-Projekte https://eu.i.posthog.com. Amplitude nutzt standardmäßig US; setzen Sie für ein EU-Projekt die Serverzone auf EU. Die Browserschlüssel sind öffentliche Kennungen, keine geheimen Verwaltungsschlüssel.

Beide Adapter initialisieren das SDK und senden eigene Ereignisse erst nach Zustimmung. Der übersetzte Banner speichert die Wahl 30 Tage lang. Zustimmung startet das Tracking sofort; Ablehnen lässt diese SDKs inaktiv. Keiner der beiden Adapter zeichnet automatisch Seitenaufrufe, Browserverlauf oder Sitzungen auf: Die Fassade sendet pro geeigneter Route genau einen bereinigten Seitenaufruf (ohne Query-String, Fragment oder anmelderelevante Felder), und nur solange die Zustimmung gilt und die Route nicht sensibel ist (/auth, /team/invitation, /checkout, /onboarding, /app/settings). Widerruf der Zustimmung oder Navigation zu einer sensiblen Route stoppt die Erfassung und verwirft wartende Ereignisse; die Rückkehr zu einer geeigneten Route setzt sie ohne Neuladen fort. Diese Vorgaben gelten für diese beiden Adapter; prüfen Sie das Verhalten anderer Analytics-Adapter separat.

Eigenen Dienst ergänzen

Implementieren Sie AnalyticsScript und useAnalytics in provider/custom.tsx und wählen Sie custom. useAnalytics liefert trackEvent(event, data?) und darf keine React-Hooks aufrufen: Die Fassade lädt die Funktion asynchron und ruft sie erst danach bedingt auf. Folgen Sie dem exportierten Typ AnalyticsModule aus apps/web/modules/analytics/index.tsx. Der vorhandene Custom-Adapter ist ein Platzhalter, der Ereignisse lokal protokolliert.

Für einen weiteren benannten Adapter ergänzen Sie ein Modul, den Resolver in index.tsx und analyticsProviderIds in packages/config/providers.ts. Installieren Sie benötigte Browser-SDKs im Web-Workspace und aktualisieren Sie die Lockdatei. Umami, Mixpanel und Vercel Analytics sind keine mitgelieferten Adapter.

Weiterlesen: Strukturiertes Logging.

On this page