Analytics Conversion Funnel - Ajax & Google Tag Manager 

Tutorial: Universal Analytics Funnel bei Ajax Webseiten über Google Tag Manager einrichten

Analytics Conversion Funnel

Aus Sicht eines Users und Webentwicklers bringt der Einsatz von Ajax viele Vorteile. Die Tatsache, dass nicht mehr eine komplette Seite, sondern nur die benötigten Daten zwischen Server und User Agent ausgetauscht werden müssen bringt zusätzlich einen erheblichen Geschwindigkeitszuwachs und weniger Trafficverbauch für den Webseitenbetreiber.

Ajax und Webtracking

Der Einsatz von Ajax kann die Webanalyse erschweren

Für Werbetreibende stellt der Einsatz von Ajax allerdings oftmals ein großes Problem für die Webanalyse dar. Konnte man früher für physische Seiten einfach ein z.B. Ziel und die Conversion-Funnelschritte in Google Analytics definieren, ist dies heute nicht mehr ohne weiteres möglich. Bei einem Ajax Checkout Prozess ändert sich die URL oftmals nicht und beispielsweise der ges. Bezahlprozess läuft auf der Seite z.B. /bestellen ab, ohne das man eine bestimmte Zielseite oder einen Zwischenschritt einfach so gezielt tracken könnte. Im folgenden Beitrag beschreiben wir, wie man mit Hilfe von Google Tag Manager und virtuellen PageViews trotz Ajax den Analytics Conversion Funnel visualisieren kann.

Virtuelle URLs und DataLayers

Die Lösung: Implementierung von virtuellen URLs und Datenschichtvariablen

In diesem Beispiel implementieren wir einen Conversion Funnel über 5 Schritte. Am besten überlegen Sie sich vor dem Start, welche „Virtuellen URLs“ (virtualPageURL) genutzt werden sollen (wie viele Schritte Sie tracken möchten) und wie diese Seiten heißen sollen (virtualPageTitle). Diese Informationen werden dann mit Hilfe einer Datenschichtvariablen (DataLayer) zu einem bestimmten Event / Ereignis an den Google Tag Manager übergeben (dazu gleich mehr).

Einen virtualPageTitle müssen Sie nicht zwingend nutzen. Dies ist aber ratsam, da URL und Title als primäre Dimensionen in Analytics angezeigt werden!

Benennung der Funnelschritte

1

1. Warenkorb

virtualPageURL‘:’/step1-basket
virtualPageTitle‘ : ‚Checkout Step 1 – Basket

2

2. Adresseingabe

virtualPageURL‘:’/step2-address
virtualPageTitle‘ : ‚Checkout Step 2 – Address

3

3. Bezahldaten

virtualPageURL‘:’/step3-payment
virtualPageTitle‘ : ‚Checkout Step 3 – Payment

4

4. Prüfung

virtualPageURL‘:’/step4-confirmation
virtualPageTitle‘ : ‚Checkout Step 4 – Confirmation

5

5. Bestätigungsseite

virtualPageURL‘:’/step5-thankyou
virtualPageTitle‘ : ‚Checkout Step 5 – Thank you

Implementierung auf der Webseite

DataLayer / Datenschichtvariable auf der Webseite einbinden

Für die Implementierung des DataLayers benötigen Sie zwingend Zugriff auf den Quelltext der Webseite. Zu Anfang ist es notwendig, vor dem ersten Schritt des Funnel Prozesses (in unserem Beispiel der Warenkorb), eine leere Datalayer zu deklarieren. Diese fungiert als Basis und wird zur Laufzeit mit Daten befüllt.

Zu jedem Schritt im Analytics Conversion Funnel Prozess muss die DataLayer nun mit den spezifischen Informationen mit Hilfe eines dataLayer.push Befehls mit Daten befüllt werden, hier eine kurze Erklärung was das folgende JavaScript bedeutet.

  1. dataLayer.push – Mit dieser Anweisung werden Informationen in die Datenschichtvariable übergeben.
  2. event – Diese Variable stellt ein bestimmtes Ereignis dar, zu welchem eine Aktion ausgelöst werden soll. In unserem Beispiel haben wir das Event „Checkout“ genannt
  3. virtualPageURL – Siehe oben – Relative URL welche getracked werden soll
  4. virtualPageTitle – Siehe oben – Seitenname welcher getracked werden soll

JavaScripte, mit denen Sie zu jedem Schritt die Datenschichtvariable entsprechend befüllen müssen

DataLayers definieren

1

1. dataLayer.push Befehl für den Warenkorb

1
2
3
4
5
6
7
<script type="text/javascript">
dataLayer.push({
'event':'checkout',
'virtualPageURL':'/step1-basket',
'virtualPageTitle' : 'Checkout Step 1 – Basket'
});
</script>
2

2. dataLayer.push Befehl für die Adresseingabe

1
2
3
4
5
6
7
<script type="text/javascript">
dataLayer.push({
'event':'checkout',
'virtualPageURL':'/step2-address',
'virtualPageTitle' : 'Checkout Step 2 – Address'
});
</script>
3

3. dataLayer.push Befehl für die Bezahldaten

1
2
3
4
5
6
7
<script type="text/javascript">
dataLayer.push({
'event':'checkout',
'virtualPageURL':'/step3-payment',
'virtualPageTitle' : 'Checkout Step 3 – Payment'
});
</script>
4

4. dataLayer.push Befehl für die Bestätigung

1
2
3
4
5
6
7
<script type="text/javascript">
dataLayer.push({
'event':'checkout',
'virtualPageURL':'/step4-confirmation',
'virtualPageTitle' : 'Checkout Step 4 – Confirmation'
});
</script>
5

5. dataLayer.push Befehl für die „Dankeseite“

1
2
3
4
5
6
7
<script type="text/javascript">
dataLayer.push({
'event':'checkout',
'virtualPageURL':'/step5-thankyou',
'virtualPageTitle' : 'Checkout Step 5 – Thank you'
});
</script>

Benutzerdefinierte Variablen im GTM Backend erstellen

Erstellen Sie benutzerdefinierte Datenschichtvariablen um das Tracking vorzubereiten

Zunächst müssen die virtualPageURL und virtualPageTitle Variablen einmalig definiert werden, sodass der GTM in diesen Informationen speichern kann. Klicken Sie in der linken Seitennavigation auf „Variablen“ und klicken Sie dann den Button „Neu“ neben „Benutzerdefinierte Variablen“. Auf dem sich öffnenden Fenster klicken Sie “Variable konfigurieren”, wählen Sie “Datenschichtvariable” und konfigurieren Sie diese wie folgt.

GTM Datenschichtvariable

Benutzerdefinierte Datenschichtvariablen konfigurieren

Benennung und Einstellungen der benutzerdefinierten Datenschichtvariablen

Wählen Sie nun eine Bezeichnung für die Variable, in unserem Beispiel lautet diese “DLV – VirtualPageUrl” (DLV steht für “DataLayer Variable”).

Wichtig: Die Bezeichnung der Datenschichtvariablen ist nicht zu verwechseln mit dem Namen! Diese können identisch sein, müssen sie aber nicht.

In unserem Beispiel lautet der Name der Datenschichtvariablen “virtualPageUrl“, setzen Sie „Datenschichtversion” auf 1. Speichern Sie nun die Variable und wiederholen Sie den Vorgang für die Variable “virtualPageTitle“.

GTM Benutzerdefinierte Variable

Der "Virtual PageView Trigger"

Definition des "Auslösers" (Trigger) , wann ein Event gefeuert werden soll

Im nächsten Schritt muss der Trigger bzw. Auslöser definiert werden, wann Daten in die Datenschichtvariable übergeben werden sollen. Wie oben erwähnt, nutzen wir dafür das Event „checkout“. Gehen Sie dazu in das Google Tag Manager Backend und klicken Sie links auf „Trigger“ und dann auf „Neu“ und wählen Sie als Triggertyp “Benutzerdefiniertes Ereignis”.

Bennen Sie den Trigger nun z.B. „Checkout Step 1 – Basket“ wie in unserem Beispiel. Unter „Diesen Trigger auslösen bei“ fügen Sie nun bitte unseren Eventnamen „checkout“ ein. Unter Bedingungen setzen Sie „virtualPageUrl ist gleich /step1-basket“ und „virtualPageTitle ist gleich “Checkout Step 1 – Basket”, drücken Sie nun „Trigger Speichern“.

Dieser Trigger wird aktiv, wenn das Event „Checkout“ stattfindet UND wenn die virtualPageTitle UND virtualPageUrl Bedingungen erfüllt sind.

GTM Trigger

Virtual PageView Trigger - Beispiel für Schritt 2

Wiederholen Sie den Schritt nun für alle 5 Funnel-Schritte

Jeder Schritt des Bezahlprozesses benötigt einen eigenen Trigger, wiederholen Sie also den Vorgang entsprechend. Eine einfache Möglichkeit bietet die „Kopieren“ Funktion, passen Sie nur noch den Titel sowie virtualPageUrl und virtualPageTitle an. Der Eventauslöser „checkout“ ändert sich nicht.

Sobald alle Ereignisse für die fünf Schritte angelegt sind stellen Sie sicher, dass die oben definierten Datenschichtvariablen von der Ajax Applikation bei den jeweiligen Schritten ausgegeben werden. Wenn diese nicht vorliegen, kann das Tracking nicht funktionieren da a) das Event “Checkout” nicht stattfindet (welches wir benötigen um die jeweiligen Events zu feuern) und b) auch ViurtualPageUrl und VirtualPageTitle nicht vorhanden sind (diese werden für die einzelnen Funnelschritte benötigt).

GTM Trigger Checkout

Google Analytics Funnel-Event-Tags

UA Events zur Funnelvisualisierung anlegen

Zu jedem Schritt im Checkoutprozess muss nun ein passendes Analytics Event definiert und mit den jeweiligen Triggern “verbunden” werden. Klicken Sie also im GTM Backend auf „Tags“ und dann „Neu“ und wählen Sie den vordefinierten Universal Analytics Tag. Fügen Sie Ihre Tracking-ID hinzu und wählen Sie „Track Type“ PageView.

Wichtig: Setzen Sie das Häckchen bei “Einstellungen zum Überschreiben in diesem Tag aktivieren” „Weitere Einstellungen“ und wählen Sie „Festzulegende Felder“. Hier müssen zwingend die vordefinierten Standard Variablen „page“ für „virtualPageView“ und „title“ für „virtualPageTitle“ genutzt werden.

Klicken Sie zum Schluss „Trigger” “Trigger auswählen” und wählen Sie den zuvor definierten Trigger für /step1-basket. Wie auch bei den Triggern, müssen Sie diesen Vorgang für alle Schritte im Checkoutprozess wiederholen.

GTM Funnel Tracking 1

Debugging in Google Tag Mananger

Prüfen Sie die Implementierung mit dem "Google Tag Assistant"

Das GTM Debugging Tool “Google Tag Assistant” ist eine komfortable Funktion, um etwaige Fehlerquellen schnell zu finden und sich über den aktuellen Inhalt der Datenschichtvariablen zu informieren. Anstatt den Container direkt zu veröffentlichen, können Sie mit Hilfe der Preview Funktion den Container testweise veröffentlichen und die Implementation prüfen. Klicken Sie hierfür rechts oben auf „In Vorschau ansehen“.

Wenn Sie nun ein Produkt in den Warenkorb legen und sich diesen anzeigen lassen, sollte „Analytics – Goal Funnel Tracking Step 1“ unter “Tags fired” sichtbar sein.

Solle dies nicht der Fall sein, können Sie mit einem Klick auf den Reiter „DataLayer“ feststellen, ob die Informationen korrekt vorhanden sind, um das Tag zu feuern.

GTM Tag Assistant

Analytics Conversion Funnel Schritte definieren

Abschließend müssen nur noch die einzelnen Funnelschritte zu Analytics hinzugefügt werden

Im letzten Schritt definieren wir nun den Analytics Conversion-Funnel für ein Ziel (z.B. Verkauf) zu definieren. Klicken Sie in Analytics links unten auf das Zahnrad “Verwaltung”, danach ganz rechts bei “Alle Websitedaten” auf “Zielvorhaben”. Hier können Sie nun das neue Zielvorhaben nebst Funnel erstellen. Als Zielerreichung muss, wie im Screenshot zu sehen, als Ziel-URL die “Dankesseite” “/step5-thankyou” eingetragen werden. Legen Sie danach den “Trichter” Schalter um und tragen Sie die einzelnen Funnelschritte wie im Screenshot zu sehen ein. Den Trichter finden Sie, wenn Sie in Analytics unter “Conversions” / “Zielvorhaben” / “Trichtervisualisierung” klicken.

GTM Funnel Tracking 2

Funnel Visualisierung in Analytics

Mit "Echtzeitdaten" schnell und einfach prüfen, ob die Daten korrekt einlaufen

Wenn Sie sich nun die Echtzeitanalyse anschauen, sollten die einzelnen Schritte dort unter “Echtzeit” und “Ereignisse” sichtbar sein. Um das korrekte Einlaufen der Daten zu prüfen klicken Sie sich durch den Bestellprozess und beobachten unter der Echtzeitansicht bei jedem Schritt die Anzeige der einzelnen Schritte.

GTM Real Time

Haben Sie Fragen zu Google Tag Manager und Ajax Seiten?

Bei Fragen, Problemen und Bedarf an einer Google Tag Manager / Google Analytics Implementierung für Ajax Seiten bzw. einer Schulung kontaktieren Sie uns gerne!

Ihr Ansprechpartner:
Ralph Grundmann
Jetzt Kontakt aufnehmen!
4,9