Google Analytics 4 mit Beaconry: Measurement Protocol über den WordPress-REST-Endpoint
GA4 ist der Kanal, in dem der Adblock-Verlust am sichtbarsten ist, weil jeder Shop ihn betreibt. Beaconry ersetzt gtag.js durch einen Server-Side-Measurement-Protocol-Dispatch und holt dir die 25-30 % der Sessions zurück, die Adblocker bei gtag blockiert haben.
Setup, 90 Sekunden
GA4 braucht zwei Werte: die Measurement-ID (G-XXXXXXXXXX) und ein Measurement-Protocol-API-Secret. Beide leben unter Admin → Data Streams → Web-Stream → Measurement Protocol API secrets. Erstelle ein Secret mit dem Label "Beaconry plugin", kopier beide Werte in Beaconry → Tracking → GA4, speichern. Fertig.
Das API-Secret wird im Ruhezustand mit AES-256-CBC gegen deine WordPress-Auth-Salts verschlüsselt. Wenn du es lieber aus der Datenbank raushalten willst, definier BCNR_GA4_MEASUREMENT_ID und BCNR_GA4_API_SECRET in wp-config.php und lass die Form-Felder leer.
Events out of the box
Dieselben sechs WooCommerce-Events plus die vier Standard-Engagement-Signale. Keine gtag('event', ...)-Calls in deinem Theme-Code, kein Site Kit, kein Tag-Manager-Container.
page_viewbei jedem zustimmenden Page-Load.user_engagementbei 50 % Scroll plus 10 Sekunden (der GA4-kanonische "engaged session"-Trigger).generate_leadbei jeder Kadence-Blocks-Form- oder Fluent-Forms-Submission.view_item,add_to_cart,begin_checkout,purchasefür WooCommerce.refundbeim Status-Flip auf refunded, mit Negativwert, gleiche event_id wie der ursprüngliche Purchase.
Alle Events feuern mit der client_id des Besuchers (gebaut aus einem stabilen Cookie-Wert), session_id (Beaconry generiert und persistiert sie für 30 Minuten Inaktivität) und den relevanten Click-IDs aus dem nl_ext-Cookie, falls vorhanden.
Was gesendet wird vs gtag
Funktional identisch aus GA4-Sicht. Der einzige Unterschied ist die Request-Origin: https://www.google-analytics.com/mp/collect via deinen WordPress-Server (Server-zu-Server) vs dieselbe URL aus dem Browser des Besuchers (was Adblocker blocken).
Beaconry leitet den Event-Payload als einzelnen MP-Request pro Event weiter. Der Browser sieht einen Request an /wp-json/beaconry/v1/event auf deiner Domain (200 Bytes, same-origin). Der Browser sieht www.google-analytics.com gar nicht, außer du hast Hybrid-Modus aktiviert (was wir für GA4 nicht empfehlen, weil gtag 60 KB hinzufügt und es keinen First-Party-Cookie-Vorteil gibt wie bei Meta).
Empfohlene GA4-seitige Settings
In GA4 machen drei Konfigurationen die Daten unabhängig vom Tracking-Tool nützlicher:
- Datenaufbewahrung: 14 Monate (Admin → Datenaufbewahrung). Default sind 2 Monate, zu kurz für Year-over-Year-Vergleiche.
- Reporting-Währung passend zur Shop-Währung (Admin → Property-Details).
- Events als Conversions markieren für
generate_lead,purchase,sign_up,contact(Konfigurieren → Events → "Als Conversion markieren" aktivieren).
Keines davon ist Beaconry-spezifisch. Es ist einfach sinnvolle GA4-Hygiene.
Verifikation
GA4 → Reports → Realtime bestätigt das Eintreffen der Events innerhalb von 30 Sekunden. Der DebugView-Tab zeigt einzelne Events mit vollem Parameter-Detail; Beaconry hat einen Per-Kanal-Debug-Modus-Toggle, der debug_mode: true dem Payload hinzufügt, was Events nach DebugView statt in die Standard-Reports leitet. Nützlich beim Staging, vor dem Launch entfernen.
Wo das Geld spart
Adblock-Recovery ist der Headline-Vorteil, aber GA4 hat einen zweiten Kostenvektor: den BigQuery-Export. Wenn du via WooCommerce verkaufst und saubere Conversion-Daten in BigQuery für nachgelagertes Attributions-Modeling willst, müssen die Daten zuerst überhaupt in GA4 ankommen. Server-Side-Dispatch schließt diese Lücke. Die 25-30 % Conversions, die gtag verpasst hat, sind jetzt in BigQuery, nicht nur in deinem Kopf.
Was Beaconry NICHT ersetzt
- Custom Dimensions und Metrics: das ist GA4-seitige Konfiguration; Beaconry sendet Event-Parameter, GA4 mapped sie laut deiner Konfig auf Dimensionen.
- Audience-Definitionen: definier Audiences in GA4, Beaconry füttert nur Events.
- Funnel- und Exploration-Reports: GA4 baut diese aus dem Event-Stream, den Beaconry liefert.
Fazit
Für GA4 ist die Antwort eindeutig: auf Measurement Protocol via Beaconry umstellen, gtag aus lassen, 25-30 % Conversion-Volumen in deinen Reports zurückgewinnen. Setup ist 90 Sekunden, der API-Vertrag ist aus GA4-Sicht unverändert, und du hörst auf, den gtag-Bytecode an deine Besucher auszuliefern.