Zum Hauptinhalt springen
Die Verwaltung sich gegenseitig ausschließender Experimente ist eine häufige Anforderung, wenn mehrere Experimente parallel laufen. Aber was passiert, wenn einige dieser Experimente clientseitig (über Kameleoon Web Experimentation) und andere serverseitig (über Kameleoon Feature Experimentation) ausgelöst werden? Dies ist ein fortgeschrittenerer Anwendungsfall, der jedoch von Kameleoon bei richtiger Einrichtung unterstützt wird. In diesem Artikel führen wir Sie durch die Konfiguration eines sich gegenseitig ausschließenden Setups, das beide Technologien umfasst.

Das Szenario

Angenommen, Sie möchten drei sich gegenseitig ausschließende Experimente ausführen:
  • Zwei Experimente werden clientseitig mit Kameleoon Web Experimentation (JavaScript-basiert) ausgelöst.
  • Ein Experiment wird serverseitig mit Kameleoon Feature Experimentation (z. B. über ein Backend-SDK) ausgelöst.
Die Herausforderung besteht darin, sicherzustellen, dass Besucher nur einem dieser Experimente ausgesetzt werden – auch wenn sie über unterschiedliche Technologien und in verschiedenen Phasen der User Journey aktiviert werden.

Diesen Anwendungsfall handhaben

Um die gegenseitige Ausschließlichkeit über Client-Side- und Server-Side-Experimente hinweg sicherzustellen, befolgen Sie diese Schritte:

1. Beginnen Sie mit dem Feature-Experiment

Da das Feature-Experiment serverseitig ausgelöst wird und ein frühes Targeting (vor dem Laden der Seite) erfordert, ist es am besten, ihm zuerst Traffic zuzuweisen.
  • Erstellen Sie Ihr Feature Experiment.
  • Weisen Sie diesem Experiment 33 % des Gesamtverkehrs zu (oder einen anderen Prozentsatz, der zu Ihrem Testplan passt).
Die verbleibenden 67 % des Traffics stehen dann für die beiden Web-Experimente zur Verfügung.

2. Erstellen Sie eine sich gegenseitig ausschließende Gruppe für Web-Experimente

Erstellen Sie als Nächstes eine Mutually Exclusive Group für die beiden Web-Experimente. 👉 Folgen Sie dieser Dokumentation: Verhindern Sie sich überschneidende Kampagnen mit Mutually Exclusive Groups. Das Verhindern von Überschneidungen stellt sicher, dass Besucher nur eines der beiden Web-Experimente sehen können – niemals beide.

3. Fügen Sie Targeting-Bedingungen hinzu, um Teilnehmer am Feature-Experiment auszuschließen

Um sicherzustellen, dass Benutzer, die in das Feature-Experiment gebucketed wurden, in keines der Web-Experimente eintreten, wenden Sie auf beide Web-Experimente die folgende Targeting-Bedingung an:
  • Targeting-Bedingung: Campaigns → Feature Flag → Besucher ausschließen, die einer beliebigen Variation Ihres „feature_experiment_name” ausgesetzt wurden.
Dieser Schritt garantiert, dass die gegenseitige Ausschließlichkeit über beide Technologien hinweg gewahrt bleibt.

4. Technische Überlegungen

Standardmäßig führt Kameleoon Web Experimentation bei jedem Seitenladevorgang einen Remote-Synchronisationsaufruf durch, um zu prüfen, ob der Benutzer einem Feature-Experiment ausgesetzt wurde. Über diesen Aufruf weiß Kameleoon, ob ein Benutzer in ein Web-Experiment einbezogen oder davon ausgeschlossen werden soll. Wenn die drei Experimente auf derselben Seite ausgeführt werden, kann diese Einrichtung knifflig sein, da die Web-Engine auf den serverseitigen Expositionsstatus warten muss, bevor sie entscheidet, ob der Benutzer in ein Web-Experiment aufgenommen wird, was zu Flickering oder verzögertem Inhalt führen kann.
Wenn das Feature Experiment und die Web Experiments zu unterschiedlichen Zeitpunkten in der Customer Journey ausgelöst werden (z. B. auf verschiedenen Seiten), müssen Sie auch im Feature Experiment eine Ausschluss-Targeting-Bedingung hinzufügen, um Besucher auszuschließen, die bereits einem der Web Experiments ausgesetzt wurden.
Empfohlene Lösung
Um Flickering zu eliminieren und Echtzeit-Entscheidungen zu gewährleisten, geben Sie den Feature-Experiment-Status des Benutzers direkt im Frontend aus, ohne auf einen Remote-Aufruf zu warten.
  • Verwenden Sie die SDK-Methode: getEngineTrackingCode().
  • Fügen Sie die Ausgabe in das HTML der Seite ein, idealerweise im <head>-Abschnitt.
Auf diese Weise weiß Kameleoon sofort, ob der Benutzer bereits dem Feature-Experiment ausgesetzt war, was ein schnelleres und nahtloseres Targeting ermöglicht.

Zusammenfassung

Sich gegenseitig ausschließendes Testen über Client-Side- und Server-Side-Experimente hinweg ist komplex – wird aber vollständig unterstützt von Kameleoon, wenn es korrekt implementiert wird. Hier eine kurze Zusammenfassung:
  • Beginnen Sie mit dem Feature-Experiment und weisen Sie zuerst seinen Traffic-Anteil zu.
  • Verwenden Sie sich gegenseitig ausschließende Gruppen, um die Überschneidung zwischen Web-Experimenten zu verwalten.
  • Schließen Sie Feature-Experiment-Teilnehmer mithilfe von Kampagnenbedingungen vom Targeting der Web-Experimente aus.
  • Verwenden Sie die Tracking-Code-Methode, um Verzögerungen und Flickering zu eliminieren, wenn Experimente sich auf derselben Seite überschneiden.
Mit diesem Ansatz gewährleisten Sie eine saubere und verlässliche Testerfahrung und wahren gleichzeitig die Integrität Ihrer Daten.