matelso Custom Push für Google Analytics 4
Integrationen
Google Analytics
In diesem Artikel wird erklärt wie ein Custom Push Daten in Google Analytics 4 übertragen kann
Als Grundlage dieser Integration wird das
Measurement Protocol
von Google Analytics 4 verwendet.
Wichtige Informationen vorab:
- Google hat das neue "Google Analytics 4" eingeführt. Mit der Version 4 sind einige Neuerungen zu beachten. Unter anderem wird es in der neuen Version keine UA-ID mehr geben, sondern Datenstreams und Mess-IDs.
Die neue Version 4 wird mittlerweile auch als Standard Integration in unseren matelso Systemen unterstützt. Bei einem Custom Push erhalten Sie allerdings mehr Konfigurationsmöglichkeiten. Die Preise dazu sind im Vertrag und in der Seitenleiste unter Integrations 2.0 ersichtlich. - Dieser Artikel versteht sich als Hilfestellung. Daher können die Inhalte dieses Artikels nicht über den Standard Support abgedeckt werden und jegliche Unterstützung der matelso zu diesem Thema wird als Consulting Leistung berechnet. Dazu gerne service@matelso.com kontaktieren.
- Die Schnittstelle des Measurement Protocol von Google Analytics 4 ist noch in einem Preview Modus (Alpha). Das bedeutet, dass es große Änderungen an dieser Schnittstelle geben kann, die auch zur Inkompatibilität vorhandener Integrationen führen können. Das trifft auch auf den Inhalt dieses Artikels zu.
1. matelso GA4 Snippet verbauen
Da das matelso S&R Script aktuell keine native Unterstützung für GA4 hat müssen wir die ClientId über ein eigenes Script in den matelso DataLayer übertragen:
<script>
(function(){
var ga4PropertyId = 'G-';
function getGa4() {
if(mtls.loaded) {
gtag('get', ga4PropertyId, 'client_id', function (clientID) {
window[window.CallTrackingObject]("addCustomTrackingValues", { ga4ClientId: clientID });
});
} else {
setTimeout(getGa4, 150);
}
}
getGa4();
})();
</script>
Dieses Script einfach nach dem matelso Script auf der Seite ausspielen. Wenn das Script über einen Tag-Manager ausgespielt wird, dann dieses Script auf den gleichen Seiten ausspielen.
In diesem Script muss die Variable ga4PropertyId auf die Measurement Id der GA4 Eigenschaft gesetzt werden.
Nachdem diese Variable korrekt gesetzt und das Script auf der Seite verbaut ist, kann es die GA4 ClientId in den matelso DataLayer pushen und wir haben in Integrations 2.0 Zugriff darauf.
2. GA4 API Secret erzeugen
In diesem Schritt erzeugen wir uns ein Secret (Passwort) für die Measurement API. Dieses Secret brauchen wir um den Custom Push anzulegen.
3. Custom Push anlegen
In diesem Schritt richten wir einen Custom Push ein, der die Anrufdaten über das Measurement Protocol in GA4 überträgt.
Im Beispiel richten wir einen Custom Push ein mit dem Namen "GA4 Custom Push" der als POST-Call gesendet wird. Wir richten keinen Filter ein, da wir jeden Anruf übertragen möchten.
Als Nächstes richten wir ein welche Daten übertragen werden sollen. Hierzu wählen wir "POST" als HTTP-Methode aus und fügen 2 GET-Parameter ein:
Jetzt tragen wir erneut die Measurement Id ein (siehe 1.) und unser API Secret das wir in 2. erzeugt haben.
Jetzt füllen wir den POST-Body mit dem folgenden Inhalt:
{
"client_id": "{{webData.custom.ga4ClientId.attribution(LASTNOTEMPTY).fallBackDynamic(newGuid)}}",
"events": [{
"name": "InboundCall",
"params": {
"action": "{{callData.status}}",
"label": "{{callData.aNumber.city}}",
"value": "{{callData.callDuration.timeSpanFormatter(TotalSeconds)}}"
}
}]
}
Hier wird die Client Id im Parameter "client_id" übertragen. Der genutzte DDD Key holt den Parameter "ga4ClientId" aus dem matelso DataLayer und setzt als Fallback einen neu erzeugten GUID (UUID4).
Die übrigen Parameter "action", "label" und "value" werden auf die folgenden DDD Keys gesetzt (identisch zur Standard Universal Analytics Push Konfiguration):
Als Ziel des Pushes wird Google Analytics adressiert:
Wir wählen das HTTPS Protokoll.
Host: www.google-analytics.com
Den Port belassen wir auf 443.
Pfad: /mp/collect
Die restlichen Defaultwerte werden auch belassen. Wir authentifizieren uns ja via API-Secret und nicht via https.
Als letztes verknüpfen wir unseren Custom Push mit den Pools. Die Daten laufen nun in Google Analytics 4 ein.
Fehlermeldung "ReferenceError: gtag is not defined"
Sollte diese Fehlermeldung in der Browser-Konsole erscheinen, fügen wir im unter 1. gezeigten Script folgendes nach dem öffnenden Script-Tag ("<script>") ein:
function gtag(){dataLayer.push(arguments);}