Digital Analytics/27. November 2023 -Aktualisiert am 18. März 2025/4 Min. Lesezeit

Custom predictive Audiences mit GA4 und BigQuery und Machine Learning

Custom predictive audiences in GA4

"Custom predictive audiences in GA4"

In vorherigen Artikeln haben wir uns bereits intensiv mit GA4 Audiences und Predictive Audiences beschäftigt. Dabei wurde deutlich, dass Google standardmäßig nur eine begrenzte Anzahl von predictive Audiences anbietet. Doch was, wenn Prognosen über einen Kauf nicht nur sieben Tage im Voraus, sondern zehn Tage im Voraus getroffen werden sollen? Oder wenn Vorhersagen basierend auf benutzerdefinierten Events gefordert sind, die von Google nicht standardmäßig angeboten werden?

Die Antwort auf diese Fragen liegt in der Erstellung von Custom Predictive Audiences!

In diesem Artikel wird Schritt für Schritt erläutert, wie diese benutzerdefinierten Audiences erstellt werden können. Dazu haben wir den Prozess in mehrere Schritte unterteilt:

Schritt 1: Exportieren der GA4-Daten nach Google BigQuery

Der erste Schritt auf dem Weg zur Erstellung von Custom Predictive Audiences ist der Export der GA4-Daten nach Google BigQuery. Glücklicherweise stellt Google bereits vorgefertigte Prozesse über das Google Analytics-Interface zur Verfügung, um diesen Schritt zu erleichtern. Über “Admin > Product Links > BigQuery Links” können die Daten in ein Google Cloud Projekt exportiert werden.

Schritt 2: Analyse der Daten

Sobald die Daten in BigQuery vorliegen, muss entschieden werden, welches Event vorhergesagt werden soll und für welchen Zeitraum. Dies erfordert sorgfältige Überlegung, insbesondere in Bezug auf die Menge der verfügbaren Trainingsdaten, um genaue Vorhersagen zu ermöglichen. In diesem Schritt sollte auch überlegt werden auf Basis welcher Feature das Modell lernen soll und wie stabil diese auch zukünftig noch laufen.

Schritt 3: Training und Deployment des Models

In diesem Schritt sollten mehrere Modelle und Konfigurationen trainiert und vertestet werden. Das beste Modell wird dann in den Live-Betrieb übernommen. Als sehr rudimentäres Beispiel kann man sich z.B. fragen welche User basierend auf ihren bisherigen Events ein `purchase`-Event generieren würden. Hierbei lassen wir aus Einfachheit alle Betrachtungen der Zeit außen vor (also ob der User dieses Event in den nächsten 3 oder 12 Tagen generiert). Hierbei fällt schon auf, dass viele Events inhaltlich zusammenhängen: `add_payment_info` passiert in unseren Daten nur, wenn auch ein `purchase` erfolgt ist. Auch gibt es in diesem Fall eine starke Inbalance in der Klassenverteilung, da die überwiegende Mehrheit der User einer Seite keinen Kauf durchführt.

Verteilung der Eventtypen nach ihrem Vorkommen

"Verteilung der Eventtypen nach ihrem Vorkommen"

Hat man basierend auf diesen Erkenntnissen und mit ausreichenden Beispielen ein Trainings- und Testdatensatz erstellt, können verschiedene Modelle darauf trainiert und ausgewertet werden. Dabei besteht die Möglichkeit, die selbst generierten Modelle in Cloud Functions zu deployen oder auf Google Cloud Services wie BigQuery ML zurückzugreifen, um ein Modell direkt in BigQuery zu erstellen und anzuwenden.

Schritt 4: Anlegen einer neuen Audience in GA4

Auf Seiten von Google Analytics muss nicht viel geschehen. Es bedarf lediglich einer Audience die basiert auf dem Eventnamen, der für die User geschickt wird, wenn sie in die prädezierte Gruppe hineinfallen. Um ein Event für einen User zu schicken kann die Google Analytics API genutzt werden:

1import fetch from 'node-fetch';
2
3
4const measurement_id = `G-MEASUREMENT-ID`;
5const api_secret = `GA-API-SECRET`;
6const base_url = `https://www.google-analytics.com/mp/collect`
7
8fetch(`${base_url}?measurement_id=${measurement_id}&api_secret=${api_secret}`,
9 {
10  method: 'POST',
11  body: JSON.stringify({
12  	client_id: 'USER-ID-FROM-DATA',
13  	events: [
14              {
15              	name: 'customAudienceEvent',
16              	params: {},
17  	          },
18  	        ],
19        }),
20  }
21)
22.then((data) => {
23  console.log('Sent successfully');
24})
25.catch((error) => {
26  console.error('Got error: ', error);
27});
javascript

In diesem Fall würden wir eine Audience anlegen, die auf das Event “customAudienceEvent” bei einem User prüft. Die `client_id` entspricht der user_id aus den GA4 exportierten Daten.

Schritt 5: Anwendung des Modells im Live Betrieb

Sobald das Modell bereit ist, kann es auf die Daten angewendet werden. Die neu eintreffenden  Events werden nach BigQuery gestreamed und dort von dem Modell verarbeitet. Anschließend kann ein neues Event an Google Analytics gesendet werden für die passende ClientId. Auf der Grundlage dieses Events füllt sich nun die angelegte Audience.

Mit diesen groben Schritten können maßgeschneiderte Predictive Audiences in GA4 erstellt werden, die weit über das hinausgehen, was standardmäßig im GA-Interface angeboten wird. So können tiefergehende Einblicke in das Nutzerverhalten gewonnen und fundierte Prognosen erstellt werden. Ein einmal deploytes Modell bedarf darüber hinaus natürlich noch weiterer Überwachung und Auswertung. Das oben beschriebene Verfahren ist jedoch auch skalierbar für eine beliebige Anzahl von custom Audiences - hier sollte nur darauf geachtet werden, dass die neu generierten Events aus den Trainingsets der Modelle herausgenommen werden um eine Vermischung der Daten zu vermeiden.