matelso Custom Push für Google Analytics 4

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 INFORMATION VORAB:

1)

Google hat im Oktober 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 aktuell noch nicht als Standard Integration in unseren matelso Systemen unterstützt. Es wird ein Custom Push benötigt. Die Preise dazu sind im Vertrag und in der Seitenleiste unter Integrations 2.0 ersichtlich.

2)

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.

3)

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(){
const ga4PropertyId = 'G-';
function getGa4() {
if(mtls.loaded) {
gtag('get', ga4PropertyId, 'client_id', (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 richte ich 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": "",
"events": [{
"name": "InboundCall",
"params": {
"action": "",
"label": "",
"value": ""
}
}]
}

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 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);}