Google Analytics 4: Die neue Daten-Architektur für Web-Properties
GA4 ist kein Upgrade von Universal Analytics — es ist ein anderes Produkt mit anderen Konzepten. Wer saubere Daten will, muss die Event-Architektur von Grund auf neu denken.
Universal Analytics ist tot. GA4 ist sein Nachfolger — und wer noch glaubt, es handle sich um ein einfaches Upgrade, kämpft täglich mit inkonsistenten Daten, fehlenden Conversions und Berichten, die nichts aussagen. GA4 denkt in Events, nicht in Sessions und Pageviews. Dieser konzeptuelle Shift ist der Schlüssel zu einer sauberen Analytics-Implementierung.
Das Event-Modell von GA4
In Universal Analytics war alles eine Session mit Pageviews. In GA4 ist alles ein Event. Ein Seitenaufruf ist das Event page_view, ein Kauf ist purchase, ein Klick auf einen Button ist ein custom_event. Diese Vereinheitlichung klingt simpel — hat aber fundamentale Auswirkungen auf die Datenstruktur. Jedes Event kann bis zu 25 Custom Parameters tragen, die frei definiert werden können. Das ist die Stärke von GA4: maximale Flexibilität bei der Datenerfassung.
// Typisierte Event-Helper für konsistentes Tracking
type GA4Event = {
event_category?: string;
event_label?: string;
value?: number;
currency?: string;
item_id?: string;
item_name?: string;
[key: string]: string | number | undefined;
};
function trackEvent(eventName: string, params: GA4Event = {}) {
if (typeof window === "undefined" || !window.gtag) return;
window.gtag("event", eventName, params);
}
// E-Commerce: Produkt in den Warenkorb
export function trackAddToCart(product: {
id: string;
name: string;
price: number;
quantity: number;
}) {
trackEvent("add_to_cart", {
currency: "EUR",
value: product.price * product.quantity,
items: [{
item_id: product.id,
item_name: product.name,
price: product.price,
quantity: product.quantity,
}],
});
}
// Custom: Formular-Abschluss mit Segment-Info
export function trackFormSubmit(formType: string, segment: string) {
trackEvent("form_submit", {
event_category: "lead_generation",
form_type: formType,
user_segment: segment,
});
}Google Tag Manager: Die Architektur-Schicht
GTM entkoppelt das Tracking vom Code-Deployment. Statt jedes neue Event durch einen Developer und ein Release-Cycle zu schleusen, verwalten Marketing und Analytics-Teams ihre Tags eigenständig. Das setzt aber voraus, dass die GTM-Architektur sauber aufgebaut ist: ein Data Layer als Kommunikationsschicht zwischen Website und GTM, strukturierte Trigger-Logik und eine klare Namenskonvention für alle Tags, Trigger und Variablen.
// Typisierter Data Layer für GTM
declare global {
interface Window {
dataLayer: Record<string, unknown>[];
}
}
function pushDataLayer(event: string, data: Record<string, unknown> = {}) {
window.dataLayer = window.dataLayer || [];
window.dataLayer.push({ event, ...data });
}
// Next.js: Route Change Tracking mit App Router
// In layout.tsx — client component
"use client";
import { usePathname, useSearchParams } from "next/navigation";
import { useEffect } from "react";
export function AnalyticsTracker() {
const pathname = usePathname();
const searchParams = useSearchParams();
useEffect(() => {
pushDataLayer("page_view", {
page_path: pathname,
page_search: searchParams.toString(),
});
}, [pathname, searchParams]);
return null;
}Server-Side Tagging ist der nächste Evolutionsschritt: anstatt Tags im Browser des Nutzers auszuführen, läuft ein GTM-Server-Container auf deiner eigenen Infrastruktur. Vorteile: bessere Datenqualität (Ad-Blocker umgehen), reduzierte Browser-Latenz und vollständige Kontrolle über gesendete Daten — DSGVO-konform und performant.
Looker Studio: Dashboards die aussagen
- GA4 als Datenquelle direkt in Looker Studio verbinden — kein CSV-Export, Live-Daten
- Blended Data Sources: GA4 + Search Console + Google Ads in einem Dashboard
- Custom Calculated Metrics: Conversion Rate, Revenue per Session, Customer Acquisition Cost
- Automatische E-Mail-Distribution: Reports landen wöchentlich im Postfach der Stakeholder
- Brand-konforme Templates: Farben, Schriften und Layout nach Corporate Design-Standard