Dieses Dokument richtet sich an Entwickler, die Seitenaufrufe in ihrer einseitigen Web-App mit Google Analytics erfassen möchten.
Einseitige Web-Apps (Single-Page Applications, SPAs) sind Websites, bei denen ein HTML-Dokument einmal geladen wird. Alle zusätzlichen Inhalte werden über JavaScript APIs abgerufen.
Beispiel: Sie haben ein Formular, um Leads zu generieren. Das Formular besteht aus drei Bildschirmen:
- Erster Bildschirm zum Erfassen der Kundeninformationen
- Zweiter Bildschirm, auf dem Kunden ihr Interesse an bestimmten Diensten angeben
- Dritter Bildschirm, auf dem sich Kunden für Webinare zu ihren Interessen anmelden können
Um Seitenaufrufe von SPAs korrekt zu erfassen, müssen Sie die Seitenaufrufe für jeden Bildschirm zählen, mit dem ein Nutzer interagiert, und den Seiten Referrer richtig erfassen, damit Sie den Weg des Nutzers korrekt nachvollziehen können.
Hinweis
Auf dieser Seite wird davon ausgegangen, dass Sie bereits Folgendes haben:
Ein Google Analytics 4-Konto und eine Property für Ihre Website Informationen zum Einrichten von Google Analytics .
Ein Google-Tag, das auf Ihrer Website implementiert ist und ausgelöst wird, wenn die Seite zum ersten Mal geladen wird Informationen zum Einrichten des Google-Tags .
Erfassung für einseitige Web-Apps implementieren
Wenn Sie SPAs genau erfassen möchten, verwenden Sie eine der folgenden Methoden, um einen neuen virtuellen Seitenaufruf auszulösen:
Änderungen am Browserverlauf (empfohlen): Verwenden Sie diese Option, wenn Ihre SPA die History API verwendet, insbesondere die
pushState()undreplaceState()Methode, um Bildschirme zu aktualisieren.Benutzerdefinierte Ereignisse: Verwenden Sie diese Option, wenn Ihre Website das
DocumentFragment-Objekt verwendet, um verschiedene Bildschirme zu rendern.
Implementierung benutzerdefinierter Ereignisse
Wenn Sie page_view-Ereignisse selbst implementieren, muss die Website bei einem Bildschirmwechsel Folgendes tun:
page_referrerundpage_locationauf die richtigen Werte setzen, um eine korrekte Zuordnung zu ermöglichenEin neues
page_view-Ereignis senden
gtag.js
Speichern Sie die alte und die neue URL Ihrer einseitigen Web-App, damit Sie auf die Werte zugreifen können, wenn Sie das
page_view-Ereignis manuell senden.Erstellen Sie eine Funktion, die
page_referrerundpage_locationauf die entsprechenden Bildschirme Ihrer SPA aktualisiert.
Optional: Wenn Sie die zuvor festgelegten Werte aktualisieren möchten, ohne das Google-Tag neu zu initialisieren, geben Sie das Schlüssel-Wert-Paar'update': truean.Optional: Benutzerdefinierte Dimensionen: Wenn Sie benutzerdefinierte Dimensionen und Messwerte mit dem neuen virtuellen Seitenaufruf aktualisieren möchten, fügen Sie sie in den Befehl
configein. Weitere Informationen zu benutzerdefinierten Dimensionen und MesswertenSenden Sie ein
page_view-Ereignis, um die Bildschirmänderung als Seitenaufruf zu zählen. Beispiel:// Store current URL path and query in a variable. const oldUrl = window.location.href.split('#')[0]; // Change to new URL. history.pushState({}, undefined, newUrl); // Measure page change. function OnPageChange(oldUrl, newUrl) { gtag('config', 'G-XXXXXX', { 'send_page_view': false, 'page_referrer': oldUrl, 'page_location': newUrl, 'update': true, }); gtag('event', 'page_view'); }Lösen Sie die Funktion
OnPageChangeaus, wenn Sie einen neuen virtuellen Seitenaufruf auslösen möchten.
Tag Manager
Wenn Sie eine SPA mit Tag Manager erfassen möchten, benötigen Sie zwei Google-Tags mit derselben Tag-ID in Ihrem Container. Das erste Google-Tag wird geladen, wenn die Website geladen wird, und legt alle Parameter fest, die Sie für die Erfassung benötigen. Das zweite Google-Tag wird immer dann ausgelöst, wenn sich die URL Ihrer Website ändert. Schließlich müssen Sie manuell ein Seitenaufruf-Ereignis senden, um die neue virtuelle Seite zu erfassen.
1. Google Analytics-Datenstream für die Erfassung von SPAs vorbereiten
So erfassen Sie page_view-Ereignisse manuell:
Öffnen Sie Google Analytics.
Klicken Sie auf der Seite Verwaltung unter Datenerhebung und ‑änderung auf Datenstreams.
Wählen Sie unter Optimierte Analysen das Symbol für die Einstellungen
aus.
Deaktivieren Sie unter Seitenaufrufe > Erweiterte Einstellungen anzeigen die Option Seitenänderungen basierend auf Ereignissen im Browserverlauf. Sie erfassen die Änderungen am Browserverlauf manuell in Tag Manager.
Klicken Sie auf Speichern.
2. Google-Tag für virtuelle Seitenaufrufe in SPAs erstellen
Öffnen Sie Google Tag Manager.
Öffnen Sie in Ihrem Arbeitsbereich das Menü „Tags“.
Wählen Sie Neu aus, um ein Tag zu erstellen.
Wählen Sie unter Tag-Konfiguration die Option Google-Tag aus.
Geben Sie dieselbe Google-Tag-ID wie für Ihr erstes Google-Tag ein.
Geben Sie unter Konfigurationseinstellungen die folgenden Parameter an:
page_referrer: {{Referrer}}page_location: {{Page URL}}update:trueOptional: Geben Sie alle benutzerdefinierten Dimensionen und Messwerte an, die mit dem neuen virtuellen Seitenaufruf aktualisiert werden sollen.
Legen Sie unter Auslösen Folgendes fest:
- Erstellen Sie unter Trigger auswählen einen neuen Trigger (+).
- Wählen Sie unter Triggerkonfiguration den Trigger Änderung des Verlaufs aus. Weitere Informationen zum Trigger „Änderung des Verlaufs“. Achten Sie darauf, dass dieses Tag nur ausgelöst wird, wenn ein neuer Bildschirm angezeigt wird.
- Geben Sie dem Trigger einen Namen und wählen Sie Speichern aus.
Geben Sie dem Tag einen Namen und wählen Sie Speichern aus. Ihr Google-Tag sollte so aussehen:
3. Neues Seitenaufruf-Ereignis auslösen
Erstellen Sie in Ihrem Tag Manager-Arbeitsbereich ein Neues Tag.
Wählen Sie unter Tag-Konfiguration das Tag Google Analytics: GA4-Ereignis aus.
Geben Sie die Mess ID für das Tag ein. Diese ID entspricht der Google-Tag-ID, die Sie im vorherigen Tag verwendet haben.
Wenn Sie ein neues Seitenaufruf-Ereignis senden möchten, fügen Sie
page_viewals Ereignisname hinzu.Legen Sie unter Auslösen den Trigger „Änderung des Verlaufs“ fest. Das sollte derselbe Trigger wie für das von Ihnen eingerichtete Google-Tag sein.
Geben Sie dem Tag einen Namen und wählen Sie Speichern aus.
Google Tag Manager-Trigger für Ereignisse im Browserverlauf verwenden
Wenn Sie in Google Tag Manager andere Arten von Tags basierend auf Änderungen am Browserverlauf auslösen müssen, z. B. um Daten an andere Marketingplattformen zu senden, können Sie den Triggertyp „Änderung des Verlaufs“ verwenden.
Achten Sie beim Konfigurieren von Tags oder Variablen für die Verwendung mit dem Trigger „Änderung des Verlaufs“ darauf, dass Sie die richtigen integrierten Variablen verwenden, die von Google Tag Manager bereitgestellt werden:
History New URL Fragment: Das Fragment der URL nach dem Ereignis im Browserverlauf.History Old URL Fragment: Das Fragment der URL vor dem Ereignis im Browserverlauf.History New State: Das neue Verlaufsobjekt.History Old State: Das alte Verlaufsobjekt.History Source: Die Quelle des Ereignisses im Browserverlauf (z. B.popstate,pushState,replaceState).
Diese integrierten Variablen müssen möglicherweise zuerst in Google Tag Manager unter Variablen > Konfigurieren aktiviert werden.
Weitere Informationen zu diesem Trigger finden Sie unter Trigger „Änderung des Verlaufs“.
Erfassungseinrichtung überprüfen
So prüfen Sie, ob Ihre einseitige Web-App Seitenaufrufe korrekt erfasst:
Aktivieren Sie den Debug-Modus für jedes Tag in Ihrer Erfassungseinrichtung für einseitige Web-Apps. Informationen zum Beobachten von Ereignissen in der Debugging-Ansicht (DebugView)
Klicken Sie sich durch Ihre einseitige Web-App. Wenn Sie auf einen neuen virtuellen Bildschirm klicken, sollte in DebugView ein neues
page_view-Ereignis angezeigt werden. Vergleichen Sie diepage_view-Ereignisparameter mit dem vorherigenpage_view-Ereignis, um zu prüfen, ob der Seiten-Referrer und der Seitenstandort korrekt aktualisiert wurden.
Auswirkungen auf automatische Ereignisse
Wenn Sie die Erfassung virtueller Seitenaufrufe in Ihrer SPA korrekt implementieren, werden andere automatische Ereignisse in Google Analytics entsprechend verarbeitet. Wenn virtuelle Seitenaufrufe für Bildschirmänderungen nicht erfasst werden, behandelt Google Analytics die SPA als eine einzelne Seite, was zu verzerrten Messwerten führt.
Mit dem Ereignis user_engagement wird beispielsweise die Zeit erfasst, die ein Nutzer aktiv auf einer Seite verbringt. Ohne virtuelle Seitenaufrufe wird die gesamte Zeit auf der Seite dem ersten Laden der Seite zugeschrieben. So lässt sich nicht analysieren, wie viel Zeit auf einzelnen Bildschirmen verbracht wird.
Wenn die Erfassung virtueller Seitenaufrufe korrekt implementiert ist, gilt Folgendes:
- Das Ereignis
user_engagementwird gesendet, wenn der Nutzer von einer virtuellen Seite zu einer anderen wechselt. - Die Zeit auf der vorherigen virtuellen Seite wird berechnet und zusammen mit dem Ereignis
user_engagementgesendet, in der Regel kurz bevor das Ereignispage_viewfür die neue virtuelle Seite verarbeitet wird. - Andere Ereignisse wie Klicks oder Scrollen werden mit der
page_locationder virtuellen Seite verknüpft, die der Nutzer gerade ansieht.
So können Sie die Nutzerinteraktion und andere Messwerte für einzelne Bildschirme oder Bereiche in Ihrer SPA analysieren und so ein genaueres Bild des Wegs des Nutzers erhalten.