Skip to main content
Der Hybridmodus ermöglicht es Ihnen, die Kameleoon-Web-Engine und ein serverseitiges SDK zu kombinieren, sodass jede Aufgabe die am besten geeignete Integration verwendet.
  • Implementieren und stellen Sie Variationen einfacher auf der Serverseite bereit, während das Tracking zu Drittanbieter-Analysetools effektiver mit der Kameleoon-Engine über die Anwendungsdatei engine.js (früher kameleoon.js genannt) durchgeführt werden kann, da viele Drittanbieter-Webanalyselösungen nur im Frontend funktionieren.
  • Zielen Sie auf Benutzer ab, indem Sie clientseitig gesammelte Daten verwenden, wie z. B. Zielkonversionen oder benutzerdefinierte Daten basierend auf Variablen der Datenschicht, innerhalb von Segmenten.
  • Filtern und gliedern Sie Daten in Kameleoon-Berichten anhand von mehr als 25 Datenpunkten, die clientseitig von der Frontend-Anwendungs-Engine erfasst werden.
  • Schließen Sie Benutzer von einem Feature Flag aus, wenn sie einem Web-Experiment oder einer Personalisierung ausgesetzt waren.
Dieser Artikel beschreibt, wie die optimale Integration zwischen dem Kameleoon Web-SDK und der Kameleoon Frontend-Anwendungsdatei implementiert wird, sodass beide Seiten miteinander kommunizieren. Verwenden Sie das Kameleoon Asynchronous Tag ohne Anti-Flicker.
Bei Web Experimentation müssen Sie normalerweise das JavaScript-Installations-Tag entweder im <head>-Tag oder am Anfang des <body>-Tags einfügen, um Flickering zu verhindern. Wenn Sie den Hybridmodus verwenden, in dem Flickering kein Problem ist, können Sie das Skript an beliebiger Stelle vor dem schließenden </body>-Tag einfügen, da das Tag nur für Tracking-Zwecke verwendet wird.
Hybride Experimentation ist derzeit nur mit den Web-SDKs kompatibel. Während die Mobile-SDKs den Hybridmodus mit Drittanbieter-Webanalysetools noch nicht unterstützen, können auf der Website gesammelte Datenpunkte dennoch genutzt werden, wenn sowohl eine Website als auch eine mobile App angeboten werden. Das bedeutet, dass Daten, die von einem identifizierten Benutzer auf der Website gesammelt wurden, auch in der mobilen Anwendung verwendet werden können, sofern der Besucher auf beiden Plattformen konsistent identifiziert wird.

Benutzer-IDs zwischen Back-End und Front-End synchronisieren

Eine der Herausforderungen des Hybridmodus besteht darin, sicherzustellen, dass Kameleoon jeden Besucher auf beiden Seiten korrekt als dieselbe Person identifizieren kann. In Kameleoon bedeutet diese Anforderung, dass der visitorCode, der eine eindeutige ID für jeden Besucher ist, auf beiden Seiten identisch sein muss. Beispielsweise muss ein Besucher, der mit dem visitorCode 10ctbql0zpf4rwjy für eine Experimentvariation im Backend registriert ist, mit dem Visitor-Code 10ctbql0zpf4rwjy verknüpft sein, wenn im Frontend eine Conversion ausgelöst wird. Die Verwendung derselben ID gewährleistet ein korrektes Tracking der Aktionen des Besuchers, was zu korrekten Daten und Statistiken führt. Um die Benutzer-IDs zu synchronisieren, muss Ihre Hybrid-App die Methode getVisitorCode() aufrufen, bevor andere SDK-Methoden aufgerufen werden. Da Namenskonventionen zwischen Sprachen variieren, variieren die Methodennamen je nach SDK leicht, aber jede Sprache verfügt über eine ähnlich benannte Äquivalentmethode. Kameleoon verwendet den folgenden Ansatz:
  1. Im Frontend generiert die Kameleoon-JavaScript-Engine für jeden neuen Besucher zufällig einen visitorCode. Die Engine betrachtet einen Besucher als neu, wenn sie keinen vorherigen Visitor-Code im Browser des Benutzers finden kann (z. B. in einem Cookie oder Local Storage). Dies geschieht normalerweise, wenn die Kameleoon-Engine zum ersten Mal im Browser des Besuchers ausgeführt wird. Die Kameleoon-Engine kann den Bezeichner auch aus einem Cookie beziehen, das ihr vom Backend übergeben wird. Diese Option ermöglicht es Ihnen, den Bezeichner auf dem Server festzulegen, anstatt im Frontend. Verwenden Sie diese Option beispielsweise, wenn Sie Ihren eigenen eindeutigen Visitor-Code für jeden Besucher angeben möchten.
Wenn Sie Sitzungsdaten subdomainübergreifend vereinheitlichen, sucht Kameleoon nach einem Schlüssel kameleoonVisitorCode im Local Storage. Wenn der Schlüssel vorhanden ist, wird sein Wert als Bezeichner für den Visitor-Code verwendet. Die Local-Storage-Version dieses Schlüssels hat immer Vorrang, auch wenn ein kameleoonVisitorCode-Cookie mit einem anderen Wert existiert. Beachten Sie, dass Kameleoon das JavaScript-Cookie nicht zurücksetzt, wenn die Local-Storage- und Cookie-Werte übereinstimmen. Aus ITP-Gründen ist es wichtig, Cookies, die möglicherweise serverseitig gesetzt wurden, unverändert zu lassen.
  1. Im Backend müssen Sie die Methode getVisitorCode() oder die entsprechende Methode in Ihrem SDK aufrufen. Stellen Sie sicher, dass Sie diese Methode aufrufen, bevor Sie einen Besucherbezeichner an eine andere SDK-Methode übergeben. getVisitorCode() akzeptiert ein optionales String-Argument, mit dem Sie Ihren eigenen Bezeichner übergeben können, anstatt sich auf eine zufällig generierte Kameleoon-ID zu verlassen. Wenn die Methode aufgerufen wird, sucht Kameleoon zuerst nach einem kameleoonVisitorCode-Cookie oder Query-Parameter, der der aktuellen HTTP-Anfrage zugeordnet ist. Wird er gefunden, verwendet das SDK diesen Wert als Besucherbezeichner.
Wenn kein Cookie oder Parameter gefunden wird, verwendet Kameleoon das Argument der Methode getVisitorCode(), sofern Sie eines angegeben haben, als Bezeichner. Wenn Sie kein Argument angeben, generiert Kameleoon die ID zufällig. In beiden Fällen setzt Kameleoon auch das serverseitige kameleoonVisitorCode-Cookie mit dem Wert (über einen HTTP-Header). Durch diesen Ansatz wird der visitorCode gespeichert und zwischen Frontend und Backend geteilt. Wenn ein Experiment auf der ersten Seite der Reise eines Besuchers auf Ihrer Website implementiert ist, generiert das SDK den Bezeichner und übergibt ihn an die JavaScript-Engine. Wenn die Reise auf einer Seite beginnt, auf der getVisitorCode() nicht aufgerufen wird (oder das Synchronisations-Snippet im Backend nicht ausgeführt wird), generiert die JavaScript-Engine den Bezeichner zuerst und übergibt ihn an das SDK. Das SDK liest ihn und schreibt ihn dann als serverseitiges Cookie um, um ITP-Beschränkungen zu umgehen.

Feature-Experimente mit Frontend-Tracking-Code verknüpfen

Es ist oft sinnvoll, Experimentvariationen mit einem SDK einzurichten, das Tracking jedoch im Frontend mit der JavaScript-Engine zu implementieren. Dies ist aus folgenden Gründen ein häufiges Szenario:
  • Webanalyseplattformen (wie Mixpanel oder Google Analytics 4) werden tendenziell im Frontend implementiert.
  • Ein standardmäßiger clientseitiger Tagging-Plan für Kameleoon mit Web Experimentation ist möglicherweise bereits in Gebrauch.
  • Das Tracking von Ereignissen und Datenpunkten auf der Frontend-Seite zu Analysezwecken mit Reporting ist oft bequemer.
  • Es gibt Datenpunkte, die für den Einsatz in Feature-Experimenten geeignet sind und im Frontend leichter zu erfassen sind.

Expositions-Events an Drittanbieter-Analytics senden

Kameleoon bietet native Integrationen mit Analyse- und CDP-Plattformen. Im Hybridmodus können Sie jede dieser Integrationen in Kombination mit Feature-Experimenten verwenden, ohne zusätzlichen Code schreiben zu müssen. Die Frontend-Engine muss wissen, wann ein Experiment im Backend stattgefunden hat, d. h. wann ein Besucher in ein Experiment eingebucht wurde. Dadurch wird sichergestellt, dass nur Besucher gezählt werden, die das Experiment tatsächlich ausgelöst und gesehen haben. Um dieses Ziel zu erreichen, verwenden Sie die Methode getEngineTrackingCode() (der Name variiert je nach SDK leicht), die in allen serverseitigen SDKs verfügbar ist. Diese Methode gibt den JavaScript-Code zurück, der in die Seite eingefügt werden soll, um die Expositions-Events automatisch vom Frontend an die verwendete Analyselösung zu senden. Er kann in die zurückgegebene HTML-Seite eingebettet werden. Zum Beispiel:
Sie müssen auch Ihre gewählte Integration (z. B. Google Analytics 4 oder Mixpanel) bei der Konfiguration Ihres Feature-Experiments aktivieren. Die relevanten Daten (z. B. Experiment-ID, Experimentname, Variations-ID, Variationsname) werden automatisch von der Kameleoon-JavaScript-Engine an die Drittanbieterplattform gesendet.

Frontend-Datenpunkte und -Ereignisse in Feature-Experimenten verwenden

Wenn Sie Kameleoon im Hybridmodus implementiert haben, werden Ziele und Datenpunkte automatisch im Frontend verfolgt und erscheinen in Kameleoon-Berichten als Filter- und Aufschlüsselungskriterien. Darüber hinaus stehen im Kameleoon-SDK mehrere Targeting-Bedingungen zur Verfügung, die für Targeting-Zwecke verwendet werden können.

Einwilligungsverwaltung im Hybridmodus

Wenn Sie Kameleoon im Hybridmodus verwenden und die Einwilligung auf “Required” gesetzt ist, stellen Sie sicher, dass sowohl die JavaScript-Aktivierungs-API als auch SDK-Methoden bei der Erfassung der Einwilligung aufgerufen werden, damit Kameleoon Benutzerereignisse sowohl aus der Kameleoon-Anwendungsdatei als auch aus dem SDK sammeln kann. Da Kameleoon zudem daran gehindert ist, den visitorCode-Schlüssel in einem Cookie zu speichern, stellen Sie sicher, dass der vom SDK für alle ersten Anfragen generierte visitorCode-Schlüssel mit der clientseitig laufenden Kameleoon-Engine geteilt wird. Lesen Sie die technischen Überlegungen.
Einwilligungsinformationen werden zwischen der Kameleoon-Engine (engine.js) und dem JavaScript-SDK nur synchronisiert, wenn eine der beiden Komponenten neu initialisiert wird (z. B. beim Neuladen der Seite oder beim Aufruf von API.Core.load). Daher empfehlen wir dringend, die Einwilligung mit den dedizierten Methoden, die von der Engine und dem SDK bereitgestellt werden, explizit zu verwalten, anstatt sich auf diesen Synchronisationsmechanismus zu verlassen.