Google Analytics 4 verfügt über viele Features mit Machine Learning Ansatz. Neben dem Conversion Modelling zählt auch Predictive Audience dazu. Mit Predictive Audiences werden Zielgruppenlisten erstellt, die User auf Basis der sogenannten predictive metrics enthalten. Zu den predictive metrics zählen die Wahrscheinlichkeit für einen Kauf (purchase probability), die Nicht-Nutzung der Webseite (churn-probability) sowie eine Umsatz Vorhersage. Predictive Audience werden, nach Erstellung, automatisch mit dem Google Ads Konto verknüpft, so das Remarketing- und Re-Engagement Kampagnen damit aufgesetzt werden. Allerdings können diese Daten auch in anderen Tools genutzt werden und somit die Machine Learning Fähigkeiten von Google Analytics 4 auch dort genutzt werden. Im Folgenden wird dies am Beispiel von der Customer Data Platform von Tealium, Tealium AudienceStream, demonstriert.
Hinweis: Das Vorgehen zum Transfer ist für alle Zielgruppen möglich.
Grundlagen Predictive Audiences
Predictive Audiences in Google basieren auf den predictiv metrics. Aktuell sind folgende der Metriken verfügbar:
- Purchase probability: Gibt an, mit welcher Wahrscheinlichkeit der User innerhalb des prediction window ein purchase bzw. ecommerce_purchase oder in_app_purchase Conversion Event auslöst. Dieser Wert wird für User berechnet, für die in den letzten 28 Tagen Daten in GA4 gesammelt wurden.
- Churn probability: Gibt an, mit welcher Wahrscheinlichkeit der User innerhalb des prediction window keine neue Besuche startet. Dieser Wert wird für User berechnet, für die in den letzten 7 Tagen Daten in GA4 gesammelt wurden.
- Revenue prediction: Eine Vorhersage für den Gesamtumsatz aller Conversions des Users innerhalb des prediction windows. Dieser Wert wird für User berechnet, für die in den letzten 28 Tagen Daten in GA4 gesammelt wurden.
Die Metriken werden von einem Machine Learning Model einmal pro Tag für jeden aktiven User generiert. Damit ein Modell auf Basis der in GA4 vorhandenen User-Daten erfolgt, müssen laut Google ein paar Voraussetzungen erfüllt sein:
- Es müssen genügend Daten für ein Modell vorliegen. Konkret wird angegeben, das mindestens 1.000 wiederkehrende User die Bedingung für die Predictive Audience erfüllt haben müssen, sowie 1.000 User dies nicht getan haben.
- Die Qualität des Modells muss über einen längeren Zeitraum den Qualitätskriterien, die Google festgelegt hat, entsprechen. Nur Zielgruppenlisten mit Modellen, die den Qualitätskriterien entsprechen, sind in Google Analytics 4 verfügbar. Erfüllte ein Modell die Kriterien aber erfüllt diese aktuell nicht mehr, wird die predictive nicht mehr aktualisiert und ist nicht mehr in Google Analytics 4 verfügbar, bis die Bedingungen wieder erfüllt sind.
- Um purchase probability und revenue prediction nutzen zu können, müssen natürlich die Käufe durch die Conversions-Events inklusive Revenue und Currency in Google Analytics 4 erfasst werden.
Predictive Audiences erstellen
Die Erstellung von Predictive Audiences erfolgt in Google Analytics 4 im Menü “Configure” > “Audiences”. Mit “New Audience” kann entweder ein Template importiert oder eine Zielgruppe ohne Vorlage aufgebaut werden. Als Template sind folgende Zielgruppen vorhanden:
Das Ready-to-use Symbol zeigt an, das die predictive metrics genutzt werden kann. Bei einem Klick auf eine Zielgruppe (hier “Likely seven-day purchasers” ) wird die jeweilige Konfiguration angezeigt:
Wenn kein Template verwendet wird, können die verfügbaren predictive metrics unter “Predictve” ausgewählt werden:
Bei einem Klick auf die Bedingung (hier “is above 90th percentile”) öffnet sich ein Fenster, indem die Konfiguration der Bedingung angepasst werden kann. Zudem wird ein Forecast basierend auf der Konfiguration angezeigt:
Bei der Auswahl werden nicht die User, mit einer Wahrscheinlichkeit für die Aktion über dem genannten Wert ausgewählt, sondern die User, die sich in der Verteilung der Wahrscheinlichkeiten über alle User in der entsprechenden Range befinden. Also in diesem Fall die die 10% der User mit der höchsten Wahrscheinlichkeit. Die durchschnittliche Wahrscheinlichkeit der User in der Range wird gesondert im grünen Feld ausgewiesen.
Diese Zielgruppenlisten unterscheiden sich nicht von Zielgruppenlisten, die auf anderen Metriken basieren. Es können weitere Bedingungen und auch Ausschlüsse hinzugefügt werden.
Nach dem Speichern kann es 24-48 Stunden dauern, bis sich die Zielgruppen füllen.
Die Zielgruppen können über die Google Analytics 4 <> Google Ads Integration geteilt werden. Sollen diese Zielgruppen nun in anderen Tools genutzt werden, die keine direkte Anbindung an Google Analytics 4 haben, kann dies über den BigQuery erfolgen. Als Ziel der Daten nutze ich im Folgenden die Customer Data Platform von Tealium, Tealium AudienceStream. Tealium AudienceStream verfügt zwar über eine Vorhersage-Funktionen, jedoch nicht in dem konfigurierbaren Umfang. Zudem ist eine Customer Data Platform zum Umgang mit PII geeignet, wodurch die vorhanden Informationen in der Customer Data Platform mit der Zielgruppeninformation angereicht werden kann. Auf Basis dieser angereicherten Informationen können in der Customer Data Platform wieder Zielgruppen gebaut und einfach mit vielen anderen Tools, wie CRM, Newsletter, Facebook Ads, Google Ads, u.v.m. geteilt werden.
Zielgruppen zu Tealium AudienceStream exportieren
Der Workflow für die Nutzung der GA4 Zielgruppen in Tealium AudienceStream ist recht einfach:
Auf der Webseite ist sowohl das Tealium Tag als auch das Google Analytics 4 Tag über den Google Tag Manager eingebunden. Das Tealium Tag sammelt Daten zu Seitenaufrufen, Events und Conversions, ebenso wie das Google Analytics 4 Tag. Die Online-Daten werden bei TealiumAudience durch den Identifier “tealium_visitor_id” im Cookie “utag_main_v_id” zu einer Session zusammengefügt.
Wird nicht das Tealium Collect Tag als Custom HTML, sondern über das Tealium Collect Template im GTM eingebaut, heißt das Cookie „TEAL“ und hat einen leicht anderen Aufbau. Die VisitorID ist unter v zu finden:
Dieser Identifier wird in Google Analytics 4 als Event-Parameter bei allen Events mitgesendet, indem das Cookie als Variable im GTM angelegt wird:
Per Javascript wird nun der Wert der VisitorID extrahiert:
Als Event Parameter wird TVID genutzt:
Da sich nun die Information in Google Analytics 4 und Tealium AudienceStream befindet, kann diese als Join Key genutzt werden.
Nun kann die Zielgruppe erstellt werden. Mit der predictive metric “purchase probablity” und der Bedingung “is above 95th percentile”. Die Laufzeit in der User in der Zielgruppe sind, setze ich auf die Angabe zum prediction window. Um nun die User zu identifizieren, die der Zielgruppe hinzugefügt wurden, kann die Funktion “Audience Trigger” genutzt werden. Diese erzeugt ein GA4 Event, wenn ein User der Zielgruppe hinzugefügt wird. Der Eventname wird in meinem Beispiel auf “PredAudList PPabove095” gesetzt. Zudem wird die Option ”Log an additional event when audience membership refreshes” genutzt. Dadurch wird ein Event erzeugt, wenn der User schon in der Zielgruppe ist, aber die Laufzeit auf 0 zurückgesetzt wird. Das durch die Funktion erzeugte Event wird dem User auf Basis der ClientID zugeordnet. Also zeigt das Event an, das der User die Bedingung der Zielgruppe gerade erfüllt hat.
Zudem erstelle ich eine zweite Liste nach dem gleichen Muster, die User enthält, die eine purchase probability die nicht in dieser Liste vorhanden sind. Das Event im Audience Trigger ist “PredAudList PPbelow095”
Um nun auf diese Information zuzugreifen, wird der BigQuery Export von GA4 genutzt. Die Events, die von Audience Triggern generiert werden, sind in den BQ Tables zu finden:
Mit einer Cloud Function (hier in Python), die per Cloud Scheduler ausgelöst wird, kann nun nach den Events gesucht und die Information nach Tealium AudienceStream gesendet werden. Die Events des Audience Triggers enthalten die ClientID. Um nun die Daten an Tealium AudienceStream zu senden, ist noch die tealium_visitor_id notwendig. Da diese als Event Parameter erhoben wird, kann mit einem einfachen SQL Statement diese über einen Join der ClientID extrahiert werden. Zudem werden die Daten per HTTP-API an Tealium gesendet:
from google.cloud import bigquery
import requests
def send_event(name,TVID):
res='https://collect.tealiumiq.com/event?tealium_account=<account>&tealium_profile=<profile>&tealium_datasource=<key>&tealium_event='+event_name+'tealium_visitor_id='+tid
r = requests.get(res)
def datatransfer(request):
client = bigquery.Client()
query = ('SELECT MAX (event_timestamp), event_name, TVID FROM (SELECT distinct user_pseudo_id, ep.value.string_value as TVID FROM `<Table>`, unnest(event_params) as ep where ep.key="TVID" ) as A JOIN (SELECT event_name, event_timestamp, user_pseudo_id FROM `<Table>` where event_name like "PredAudList%" ) as B ON A.user_pseudo_id=B.user_pseudo_id GROUP BY event_name, TVID order by event_timestamp asc')
query_job = client.query(query)
for row in query_job:
send_event(row.event_name,row.TVID)
return f'OK'
Je nach Frequenz der Ausführung muss das SQL Statement bzgl. der zu durchsuchenden Daten angepasst werden. Ist ein User in beiden Listen, wird durch event_timestamp die gegebene Reihenfolge bestimmt. Das Senden der Daten, in diesem Fall des Event Namens, erfolgt über einen GET Request unter Angabe des Keys, Accounts und Profiles.
Verarbeitung der Daten in Tealium AudienceStream
Um die Daten per HTTP-API an Tealium zu senden, muss diese als Datenquelle hinzugefügt werden:
Mit dem Hinzufügen als Datenquelle wird ein Key erzeugt, der im Request genutzt werden muss:
Werden Daten mit dem Key über die oben gezeigte Python Funktion gesendet, kommt das Event in Tealium Customer Data Hub an. Tealium Customer Data Hub empfängt, validiert und stellt die Events Tealium AudienceStream zur Verfügung.
Um ein valides Event zu erzeugen, muss dieses in Tealium Customer Data Hub definiert werden. Für dieses Beispiel muss das Event außer der tealium_visitor_id kein weiteres Event-Attribut enthalten. Die Zuordnung des Events zu einem User auf Basis der tealium_visitor_id erfolgt automatisch. Für die beiden Events wird dann eine Event Spezifikation erstellt.
Um nun User aus dem Zielgruppen in Google Analytics 4 entsprechend zu markieren und damit auch in anderen Tools zu nutzen, erfolgt die Vergabe eines Labels basierend auf den Events. In Tealium AudienceStream wird das Label “HighPurchaseProbability” dem User zugewiesen, wenn das Event “PredAudList PPabove095” auftritt. Bei “PredAudList PPbelow095” wird es entzogen:
Dabei können die Regeln anhand eines Event-Namens definiert werden:
Darauf basieren kann nun in Tealium AudienceStream eine Zielgruppe gebildet und mit anderen Tools geteilt werden.
1 thought on “GA4 Recipes: Machine Learning Features für Predictive Audiences in anderen Tools nutzen, am Beispiel von Tealium AudienceStream”