Wenn Sie GA4 verwenden, um Ihre Website oder App zu verfolgen, kann es sehr aufschlussreich sein, sich die Sitzungen und das Engagement anzusehen. Schauen wir uns ohne Verzögerung zunächst an, wie Sitzungen und Engagement in GA4 definiert sind und wie wir sie dann nach Bigquery extrahieren können.
Eine Sitzung wird ausgelöst, wenn eine der folgenden Bedingungen erfüllt ist:
Hinweis: Eine Sitzung dauert in der Regel 30 Minuten. Das heißt, wenn ein Benutzer auf Ihre Website geht und nach 31 Minuten zurückkommt, beginnt eine neue Sitzung.
Sessions können nützlich sein, um zu sehen, wie viele Nutzer kommen oder deine Plattform besuchen, aber es wäre interessanter zu sehen, wie viele von ihnen irgendeine Art von „Engagement“ haben. Dann schauen wir uns an, wie Engagement von Google definiert wird.
In GA4 gilt eine Sitzung als besetzt, wenn:
Hinweis: Wenn du der Meinung bist, dass 10 Sekunden zu kurz für eine aktive Sitzung sind, kannst du die Zeit in deinem GA-Konto manuell auf bis zu 60 Sekunden ändern.
Jetzt bleibt die Frage, wie die Daten für Sitzungen und engagierte Sitzungen extrahiert werden können. Wenn Sie sich die GA4-Rohdaten ansehen, gibt es keine direkte Antwort. Der Trick besteht also darin, ga_session_id und user_pseudo_id zu zählen, indem Sie die folgende Abfrage ausführen:
Kurze Erklärung, was hinter den Kulissen passiert: Zuerst habe ich eine Unterabfrage namens prep erstellt (wie in Vorbereitung). In der Prep-Unterabfrage habe ich parsed event date und user_pseudo_id ausgewählt.
Als Nächstes habe ich das event_params Array UNNEST und wähle nur die Werte aus, die den Schlüssel = 'ga_session_id' haben. Diese Werte werden mit 'int_value' gespeichert, was bedeutet, dass es sich um INT64-Datentypen handelt. Hier ist ga_session_id ein Zeitstempel, wenn ein Benutzer Ihre Plattform betritt. Wir können nicht einfach ga_session_id ZÄHLEN und sie als Anzahl von Sitzungen bezeichnen. Der Grund dafür ist, dass, wenn zwei Benutzer gleichzeitig deine Plattform betreten, beide dieselbe ga_session_id haben.
Dann lösche ich für session_id zuerst event_params und extrahiere Integer-Werte mit key = 'ga_session_id' und verkette dann user_pseudo_id und ga_session_id. Dadurch hätten auch mehrere Benutzer, die die Plattform gleichzeitig betreten, eine andere session_id.
In ähnlicher Weise habe ich für engaged_session und engagement_time_msec die event_params Spalte UNNEST und wähle dann nur die Schlüssel aus, die 'session_engaged' bzw. 'engagement_time_msec' sind. Beachten Sie auch, dass die Werte von session_engaged Zeichenketten sind, wohingegen es sich bei engagement_time_msec um eine Ganzzahl handelt und sie in Mikrosekunden gemessen werden.
Am Ende habe ich nach Event_Date gruppiert und dann die DISTINCT session_id für die Anzahl der Sitzungen GEZÄHLT, und wenn es eine Engagement-Sitzung gibt, habe ich erneut COUNT session_id und nehme die durchschnittliche engagierte Zeit in Mikrosekunden.
Mit einer solchen Abfrage kann man Informationen darüber erhalten, wie viele Sitzungen ausgelöst wurden und wie viele an diesen Sitzungen teilgenommen haben, und auch, wie lange sie durchschnittlich für das Engagement gedauert haben. Im nächsten Beitrag werde ich weitere Fragen zum Extrahieren von Daten aus RAW-GA4 aufschreiben.
Folge uns auf LinkedIn für Einblicke in unsere tägliche Arbeit und wichtige Updates zu BigQuery, Data Studio und Marketing Analytics.
Abonniere unseren YouTube-Kanal für Diskussionen zu DWH, BigQuery, Looker Studio und Google Tag Manager.
Wenn Sie BigQuery von Grund auf lernen möchten, erhalten Sie Zugriff auf unsere kostenloser BigQuery-Kurs
Verbessern Sie Ihre Fähigkeiten mit Google Data Studio und BigQuery, indem Sie sich für unser Udemy-Kurs.
Benötigen Sie Hilfe bei der Einrichtung eines modernen, kostengünstigen Data Warehouse oder eines analytischen Dashboards? Senden Sie uns eine E-Mail an hello@datadice.io um einen Anruf zu vereinbaren.