Aktivierungsereignisse

Einen Test mit einem benutzerdefinierten Ereignis aktivieren

Bei dynamischen Seiten und einseitigen Web-Apps werden üblicherweise weitere Daten abgerufen, nachdem der ursprüngliche Ladevorgang der Seite abgeschlossen wurde. In Optimize wird dies über die Funktion "Aktivierungsereignisse" unterstützt.

Themen in diesem Artikel:

Funktionsweise

Mithilfe von Aktivierungsereignissen können Optimize-Tests für dynamische Seiten sowie für dynamische Unterbereiche von einseitigen Web-Apps durchgeführt werden. Optimize unterstützt die Spätstadiumaktivierung sowie die Deaktivierung und erneute Aktivierung einer Änderungsliste.

In Optimize lassen sich mit Aktivierungsereignissen Tests auf Ereignisse ausrichten, die im Push-Verfahren an die Datenschicht (dataLayer) Ihrer Website gesendet wurden. Sie können einen Ereignisnamen zusammen mit zusätzlichen Optimize-Ausrichtungsregeln für die gesamte Website verwenden, um bestimmte Aktionen als Ziel festzulegen.

Test für ein benutzerdefiniertes Ereignis aktivieren

In Optimize können Sie ständig neue Tests erstellen, indem Sie eine Kombination aus Ereignissen und zusätzlichen Ausrichtungsregeln einsetzen, ohne den clientseitigen Code Ihrer Website immer wieder ändern zu müssen.

Der Tab "Ausrichtung" einer Optimize-Seite "Testdetails"

Auf der Seite mit den Details eines Tests haben Sie auf dem Ausrichtungs-Tab die Möglichkeit, einen Test für ein benutzerdefiniertes Ereignis zu aktivieren.

In diesem Fall wird der Test erst ausgeführt, wenn ein dataLayer-Ereignis mit dem angegebenen Namen ausgelöst wird. Sie können ein solches Ereignis auslösen, sobald die Seite den richtigen Status aufweist, indem Sie den folgenden JavaScript-Code auf der Seite einfügen:

dataLayer.push({'event': 'optimize.activate'});

Nachdem das Zielereignis ausgelöst wurde, werden die restlichen Ausrichtungsbedingungen ausgewertet (sofern vorhanden). Nur wenn alle Bedingungen erfüllt sind, wird der Test aktiviert, das heißt, die Änderungsliste wird angewendet.

Beispiel

Es sind mehrere AJAX-Aufrufe vorhanden, die eine Antwort zurückgeben müssen, bevor die Seite für den Test bereit ist. In diesem Fall können Sie nach jedem AJAX-Aufruf ein Ereignis auslösen und mithilfe einer zusätzlichen JavaScript-Ausrichtungsregel einen bestimmten Variablenwert überprüfen. Der Test wird erst ausgelöst, wenn die zusätzliche JavaScript-Ausrichtungsregel erfüllt ist und ein AJAX-Aufruf eine Antwort zurückgegeben hat.

Änderungsliste wieder aktivieren

Sie können einen Test so einrichten, dass alle Ausrichtungsbedingungen erfüllt sind und das Zielereignis mehrmals ausgelöst wird.

Wenn Sie das Zielereignis mehrmals auslösen und alle anderen Ausrichtungsbedingungen erfüllt sind, wird die Änderungsliste wieder aktiviert. In diesem Fall überprüft Optimize, ob zusätzliche Elemente auf der Seite geladen wurden, die gemäß Änderungsliste des Tests modifiziert werden sollten. Die neu geladenen Elemente werden in Optimize entsprechend aktualisiert. An bereits vorhandenen Elementen werden keine Änderungen vorgenommen.

Beispiel

Eine Seite enthält einen dynamischen Einkaufswagen, den der Nutzer durch Klicken mit Produkten füllen kann. Sie erstellen einen Test, bei dem Folgendes geschieht:

  • Nach jedem Produkt im Einkaufswagen wird ein Bild eingefügt.
  • Im oberen Bereich wird ein allgemeines Angebot angezeigt, sobald der Nutzer mindestens ein Produkt in den Einkaufswagen gelegt hat.

Das Aktivierungsereignis auf der Seite (z. B. shoppingCartChanged) wird jedes Mal ausgelöst, wenn ein Nutzer ein Produkt in den Einkaufswagen legt oder daraus entfernt. Der Test kann sowohl die Seitenbedingung als auch die angewendeten Änderungen umfassen.

Im obigen Beispiel wäre die Frage "Enthält der Einkaufswagen Produkte?" in der Ausrichtungsbedingung enthalten.

Wenn der Nutzer zum ersten Mal ein Produkt in den Einkaufswagen legt, wird die Änderungsliste aktiviert. In Optimize werden dann folgende Schritte durchgeführt:

  • Nach dem einzelnen Produkt im Einkaufswagen wird ein Bild eingefügt.
  • Oben auf der Seite wird das allgemeine Angebot hinzugefügt.

Wenn der Nutzer ein zweites Produkt in den Einkaufswagen legt, wird die Änderungsliste wieder aktiviert und folgender Schritt wird durchgeführt:

  • Nach dem zweiten Produkt im Einkaufswagen wird ein Bild eingefügt.

Wenn der Nutzer ein zweites Produkt in den Einkaufswagen legt, fügt Optimize kein zusätzliches allgemeines Angebot auf der Seite hinzu. Außerdem wird nach dem ersten Bild kein weiteres Bild eingefügt. Das einzige Element mit Änderungen ist das neu hinzugefügte Produkt, das beim ersten Anwenden der Änderungsliste des Tests nicht vorhanden war.

Änderungsliste deaktivieren

Mithilfe von Aktivierungsereignissen lassen sich die Änderungen, die mithilfe der Änderungsliste eines Tests vorgenommen wurden, rückgängig machen. Im obigen Beispiel mit dem Einkaufswagen können Sie festlegen, dass ein Angebotscode nur für Nutzer angezeigt wird, die die Ausrichtungsbedingung des Tests erfüllen. Für viele einseitige Web-Apps werden Komponenten in mehreren Bereichen der Website verwendet, während Änderungen durch Tests möglicherweise auf einen Bereich beschränkt werden müssen.

Wenn ein Ereignis nach dem Aktivieren eines Tests ausgelöst wird und die Ausrichtungsbedingungen nicht mehr erfüllt sind, werden die angewendeten Änderungen des Tests durch Optimize rückgängig gemacht. Dadurch wird die Seite wieder in den Zustand versetzt, in dem sie sich befand, bevor der Test aktiviert und die Änderungsliste angewendet wurde.

Im obigen Beispiel wird das allgemeine Angebot gelöscht, sobald das letzte Produkt aus dem Einkaufswagen entfernt wird.

JavaScript-Änderungen können nicht automatisch rückgängig gemacht werden.

Einseitige Web-Apps und virtuelle Seiten

Mithilfe von Ausrichtungskriterien lassen sich virtuelle Seiten für einseitige Web-Apps definieren. Welche Bedingung hierfür verwendet werden sollte, hängt vom zugrunde liegenden Framework ab. Für die meisten Entwickler von einseitigen Web-Apps sind jedoch URL-Fragmente die einfachste Option für ihre Websites.

Es gibt Fälle, in denen Webanwendungen einem URL-Fragment keine virtuelle Seite zuordnen. Beispielsweise werden auf einigen Websites Interstitial-Anzeigen für die Newsletter-Anmeldung eingesetzt, die sich hervorragend für A/B-Tests eignen. Für diese Interstitial-Anzeigen sowie für weitere ähnliche Elemente können Sie Tests durchführen, indem Sie dem Optimize-Test weitere Ausrichtungsbedingungen hinzufügen. Mithilfe der Ausrichtung auf JavaScript-Variablen lässt sich überprüfen, ob bestimmte Inhalte oder Elemente vorhanden sind.

Die Deaktivierung ist sehr nützlich für eine Single-page-Webanwendung, bei der mithilfe von CSS-Regeln Designänderungen an Komponenten durchgeführt werden, die auf mehreren Seiten eingesetzt werden. Wenn die App von einer virtuellen Seite zur nächsten wechselt, werden die <STYLE>-Tags der virtuellen Seite aus dem <HEAD>-Bereich entfernt.

Aktivierung in einer Single-page-Webanwendung auslösen

Für die erneute Aktivierung einer Änderungsliste muss kein weiterer Aufruf an den Optimize-Server gesendet werden. Daher lassen sich Aktivierungsereignisse einfach und effektiv einsetzen, indem man festlegt, dass nach jeder Änderung auf der Seite ein Ereignis ausgelöst wird.

Beispielsweise können Sie in einer AngularJS-App mit sieben Codezeilen Aktivierungsereignisse implementieren, indem Sie nach jeder digest-Schleife ein Ereignis auslösen.

Mit dem folgenden Beispielcode-Snippet wird nach jeder digest-Schleife in einer AngularJS-App ein Ereignis ausgelöst:

myapp.run(function($rootScope, $timeout) {
   $rootScope.$watch(function(){
     $timeout(function(){
       dataLayer.push({'event': 'optimize.activate'});
     },0,false);
   })
})
War das hilfreich?
Wie können wir die Seite verbessern?