Entwicklerhandbuch
Dieses Handbuch soll Ihnen helfen, unser SDK in wenigen Minuten zu integrieren und Experimente in Ihren Python-Anwendungen auszuführen. Dieses Tutorial erklärt die Einrichtung eines einfachen A/B Tests, um die Anzahl der empfohlenen Produkte basierend auf verschiedenen Variationen zu ändern.Erste Schritte
Installation des Python-Clients
Sie können das SDK mit einem Python-pip-Paket installieren. Unser Paket wird im offiziellen pip-Repository gehostet, sodass Sie nur den folgenden Befehl ausführen müssen:Zusätzliche Konfiguration
Sie müssen die Anmeldedaten für das Python SDK über eine Konfigurationsdatei bereitstellen, die Sie auch verwenden können, um das Verhalten des SDK anzupassen. Eine Beispielkonfigurationsdatei kann hier abgerufen werden. Wir empfehlen, diese Datei in den Standardpfad/etc/kameleoon/client-python.yaml zu installieren, Sie können sie jedoch auch an einem anderen Ort ablegen und den Pfad als Argument an die KameleoonClient()-Konstruktormethode übergeben. Mit der aktuellen Version des Python SDK sind dies die verfügbaren Schlüssel:
Alternativ können Sie
configuration_object vom Typ KameleoonClientConfig als Parameter während der Initialisierung verwenden. Es hat die gleiche Liste von Argumenten wie eine Konfigurationsdatei. configuration_object hat Vorrang vor der Konfigurationsdatei und überschreibt deren Einstellungen.
Initialisierung des Kameleoon-Clients
Nachdem Sie das SDK in Ihre Anwendung installiert, die korrekten Anmeldedaten (in/etc/kameleoon/client-python.yaml) konfiguriert und ein serverseitiges Experiment im Backoffice von Kameleoon eingerichtet haben, besteht der nächste Schritt darin, den Kameleoon-Client in Ihrem Anwendungscode zu erstellen.
Der Code rechts gibt ein klares Beispiel. Ein KameleoonClient ist ein Singleton-Objekt, das als Brücke zwischen Ihrer Anwendung und der Kameleoon-Plattform fungiert. Er enthält alle Methoden und Eigenschaften, die Sie zur Durchführung eines Experiments benötigen.
Entwickler sind dafür verantwortlich, die korrekte Logik ihres Anwendungscodes bei der Implementierung von A/B Testing mit Kameleoon sicherzustellen. Eine bewährte Praxis besteht darin, immer davon auszugehen, dass ein Besucher vom Experiment ausgeschlossen werden kann, wenn es noch nicht gestartet wurde. Diese Praxis ist einfach zu implementieren, da sie mit der Standard- oder Referenzvariation-Logik übereinstimmt, die immer vorhanden sein sollte. Die Code-Beispiele im nächsten Abschnitt zeigen diesen Ansatz.
Aktivierung eines Feature Flags
Zuweisung einer eindeutigen ID an einen Benutzer
Um einem Benutzer eine eindeutige ID zuzuweisen, können Sie die Methodeget_visitor_code() verwenden. Wenn ein visitor code nicht existiert (aus dem Cookie der Request-Header), generiert die Methode eine zufällige eindeutige ID oder verwendet einen default_visitor_code, den Sie generiert hätten. Die ID wird dann in einem Cookie der Response-Header gesetzt.
Wenn Sie Kameleoon im Hybrid-Modus verwenden, stellt der Aufruf der Methode get_visitor_code() sicher, dass die eindeutige ID (visitor code) zwischen der Anwendungsdatei engine.js (zuvor kameleoon.js) und dem SDK geteilt wird.
Abrufen einer Flag-Konfiguration
Um ein Feature Flag in Ihrem Code zu implementieren, müssen Sie zunächst das Feature Flag in Ihrem Kameleoon-Konto erstellen. Um den Status oder die Variation eines Feature Flags für einen bestimmten Benutzer zu ermitteln, sollten Sie die Methodeget_variation() oder is_feature_active() verwenden, um die Konfiguration basierend auf dem feature_key abzurufen.
Die Methode get_variation() verarbeitet sowohl einfache Feature Flags mit ON/OFF-Zuständen als auch komplexere Flags mit mehreren Variationen. Die Methode ruft die entsprechende Variation für den Benutzer ab, indem sie die Feature-Regeln überprüft, die Variation zuweist und sie basierend auf dem feature_key und visitor_code zurückgibt.
Die Methode is_feature_active() kann verwendet werden, wenn Sie die Konfiguration eines einfachen Feature Flags abrufen möchten, das nur einen ON- oder OFF-Zustand hat, im Gegensatz zu komplexeren Feature Flags mit mehreren Variationen oder Targeting-Optionen.
Wenn Ihr Feature Flag zugehörige Variablen hat (wie z. B. spezifische Verhaltensweisen, die an jede Variation gebunden sind), ermöglicht Ihnen get_variation() auch den Zugriff auf das Variation-Objekt, das Details über die zugewiesene Variation und das zugehörige Experiment liefert. Diese Methode prüft, ob der Benutzer Ziel ist, findet die dem Besucher zugewiesene Variation und speichert sie. Wenn track=True, sendet das SDK das Expositionsereignis bei der nächsten Tracking-Anfrage an das angegebene Experiment, die automatisch basierend auf dem tracking_interval_millisecond des SDK ausgelöst wird. Standardmäßig ist dieses Intervall auf 1000 Millisekunden (1 Sekunde) eingestellt.
Mit der Methode get_variation() können Sie steuern, ob Tracking durchgeführt wird. Wenn track=False, werden keine Expositionsereignisse vom SDK gesendet. Dies ist nützlich, wenn Sie es vorziehen, Daten nicht über das SDK zu verfolgen, sondern sich stattdessen z. B. auf das clientseitige Tracking durch die Kameleoon-Engine zu verlassen. Darüber hinaus ist die Einstellung track=False hilfreich, wenn Sie die Methode get_variations() verwenden, bei der Sie möglicherweise nur die Variationen für alle Flags benötigen, ohne Tracking-Ereignisse auszulösen. Wenn Sie mehr über die Funktionsweise des Trackings erfahren möchten, lesen Sie diesen Artikel
Hinzufügen von Datenpunkten zur Zielgruppenansprache oder zum Filtern / Aufschlüsseln von Besuchen in Berichten
Um einen Benutzer anzusprechen, stellen Sie sicher, dass Sie relevante Datenpunkte zu seinem Profil hinzugefügt haben, bevor Sie die Feature-Variation abrufen oder prüfen, ob das Flag aktiv ist. Verwenden Sie die Methodeadd_data(), um diese Datenpunkte zum Profil des Benutzers hinzuzufügen.
Um auf anderen Geräten gesammelte Datenpunkte abzurufen oder auf vergangene Benutzerdaten zuzugreifen (clientseitig gesammelt bei Verwendung von Kameleoon im Hybrid-Modus), verwenden Sie die Methode get_remote_visitor_data(). Diese Methode ruft Daten asynchron von den Servern ab. Es ist wichtig, get_remote_visitor_data() vor dem Abrufen der Variation oder der Prüfung, ob das Feature Flag aktiv ist, aufzurufen, da diese Daten möglicherweise erforderlich sind, um einen Benutzer einer bestimmten Variation zuzuweisen.
Um mehr über verfügbare Targeting-Bedingungen zu erfahren, lesen Sie den ausführlichen Artikel zu diesem Thema.
Darüber hinaus stehen die Datenpunkte, die Sie zum Besucherprofil hinzufügen, bei der Analyse Ihrer Experimente zur Verfügung, sodass Sie Ihre Ergebnisse nach Faktoren wie Gerät und Browser filtern und aufschlüsseln können. Der Kameleoon-Hybrid-Modus sammelt automatisch eine Vielzahl von Datenpunkten auf der Clientseite, was es einfach macht, Ihre Ergebnisse basierend auf diesen vorgesammelten Datenpunkten aufzuschlüsseln. Die vollständige Liste finden Sie hier.
Wenn Sie zusätzliche Datenpunkte über das hinaus erfassen müssen, was automatisch erfasst wird, können Sie die Custom-Data-Funktion von Kameleoon verwenden. Mit Custom Data können Sie spezifische Informationen erfassen und analysieren, die für Ihre Experimente relevant sind. Vergessen Sie nicht, die Methode flush() aufzurufen, um die gesammelten Daten zur Analyse an die Kameleoon-Server zu senden.
Um sicherzustellen, dass Ihre Ergebnisse genau sind, wird empfohlen, Bots mithilfe des Datentyps
UserAgent herauszufiltern.Verfolgung von Ziel-Konversionen
Wenn ein Benutzer eine gewünschte Aktion ausführt (z. B. einen Kauf tätigt), wird dies als Konversion erfasst. Um Konversionen zu verfolgen, verwenden Sie die Methodetrack_conversion() und geben Sie die erforderlichen Parameter visitor_code und goal_id an.
Die Konversions-Tracking-Anfrage wird zusammen mit der nächsten geplanten Tracking-Anfrage gesendet, die das SDK in regelmäßigen Abständen sendet (definiert durch tracking_interval_millisecond). Wenn Sie die Anfrage sofort senden möchten, verwenden Sie die Methode flush() mit dem Parameter instant=True.
Senden von Ereignissen an Analyselösungen
Um Konversionen zu verfolgen und Expositionsereignisse an Ihre Customer-Analytics-Lösung zu senden, müssen Sie Kameleoon zunächst im Hybrid-Modus implementieren. Verwenden Sie dann die Methodeget_engine_tracking_code().
Die Methode get_engine_tracking_code() ruft den eindeutigen Tracking-Code ab, der erforderlich ist, um Expositionsereignisse an Ihre Analyselösung zu senden. Mit dieser Methode können Sie Ereignisse aufzeichnen und an die gewünschte Analyseplattform senden.
Verwendung des Kameleoon Python SDK in einer Django-Umgebung
Wenn Sie Django verwenden, empfehlen wir Ihnen, den Kameleoon-Client beim Serverstart in der Dateiapps.py Ihrer Django-Anwendung zu initialisieren.
Wenn Sie python manage.py runserver verwenden, startet Django zwei Prozesse: einen für den eigentlichen Entwicklungsserver und einen anderen, um Ihre Anwendung neu zu laden, wenn sich der Code ändert.
Sie können den Server auch ohne die Reload-Option starten, dann sehen Sie nur einen Prozess laufen. Der Prozess wird nur einmal ausgeführt:
python manage.py runserver --noreload
Sie können auch die Umgebungsvariable RUN_MAIN in der Methode ready() überprüfen.
ready() nur einmal bei der Initialisierung der Anwendung ausgeführt.
Ein weiterer Vorteil der Verwendung von Django ist, dass das SDK den visitor_code automatisch über ein Cookie aus der HTTP-Anfrage/-Antwort liest und schreibt. Wenn Sie ein anderes Framework in einer Webumgebung verwenden, in der Sie einen Cookie-Mechanismus zur Persistierung des visitor_code verwenden möchten, müssen Sie Implementierungen der Methoden
read_cookies() und write_cookies() bereitstellen.Cross-Device-Experimente
Um Besucher zu unterstützen, die von mehreren Geräten auf eine App zugreifen, ermöglicht Kameleoon die Synchronisierung zuvor gesammelter Besucherdaten über alle Geräte des Besuchers hinweg und die Abgleichung seiner Besuchsgeschichte zwischen Geräten durch Cross-Device-Experimente. Fallstudien und detaillierte Informationen darüber, wie Kameleoon Daten geräteübergreifend verarbeitet, finden Sie im Artikel über Cross-Device-Experimente.Synchronisierung von Custom Data zwischen Geräten
Obwohl Custom-Mapping-Synchronisierung verwendet wird, um Besucherdaten zwischen Geräten abzugleichen, ist sie nicht immer erforderlich. Im Folgenden sind zwei Szenarien aufgeführt, in denen keine Custom-Mapping-Synchronisierung erforderlich ist: Gleiche Benutzer-ID auf allen Geräten Wenn die gleiche Benutzer-ID konsistent auf allen Geräten verwendet wird, erfolgt die Synchronisierung automatisch ohne Custom-Mapping-Synchronisierung. Es genügt, die Methodeget_remote_visitor_data() aufzurufen, wenn Sie die zwischen mehreren Geräten gesammelten Daten synchronisieren möchten.
Multi-Server-Instanzen mit konsistenten IDs
In komplexen Setups mit mehreren Servern (z. B. verteilten Serverinstanzen), bei denen die gleiche Benutzer-ID auf allen Servern verfügbar ist, ist die Synchronisierung zwischen Servern (mit get_remote_visitor_data()) ohne zusätzliche Custom-Mapping-Synchronisierung ausreichend.
Kunden, die zusätzliche Daten benötigen, finden weitere Informationen in der Beschreibung der Methode get_remote_visitor_data(). Im folgenden Code wird davon ausgegangen, dass derselbe eindeutige Identifikator (in diesem Fall der visitor_code, der auch als userId bezeichnet werden kann) konsistent zwischen den beiden Geräten verwendet wird, um einen genauen Datenabruf zu gewährleisten.
Wenn Sie gesammelte Daten in Echtzeit synchronisieren möchten, müssen Sie den Bereich Visitor für Ihre Custom Data auswählen.
Device A
Device B
Verwendung von Custom Data für die Sitzungszusammenführung
Cross-Device-Experimente ermöglichen es, die Historie eines Besuchers über alle seine Geräte hinweg zu kombinieren (Historien-Abgleich). Der Historien-Abgleich ermöglicht das Zusammenführen verschiedener Besuchersitzungen zu einer. Um die Besuchsgeschichte abzugleichen, verwenden SieCustomData, um einen eindeutigen Identifikator für den Besucher anzugeben. Weitere Informationen finden Sie in der dedizierten Dokumentation.
Nachdem der Cross-Device-Abgleich aktiviert wurde, ruft der Aufruf von get_remote_visitor_data() mit dem Parameter userId alle bekannten Daten für einen bestimmten Benutzer ab.
Sitzungen mit demselben Identifikator sehen in einem Experiment immer dieselbe Variation. In der Visitor-Ansicht der Ergebnisseiten Ihres Experiments erscheinen diese Sitzungen als ein einziger Besucher.
Die SDK-Konfiguration stellt sicher, dass zugehörige Sitzungen immer dieselbe Variation des Experiments sehen. Es gibt jedoch einige Einschränkungen bei der geräteübergreifenden Variationszuweisung. Diese Einschränkungen werden hier beschrieben.
Folgen Sie dem Leitfaden zur Aktivierung des Cross-Device-Historien-Abgleichs, um Ihre Custom Data auf der Kameleoon-Plattform einzurichten.
Anschließend können Sie das SDK normal verwenden. Die folgenden Methoden können im Kontext der Sitzungszusammenführung hilfreich sein:
get_remote_visitor_data()mit hinzugefügtemUniqueIdentifier(True)- um Daten für alle verknüpften Besucher abzurufen.track_conversion()oderflush()mit hinzugefügtenUniqueIdentifier(True)-Daten - um bestimmte Daten für einen spezifischen Besucher zu verfolgen, der mit einem anderen Besucher verknüpft ist.
get_visitor_code() generiert wird. Nachdem sich der Benutzer angemeldet hat, wird der anonyme Besucher mit der Benutzer-ID verknüpft und als eindeutiger Identifikator für den Besucher verwendet.
Verwendung eines benutzerdefinierten Bucketing-Schlüssels
Standardmäßig verwendet Kameleoon eine eindeutige, anonyme Besucher-ID (visitor_code), um Benutzer Feature-Flag-Variationen zuzuweisen. Diese ID wird in der Regel auf dem Gerät des Benutzers generiert und gespeichert (in einem Browser-Cookie für Client- und Server-SDKs – im persistenten Speicher für mobile SDKs). In bestimmten Szenarien müssen Sie jedoch möglicherweise sicherstellen, dass alle Benutzer derselben Organisation dieselbe Variante eines Feature Flags sehen.
Die Option Custom Bucketing Key ermöglicht es Ihnen, dieses Standardverhalten zu überschreiben, indem Sie Ihren eigenen benutzerdefinierten Identifikator für das Bucketing bereitstellen. Diese Überschreibung stellt sicher, dass die Zuweisungslogik von Kameleoon Ihren angegebenen Schlüssel anstelle des standardmäßigen visitor_code verwendet.
Anwendungsfälle
Die Verwendung eines benutzerdefinierten Bucketing-Schlüssels ist entscheidend für die Aufrechterhaltung der Konsistenz und Genauigkeit Ihrer Feature-Flag-Zuweisungen, insbesondere in diesen Situationen:- Experimente auf Konto- oder Organisationsebene: Für B2B-Produkte oder Szenarien, in denen Sie alle Benutzer derselben Organisation derselben Variation zuweisen möchten, können Sie einen Identifikator wie eine
account_idverwenden. Benutzerdefinierte Bucketing-Schlüssel sind entscheidend für A/B Tests von Funktionen, die ein ganzes Team oder Unternehmen betreffen.
Technische Details
Wenn Sie einen benutzerdefinierten Bucketing-Schlüssel für ein Feature Flag konfigurieren, geben Sie Kameleoon einen bestimmten Identifikator aus den Daten Ihrer Anwendung:- Bereitstellung des benutzerdefinierten Schlüssels: Sie stellen Ihren benutzerdefinierten Identifikator dem Kameleoon SDK mithilfe der Methode
add_data()zur Verfügung. In dieser Methode übergeben Sie Ihren gewählten benutzerdefinierten Bucketing-Schlüssel alsCustomData-Objekt. Hier bezieht sichnew_visitor_codeauf den Identifikator, den Sie für Ihr Bucketing verwenden möchten (zum Beispiel die neueuser_idoderaccount_id).
- Bucketing-Logik: Sobald ein benutzerdefinierter Bucketing-Schlüssel über die Methode
add_data()bereitgestellt wird, verwenden alle Hash-Berechnungen zur Zuweisung von Benutzern zu Variationen diesennew_visitor_code(Ihren benutzerdefinierten Schlüssel) anstelle des standardmäßigenvisitor_code. Die Verwendung desnew_visitor_codebedeutet, dass die Bucketing-Entscheidung an Ihren benutzerdefinierten Identifikator gebunden ist, was konsistente Zuweisungen in verschiedenen Kontexten gewährleistet, in denen dieser Identifikator vorhanden ist. - Datentracking und Analytics: Es ist entscheidend zu beachten, dass, während der
new_visitor_code(Ihr benutzerdefinierter Schlüssel) für Bucketing-Entscheidungen verwendet wird, alle nachfolgenden Daten (z. B. Tracking-Ereignisse und Konversionen) gesendet und mit dem ursprünglichenvisitor_codeverknüpft werden. Diese Trennung stellt sicher, dass Ihre Analytics individuelle Benutzerreisen und Interaktionen im breiteren Kontext Ihres Experiments genau widerspiegeln, selbst wenn das Bucketing auf einer höheren Ebene (wie einem Konto) oder über mehrere Geräte/Sitzungen hinweg durchgeführt wird. Ihre ursprünglichen Besucherdaten bleiben für umfassende Berichte intakt.
Technische Anforderungen
Um einen benutzerdefinierten Bucketing-Schlüssel effektiv zu verwenden:- Der Schlüssel muss vom Typ
strsein. - Er muss für die Entität, die Sie bucketing möchten, eindeutig sein (zum Beispiel, wenn Sie eine
user_idverwenden, sollte die ID jedes Benutzers eindeutig sein). - Der Schlüssel muss dem SDK zu dem genauen Zeitpunkt verfügbar sein, an dem die Feature-Flag-Entscheidung für diesen Benutzer oder diese Anfrage ausgewertet wird.
Targeting-Bedingungen
Die Kameleoon SDKs unterstützen eine Vielzahl vordefinierter Targeting-Bedingungen, die Sie verwenden können, um Benutzer in Ihren Kampagnen anzusprechen. Die Liste der von diesem SDK unterstützten Bedingungen finden Sie unter Besuchshistorie zur Zielgruppenansprache verwenden. Sie können auch Ihre eigenen externen Daten zur Zielgruppenansprache verwenden.Logging
Das SDK erzeugt Logs, um verschiedene interne Prozesse und Probleme widerzuspiegeln.Log-Levels
Das SDK unterstützt die Konfiguration einer Logging-Einschränkung durch ein Log-Level.Benutzerdefinierte Verarbeitung von Logs
Das SDK schreibt seine Logs standardmäßig in die Konsolenausgabe. Dieses Verhalten kann überschrieben werden.Die Logging-Einschränkung durch ein Log-Level wird unabhängig von der Log-Verarbeitungslogik durchgeführt.
Referenz
Dies ist die vollständige Referenzdokumentation des Python SDK.create()
Um das SDK zu verwenden, müssen Sie die Initialisierung abschließen. Alle Interaktionen mit dem SDK erfolgen über ein Objekt namensKameleoon::KameleoonClient. Das Erste, was Sie tun müssen, ist also, dieses Objekt zu erstellen.
Argumente
Geworfene Ausnahmen
wait_init_async()
wait_init_async wartet asynchron auf die Initialisierung des Kameleoon-Clients. Mit dieser Methode können Sie prüfen, ob der Client erfolgreich initialisiert wurde, bevor Sie mit anderen Operationen fortfahren.
Rückgabewert
wait_init()
wait_init wartet synchron auf die Initialisierung des Kameleoon-Clients. Mit dieser Methode können Sie prüfen, ob der Client erfolgreich initialisiert wurde, bevor Sie mit anderen Operationen fortfahren.
Rückgabewert
Feature Flags und Variationen
is_feature_active()
- 📨 Sendet Tracking-Daten an Kameleoon (abhängig vom Parameter
track)
Zuvor
activate_feature genannt – veraltet seit der SDK-Version 2.1.0 und wird in zukünftigen Versionen entfernt.is_feature_active() auf.
Diese Methode nimmt einen visitor_code und einen feature_key als obligatorische Argumente, um zu prüfen, ob das Feature für einen bestimmten Benutzer aktiv ist.
Wenn ein solcher Benutzer noch nie mit diesem Feature Flag verknüpft wurde, gibt das SDK zufällig einen booleschen Wert zurück (true, wenn das Feature für den Benutzer aktiv ist, oder false, wenn nicht). Wenn ein Benutzer mit einem bestimmten visitor_code bereits mit diesem Feature Flag registriert ist, wird der vorherige Feature-Flag-Wert erkannt.
Sie müssen sicherstellen, dass in Ihrem Code eine ordnungsgemäße Fehlerbehandlung eingerichtet ist, wie im Beispiel rechts gezeigt, um potenzielle Ausnahmen abzufangen.
Wenn Sie einen visitor_code angeben, verwendet die Methode is_feature_active() den visitor_code als eindeutigen Besucher-Identifikator, was für Cross-Device-Experimente nützlich ist. Wenn Sie einen visitor_code angeben und den Parameter is_unique_identifier auf true setzen, verknüpft das SDK die geflushten Daten mit dem Besucher, der mit dem angegebenen Identifikator verknüpft ist.
Der Parameter
is_unique_identifier ist veraltet. Bitte verwenden Sie stattdessen UniqueIdentifier.Der is_unique_identifier kann auch in anderen Sonderfallszenarien nützlich sein, z. B. wenn Sie nicht auf den anonymen visitor_code zugreifen können, der dem Besucher ursprünglich zugewiesen wurde, aber Zugriff auf eine interne ID haben, die über die Sitzungszusammenführungs-Funktionen mit dem anonymen Besucher verknüpft ist.Kameleoon verwendet Tracking, um Sitzungen und Besucher zu zählen, wenn Sie bestimmte Methoden wie
is_feature_active(), get_variation() oder get_variations() aufrufen.Verwenden Sie den Standardwert True für den Parameter track, wenn Sie Besucher einer Variation aussetzen und sie zählen müssen. Setzen Sie den Parameter track nur dann auf False, wenn Sie diese Methoden aufrufen, bevor Sie die Besucher aussetzen.Wenn Sie beispielsweise get_variations() aufrufen, um alle Variationen abzurufen, bevor Sie die Besucher aussetzen, setzen Sie den Parameter track auf False. Diese Einstellung verhindert, dass Kameleoon eine Sitzung vorzeitig zählt. Sie können das Tracking dann später auslösen, wenn Sie den Besucher explizit aussetzen.Kameleoon sendet Tracking-Daten standardmäßig jede Sekunde. Sie können dieses Intervall mit der Konfigurationsoption Tracking-Intervall auf bis zu fünf Sekunden konfigurieren. Kameleoon gruppiert Tracking-Ereignisse in einer einzigen Sitzung, solange das Intervall zwischen den Ereignissen weniger als 30 Minuten beträgt. Wenn zwischen Tracking-Ereignissen mehr als 30 Minuten vergehen, zählt Kameleoon die Ereignisse als separate Sitzungen. Ein Besuch erscheint 30 Minuten nach dem letzten aufgezeichneten Ereignis in der Sitzung in Ihren Berichten.Argumente
Rückgabewert
Geworfene Ausnahmen
get_variation()
- 📨 Sendet Tracking-Daten an Kameleoon (abhängig vom Parameter
track)
Variation ab, die einem bestimmten Besucher für ein bestimmtes Feature Flag zugewiesen wurde.
Diese Methode nimmt einen visitor_code und einen feature_key als obligatorische Argumente. Das Argument track ist optional und standardmäßig auf True gesetzt.
Sie gibt die zugewiesene Variation für den Besucher zurück. Wenn der Besucher mit keinen Feature-Flag-Regeln verknüpft ist, gibt die Methode die Standard-Variation für das angegebene Feature Flag zurück.
Stellen Sie sicher, dass in Ihrem Code eine ordnungsgemäße Fehlerbehandlung implementiert ist, um potenzielle Ausnahmen zu verwalten.
Die Standardvariation bezieht sich auf die Variation, die einem Besucher zugewiesen wird, wenn er mit keiner vordefinierten Lieferregel für ein Feature Flag übereinstimmt. Mit anderen Worten, es ist die Fallback-Variation, die auf alle Benutzer angewendet wird, die nicht von bestimmten Regeln angesprochen werden. Sie wird durch die Variation im Abschnitt “Then, for everyone else…” in einer Verwaltungsoberfläche dargestellt.
Argumente
Rückgabewert
Geworfene Ausnahmen
get_variations()
- 📨 Sendet Tracking-Daten an Kameleoon (abhängig vom Parameter
track)
Variation-Objekten ab, die einem bestimmten Besucher über alle Feature Flags hinweg zugewiesen wurden.
Diese Methode iteriert über alle verfügbaren Feature Flags und gibt die zugewiesene Variation für jedes Flag zurück, das mit dem angegebenen Besucher verknüpft ist. Sie nimmt visitor_code als obligatorisches Argument, während only_active und track optional sind.
- Wenn
only_activeaufTruegesetzt ist, gibt die Methodeget_variations()Feature-Flag-Variationen zurück, sofern der Benutzer nicht mit deroff-Variation gebucketet ist. - Der Parameter
tracksteuert, ob die Methode die Variationszuweisungen verfolgt oder nicht. Standardmäßig ist er aufTruegesetzt. Wenn er aufFalsegesetzt ist, wird das Tracking deaktiviert.
Variation als Werten. Wenn keine Variation für ein Feature Flag zugewiesen ist, gibt die Methode die Standard-Variation für dieses Flag zurück.
Eine ordnungsgemäße Fehlerbehandlung sollte implementiert werden, um potenzielle Ausnahmen zu verwalten.
Die Standardvariation bezieht sich auf die Variation, die einem Besucher zugewiesen wird, wenn er mit keiner vordefinierten Lieferregel für ein Feature Flag übereinstimmt. Mit anderen Worten, es ist die Fallback-Variation, die auf alle Benutzer angewendet wird, die nicht von bestimmten Regeln angesprochen werden. Sie wird durch die Variation im Abschnitt “Then, for everyone else…” in einer Verwaltungsoberfläche dargestellt.
Argumente
Rückgabewert
Geworfene Ausnahmen
get_data_file()
Gibt die aktuelle SDK-Konfiguration alsDataFile-Objekt zurück.
Rückgabewert
set_forced_variation()
Die Methode ermöglicht es Ihnen, einem Benutzer programmatisch eine bestimmteVariation zuzuweisen und so den Standard-Auswertungsprozess zu umgehen. Dies ist besonders wertvoll für kontrollierte Experimente, bei denen die übliche Auswertungslogik nicht erforderlich ist oder übersprungen werden muss. Es kann auch in Szenarien wie Debugging oder benutzerdefinierten Tests hilfreich sein.
Wenn eine erzwungene Variation gesetzt ist, überschreibt sie die Echtzeit-Auswertungslogik von Kameleoon. Prozesse wie Segmentierung, Targeting-Bedingungen und algorithmische Berechnungen werden übersprungen. Um Segmentierung und Targeting-Bedingungen während eines Experiments beizubehalten, setzen Sie stattdessen force_targeting=False.
Simulierte Variationen haben in der Ausführungsreihenfolge immer Vorrang. Wenn eine simulierte Variationsberechnung ausgelöst wird, wird sie zuerst vollständig verarbeitet und abgeschlossen.
Argumente
Geworfene Ausnahmen
In den meisten Fällen muss nur der grundlegende Fehler,
KameleoonError, behandelt werden, wie im Beispiel gezeigt. Wenn jedoch verschiedene Arten von Fehlern eine Reaktion erfordern, behandeln Sie jeden separat basierend auf den spezifischen Anforderungen. Darüber hinaus können für eine erhöhte Zuverlässigkeit allgemeine Sprachfehler durch Einschluss von Exception behandelt werden.evaluate_audiences()
- 📨 Sendet Tracking-Daten an Kameleoon
evaluate_audiences() sollte aufgerufen werden, nachdem alle relevanten Besucherdaten gesetzt oder aktualisiert wurden, und kurz bevor Sie eine Feature-Variation abrufen oder ein Feature Flag prüfen. Dieser Ansatz stellt sicher, dass der Besucher gegen die aktuellsten verfügbaren Daten ausgewertet wird, was eine genaue Zielgruppenzuweisung basierend auf allen Kriterien ermöglicht.
Nach dem Aufruf dieser Methode können Sie eine detaillierte Analyse der Segment-Performance im Audiences Explorer durchführen.
Argumente
Geworfene Ausnahmen
In den meisten Fällen muss nur der grundlegende Fehler,
KameleoonError, behandelt werden, wie im Beispiel gezeigt. Wenn jedoch verschiedene Arten von Fehlern eine Reaktion erfordern, behandeln Sie jeden separat basierend auf den spezifischen Anforderungen. Darüber hinaus können für eine erhöhte Zuverlässigkeit allgemeine Sprachfehler durch Einschluss von Exception behandelt werden.Besucherdaten
get_visitor_code()
Diese Methode hieß zuvor
obtain_visitor_code und wurde in der SDK-Version 3.0.0 entfernt.get_visitor_code() sollte aufgerufen werden, um den aktuellen Kameleoon-visitor_code des Besuchers zu erhalten. Diese Methode ist besonders wichtig, wenn Kameleoon in einer gemischten Frontend- und Backend-Umgebung verwendet wird, in der die Konsistenz der Benutzeridentifikation gewährleistet sein muss. Die Implementierungslogik wird hier beschrieben:
- Zuerst prüfen wir, ob ein kameleoonVisitorCode-Cookie oder Query-Parameter, der mit der aktuellen HTTP-Anfrage verknüpft ist, gefunden werden kann. Wenn ja, verwenden wir diesen als Besucher-Identifikator.
- Wenn in der aktuellen Anfrage kein Cookie/Parameter gefunden wird, generieren wir entweder zufällig einen neuen Identifikator oder verwenden das Argument default_visitor_code als Identifikator, falls es übergeben wird. Dies ermöglicht es unseren Kunden, ihre eigenen Identifikatoren als Visitor Codes zu verwenden, wenn sie dies wünschen, was den zusätzlichen Vorteil hat, Kameleoon-Besucher ohne zusätzliche Suchvorgänge in einer Abgleichstabelle ihren eigenen Benutzern zuzuordnen.
- In jedem Fall wird der serverseitige (über HTTP-Header) kameleoonVisitorCode-Cookie mit dem Wert gesetzt. Dann wird dieser Identifikator-Wert schließlich von der Methode zurückgegeben.
Wenn Sie Ihren eigenen
visitor_code angeben, müssen Sie dessen Eindeutigkeit garantieren. Das SDK validiert den als Argument übergebenen Wert nicht. Beachten Sie auch, dass die Länge des visitor_code auf 255 Zeichen begrenzt ist. Eine VisitorCodeInvalid-Ausnahme wird ausgelöst, wenn diese Grenze überschritten wird.Mit der Methode
get_visitor_code() können Sie simulierte Variationen für einen Besucher festlegen. Wenn Cookies (aus einer Anfrage oder einem Dokument) den Schlüssel kameleoonSimulationFFData enthalten, wird der Standard-Auswertungsprozess umgangen. Stattdessen gibt die Methode direkt eine Variation basierend auf den bereitgestellten Daten zurück.Sie können Simulationen auf zwei Arten anwenden:- Automatisch (empfohlen): Wenn Sie Kameleoon Web Experimentation oder das SDK im Hybrid-Modus verwenden, wird das Cookie automatisch erstellt, wenn Sie die Anzeige einer Variante über das Simulation Panel simulieren.
- Manuell: Setzen Sie das Cookie
kameleoonSimulationFFDatamanuell.
- Simulierte Variationen: Beeinflussen das Gesamtergebnis des Feature Flags.
- Erzwungene Variationen: Sind spezifisch für ein einzelnes Experiment.
kameleoonSimulationFFData diesem Format folgt:kameleoonSimulationFFData={"featureKey":{"expId":10,"varId":20}}: Simuliert die Variation mitvarIddes ExperimentsexpIdfür den angegebenenfeatureKey.kameleoonSimulationFFData={"featureKey":{"expId":0}}: Simuliert die Standardvariation (definiert im Abschnitt Then, for everyone else in Production, serve) für den angegebenenfeatureKey.
encodeURIComponent.Argumente
Rückgabewert
Geworfene Ausnahmen
add_data()
Die Methodeadd_data() fügt Targeting-Daten zum Speicher hinzu, damit andere Methoden die Daten verwenden können, um zu entscheiden, ob der aktuelle Besucher angesprochen werden soll oder nicht.
Die Methode add_data() gibt keinen Wert zurück und interagiert nicht selbständig mit den Kameleoon-Backend-Servern. Stattdessen werden alle deklarierten Daten für die spätere Übertragung über die Methode flush() gespeichert. Dieser Ansatz reduziert die Anzahl der Serveraufrufe, da die Daten in der Regel zu einem einzigen Serveraufruf zusammengefasst werden, der durch flush() ausgelöst wird.
Die Methode track_conversion() sendet auch alle zuvor verknüpften Daten, genau wie flush(). Dasselbe gilt für die Methoden get_variation() und get_variations(), wenn eine Experimentierungsregel ausgelöst wird.
Argumente
Ausnahmen
flush()
- 📨 Sendet Tracking-Daten an Kameleoon
flush() nimmt die Kameleoon-Daten, die mit dem Besucher verknüpft sind, und alle Daten, die zuvor mit der Methode add_data hinzugefügt wurden und beim Aufruf einer dieser Methoden noch nicht gesendet wurden, und sendet eine Tracking-Anfrage. flush() ist nicht blockierend, da der Serveraufruf asynchron erfolgt.
Mit flush() können Sie steuern, wann die mit einem bestimmten visitor_code verknüpften Daten an unsere Server gesendet werden. Wenn Sie beispielsweise add_data() ein Dutzend Mal aufrufen, wäre es ineffizient, Daten bei jedem Aufruf von add_data() an den Server zu senden, sodass Sie flush() nur einmal am Ende aufrufen müssen.
Wenn Sie einen visitor_code angeben, verwendet die Methode flush() diesen als eindeutigen Besucher-Identifikator, was für Cross-Device-Experimente nützlich ist. Wenn Sie einen visitor_code angeben und den Parameter is_unique_identifier auf true setzen, verknüpft das SDK die geflushten Daten mit dem Besucher, der mit dem angegebenen Identifikator verknüpft ist.
Der Parameter
is_unique_identifier ist veraltet. Bitte verwenden Sie stattdessen UniqueIdentifier.Der is_unique_identifier kann auch in anderen Sonderfallszenarien nützlich sein, z. B. wenn Sie nicht auf den anonymen visitor_code zugreifen können, der dem Besucher ursprünglich zugewiesen wurde, aber Zugriff auf eine interne ID haben, die über die Sitzungszusammenführungs-Funktionen mit dem anonymen Besucher verknüpft ist.Argumente
get_remote_data()
- Zuvor
retrieve_data_from_remote_sourcegenannt, das in der SDK-Version3.0.0entfernt wurde. - Wenn Sie Daten asynchron abrufen möchten, verwenden Sie stattdessen die Methode
get_remote_data_async(verfügbar seit Version 2.3.0).
get_remote_data ruft Daten synchron (gemäß einem als Argument übergebenen Schlüssel) für einen angegebenen site_code (angegeben mit KameleoonClient.__init__) ab, der auf einem entfernten Kameleoon-Server gespeichert ist. Daten werden in der Regel über unsere Data API auf unseren entfernten Servern gespeichert. Diese Methode bietet zusammen mit der Verfügbarkeit unserer hoch skalierbaren Server für diesen Zweck eine bequeme Methode, um große Datenmengen zu speichern, die für jeden Ihrer Besucher/Benutzer abgerufen werden können.
Argumente
Rückgabewert
get_remote_data_async()
Mit der Methodeget_remote_data_async können Sie Daten asynchron (gemäß einem als Argument übergebenen Schlüssel) für einen angegebenen site_code (angegeben mit KameleoonClient.__init__) abrufen, der auf einem entfernten Kameleoon-Server gespeichert ist. Daten werden in der Regel über unsere Data API auf unseren entfernten Servern gespeichert. Diese Methode bietet zusammen mit der Verfügbarkeit unserer hoch skalierbaren Server für diesen Zweck eine bequeme Methode, um große Datenmengen zu speichern, die für jeden Ihrer Besucher/Benutzer abgerufen werden können.
Argumente
Rückgabewert
get_remote_visitor_data()
get_remote_visitor_data() ist eine asynchrone Methode zum Abrufen der Kameleoon Visits Data für den visitor_code von der Kameleoon Data API. Die Methode fügt die Daten dem Speicher hinzu, damit andere Methoden sie bei Targeting-Entscheidungen verwenden können.
Mit dieser Methode erhaltene Daten spielen eine wichtige Rolle, wenn Sie:
- Daten verwenden möchten, die auf anderen Geräten gesammelt wurden.
- auf den Verlauf eines Benutzers zugreifen möchten, z. B. auf Seiten, die bei früheren Besuchen besucht wurden.
- Daten verwenden möchten, die nur auf der Clientseite zugänglich sind, wie Datalayer-Variablen und Ziele, die nur im Frontend konvertieren.
Der Parameter
is_unique_identifier ist veraltet. Bitte verwenden Sie stattdessen UniqueIdentifier.Der is_unique_identifier kann auch in anderen Sonderfallszenarien nützlich sein, z. B. wenn Sie nicht auf den anonymen visitor_code zugreifen können, der dem Besucher ursprünglich zugewiesen wurde, aber Zugriff auf eine interne ID haben, die über die Sitzungszusammenführungs-Funktionen mit dem anonymen Besucher verknüpft ist.Argumente
Verwendung von Parametern in get_remote_visitor_data()
Die Methodeget_remote_visitor_data() bietet Flexibilität, indem sie es Ihnen ermöglicht, verschiedene Parameter beim Abrufen von Daten über Besucher zu definieren. Egal, ob Sie auf der Grundlage von Zielen, Experimenten oder Variationen ansprechen, der gleiche Ansatz gilt für alle Datentypen.
Angenommen, Sie möchten Daten über Besucher abrufen, die das Ziel “Order transaction” abgeschlossen haben. Sie können Parameter innerhalb der Methode get_remote_visitor_data() angeben, um Ihr Targeting zu verfeinern. Wenn Sie beispielsweise nur Benutzer ansprechen möchten, die das Ziel in ihren letzten fünf Besuchen konvertiert haben, können Sie den Parameter previous_visit_amount auf 5 und conversions auf true setzen.
Die in diesem Beispiel gezeigte Flexibilität ist nicht auf Zieldaten beschränkt. Sie können Parameter innerhalb der Methode get_remote_visitor_data() verwenden, um Daten zu einer Vielzahl von Besucherverhaltensweisen abzurufen.
Rückgabewert
Hier ist die Liste der verfügbaren
Kameleoon::Configuration::RemoteVisitorDataFilter-Optionen:get_remote_visitor_data_async()
Die Methodeget_remote_visitor_data_async ruft asynchron Custom Data ab, die auf entfernten Kameleoon-Servern für einen Besucher (angegeben mit dem Argument visitor_code) gespeichert sind. Wenn add_data auf True gesetzt ist, fügt diese Methode die abgerufenen Daten automatisch einem Besucher hinzu, ohne dass ein separater add_data-Aufruf erforderlich ist.
Sie müssen zuvor Daten auf unseren entfernten Servern gespeichert haben, die Sie mit einem der folgenden Tracking-Aufrufe im SDK hinzufügen können:
flushget_feature_variation_keyget_feature_variableis_feature_active
get_remote_visitor_data zusammen mit der Verfügbarkeit unserer hoch skalierbaren Server bietet eine bequeme Methode, um auf große Datenmengen über alle Geräte des Besuchers hinweg zuzugreifen und sie zu synchronisieren.
Wenn Sie einen visitor_code angeben, verwendet die Methode get_remote_visitor_data_async den visitor_code als eindeutigen Besucher-Identifikator, was für Cross-Device-Experimente nützlich ist. Wenn Sie einen visitor_code angeben und den Parameter is_unique_identifier auf true setzen, verknüpft das SDK die geflushten Daten mit dem Besucher, der mit dem angegebenen Identifikator verknüpft ist.
Der Parameter
is_unique_identifier ist veraltet. Bitte verwenden Sie stattdessen UniqueIdentifier.Der is_unique_identifier kann auch in anderen Sonderfallszenarien nützlich sein, z. B. wenn Sie nicht auf den anonymen visitor_code zugreifen können, der dem Besucher ursprünglich zugewiesen wurde, aber Zugriff auf eine interne ID haben, die über die Sitzungszusammenführungs-Funktionen mit dem anonymen Besucher verknüpft ist.Argumente
Rückgabewert
Verwendung von Parametern in get_remote_visitor_data_async()
Die Methodeget_remote_visitor_data_async() bietet Flexibilität, indem sie es Ihnen ermöglicht, verschiedene Parameter beim Abrufen von Daten über Besucher zu definieren. Egal, ob Sie auf der Grundlage von Zielen, Experimenten oder Variationen ansprechen, der gleiche Ansatz gilt für alle Datentypen.
Angenommen, Sie möchten Daten über Besucher abrufen, die das Ziel “Order transaction” abgeschlossen haben. Sie können Parameter innerhalb der Methode get_remote_visitor_data_async() angeben, um Ihr Targeting zu verfeinern. Wenn Sie beispielsweise nur Benutzer ansprechen möchten, die das Ziel in ihren letzten fünf Besuchen konvertiert haben, können Sie den Parameter previous_visit_amount auf 5 und conversions auf true setzen.
Die in diesem Beispiel gezeigte Flexibilität ist nicht auf Zieldaten beschränkt. Sie können Parameter innerhalb der Methode get_remote_visitor_data_async() verwenden, um Daten zu einer Vielzahl von Besucherverhaltensweisen abzurufen.
Hier ist die Liste der verfügbaren
Kameleoon::Configuration::RemoteVisitorDataFilter-Optionen:get_visitor_warehouse_audience()
Ruft synchron alle Zielgruppendaten ab, die mit dem Besucher in Ihrem Data Warehouse verknüpft sind, unter Verwendung des angegebenen visitor_code und warehouse_key. Der warehouse_key ist in der Regel Ihre interne Benutzer-ID. Der Parameter custom_data_index entspricht der Kameleoon-Custom-Data, die Kameleoon verwendet, um Ihre Besucher anzusprechen. Weitere Details finden Sie in der Warehouse-Targeting-Dokumentation. Die Methode gibt einCustomData-Objekt zurück, das bestätigt, dass die Daten dem Besucher hinzugefügt wurden und für Targeting-Zwecke verfügbar sind.
Wenn Sie die Daten asynchron abrufen möchten, verwenden Sie stattdessen die Methode
get_visitor_warehouse_audience_async.Argumente
Rückgabewert
Geworfene Ausnahmen
get_visitor_warehouse_audience_async()
Ruft asynchron alle Zielgruppendaten ab, die mit dem Besucher in Ihrem Data Warehouse verknüpft sind, unter Verwendung des angegebenen visitor_code und warehouse_key. Der warehouse_key ist in der Regel Ihre interne Benutzer-ID. Der Parameter custom_data_index entspricht der Kameleoon-Custom-Data, die Kameleoon verwendet, um Ihre Besucher anzusprechen. Weitere Details finden Sie in der Warehouse-Targeting-Dokumentation. Die Methode gibt einCustomData-Objekt zurück, das bestätigt, dass die Daten dem Besucher hinzugefügt wurden und für Targeting-Zwecke verfügbar sind.
Argumente
Rückgabewert
Geworfene Ausnahmen
set_legal_consent()
Sie müssen diese Methode verwenden, um anzugeben, ob der Besucher die rechtliche Einwilligung zur Verwendung personenbezogener Daten erteilt hat. Wenn Sie den Parameterconsent auf False setzen, werden die Arten von Daten, die Sie in Tracking-Anfragen einbeziehen können, eingeschränkt. Diese Methode hilft Ihnen, rechtliche und regulatorische Anforderungen einzuhalten und gleichzeitig Besucherdaten verantwortungsvoll zu verwalten. Weitere Informationen zu personenbezogenen Daten finden Sie in unserer Richtlinie zum Einwilligungsmanagement.
Verhalten bei Widerruf der Einwilligung
Wenn Sieset_legal_consent() mit consent=False aufrufen, löscht das SDK das kameleoonVisitorCode-Cookie nicht. Stattdessen hört es auf, das Ablaufdatum des Cookies zu verlängern, sodass das Cookie bis zu seinem natürlichen Ablauf bestehen bleibt.
Wenn Ihre Compliance-Anforderungen die sofortige Entfernung der Cookie-Datei bei Opt-Out verlangen, müssen Sie sie manuell mit den nativen Cookie-Verwaltungsmethoden Ihres Frameworks löschen. Das SDK entfernt die Datei nicht automatisch.
Argumente
Geworfene Ausnahmen
forget()
Die Methodeforget entfernt eine KameleoonClient-Instanz aus der KameleoonClientFactory mit dem angegebenen site_code und gibt die von der KameleoonClient-Instanz verwendeten Ressourcen frei. Die KameleoonClient-Instanz darf nach dem Aufruf der Methode forget nicht mehr verwendet werden.
Wenn Sie einen visitor_code angeben, verwendet die Methode track_conversion den visitor_code als eindeutigen Besucher-Identifikator, was für Cross-Device-Experimente nützlich ist. Wenn Sie einen visitor_code angeben und den Parameter is_unique_identifier auf true setzen, verknüpft das SDK die geflushten Daten mit dem Besucher, der mit dem angegebenen Identifikator verknüpft ist.
Der
is_unique_identifier kann auch in anderen Sonderfallszenarien nützlich sein, z. B. wenn Sie nicht auf den anonymen visitor_code zugreifen können, der dem Besucher ursprünglich zugewiesen wurde, aber Zugriff auf eine interne ID haben, die über die Sitzungszusammenführungs-Funktionen mit dem anonymen Besucher verknüpft ist.Argumente
Ziele und Drittanbieter-Analytics
get_engine_tracking_code()
Kameleoon ist in mehrere Analyselösungen integriert, darunter Mixpanel, Google Analytics 4 und Segment. Um serverseitige Experimente korrekt zu verfolgen, rufen Sie die Methodeget_engine_tracking_code() auf, nachdem der Besucher ein Experiment ausgelöst hat. Das SDK gibt JavaScript-Queue-Befehle für die Experimente zurück, die der Besucher in den letzten fünf Sekunden ausgelöst hat. Wenn Sie diesen Code in die Seite einfügen, verarbeitet Engine.js die Befehle und sendet die Expositionsereignisse über die aktive Analytics-Integration.
Weitere Informationen zur Implementierung dieser Methode finden Sie unter Hybrid-Experimente.
- Um diese Funktion zu verwenden, implementieren Sie sowohl das Python SDK als auch Kameleoon Engine.js. Da Engine.js in diesem Ablauf nur für das Tracking verwendet wird, können Sie das asynchrone Tag vor dem schließenden
</body>-Tag installieren. - Wenn Sie Experimente nur in Kameleoon verfolgen möchten und keine Expositionsereignisse an Drittanbieter-Analytics-Tools senden müssen, verwenden Sie das JavaScript / TypeScript SDK. Diese Option funktioniert gut für serverlose Edge-Compute-Plattformen. Das JavaScript / TypeScript SDK verfolgt Variationen automatisch, wenn Sie
getVisitorCodeaufrufen, sofern Sie die entsprechenden Experimentzuweisungen zuwindow.kameleoonQueuehinzufügen.. - Sie können den zurückgegebenen Tracking-Code direkt in ein HTML-
<script>-Tag einfügen.
123456 und 234567 Experiment-IDs, und 7890 und 8901 sind Variation-IDs. In Ihrer Implementierung generiert das SDK diese Werte im zurückgegebenen Tracking-Code.Argumente
Rückgabewert
track_conversion()
- 📨 Sendet Tracking-Daten an Kameleoon
visitor_code und goal_id. Darüber hinaus akzeptiert diese Methode auch optionale Argumente revenue, negative und metadata. Der visitor_code ist in der Regel identisch mit dem, der beim Auslösen des Experiments verwendet wurde.
Die Methode track_conversion() gibt keinen Wert zurück. Diese Methode ist nicht blockierend, da der Serveraufruf asynchron erfolgt.
Der Parameter
is_unique_identifier ist veraltet. Bitte verwenden Sie stattdessen UniqueIdentifier.Der is_unique_identifier kann auch in anderen Sonderfallszenarien nützlich sein, z. B. wenn Sie nicht auf den anonymen visitor_code zugreifen können, der dem Besucher ursprünglich zugewiesen wurde, aber Zugriff auf eine interne ID haben, die über die Sitzungszusammenführungs-Funktionen mit dem anonymen Besucher verknüpft ist.Argumente
Metadaten-Werte sind über Rohdaten-Exporte und die Ergebnisseite zugänglich.Wenn der Parameter
metadata angegeben wird, verwendet Kameleoon diese angegebenen Werte für die aktuelle Konversion anstelle dessen, was zuvor mit der Methode add_data() gesammelt wurde. Wenn der Parameter weggelassen wird, verwendet Kameleoon die letzten getrackten Werte für diese CustomData vor der Konversion und innerhalb desselben Besuchs.Kameleoon berücksichtigt nur die Metadaten-Werte, die explizit als Parameter an die Methode track_conversion() übergeben werden.Im folgenden Beispiel verknüpft Kameleoon die Konversion nur mit dem Custom-Data-Wert, der explizit als Parameter angegeben wurde (hier: Index 5 mit dem Wert ‘Amex Credit Card’).Ausnahmen
Ereignisse
on_update_configuration()
Mit der Methodeon_update_configuration() können Sie das Ereignis behandeln, wenn die Konfiguration Daten aktualisiert hat. Sie nimmt einen Eingabeparameter, handler. Den Handler, der aufgerufen wird, wenn die Konfiguration über ein Echtzeit-Konfigurationsereignis aktualisiert wird.
Argumente
Datentypen
Browser
Der hier gespeicherteBrowser-Datensatz kann verwendet werden, um Experiment- und Personalisierungsberichte nach jedem damit verknüpften Wert zu filtern.
PageView
Der Index (ID) des Referrers ist auf der Konfigurationsseite des Akquisitionskanals in unserem Backoffice verfügbar. Achtung: Dieser Index beginnt bei 0, daher hat der erste Akquisitionskanal, den Sie für eine bestimmte Site erstellen, die ID 0 und nicht 1.
Conversion
Der hier gespeicherteConversion-Datensatz kann verwendet werden, um Experiment- und Personalisierungsberichte nach jedem damit verknüpften Ziel zu filtern.
CustomData
MitCustomData können beliebige Datentypen einfach mit jedem Besucher verknüpft werden. Sie können dann als Targeting-Bedingung in Segmenten oder als Filter/Aufschlüsselung in Experimentberichten verwendet werden.
Weitere Informationen zu Custom Data finden Sie in diesem Artikel.
- Jeder Besucher kann nur eine
CustomDatafür jeden eindeutigenindexhaben. Das Hinzufügen einer weiterenCustomDatamit demselbenindexersetzt die vorhandeneCustomData. - Der
indexder Custom Data ist im Custom-Data-Dashboard unter der Spalte “INDEX” zu finden. - Um zu verhindern, dass das SDK aus Datenschutzgründen Daten mit dem ausgewählten Index an Kameleoon-Server sendet, aktivieren Sie beim Erstellen der Custom Data die Option Use this data only locally for targeting purposes.
- Das Hinzufügen einer mit einem Namen erstellten
CustomData-Instanz, wenn die Konfiguration der SDK-Instanz nicht aktuell ist oder der Name nicht registriert ist, führt dazu, dass die Daten ignoriert werden.
Device
UserAgent
Speichert Informationen über den User-Agent des Besuchers. Serverseitige Experimente sind anfälliger für Bot-Traffic als clientseitige Experimente. Um dies zu beheben, verwendet Kameleoon die IAB/ABC International Spiders and Bots List, um bekannte Bots und Spider zu identifizieren. Kameleoon verwendet auch das FeldUserAgent, um Bots und anderen unerwünschten Traffic herauszufiltern, der sonst Ihre Konversionsmetriken verfälschen könnte. Weitere Details finden Sie im Hilfeartikel zur Bot-Filterung.
Wenn Sie interne Bots verwenden, empfehlen wir Ihnen, den Wert curl/8.0 des userAgent zu übergeben, um sie von unseren Analytics auszuschließen.
UniqueIdentifier
Wenn Sie keinenUniqueIdentifier für einen Besucher hinzufügen, wird der visitor_code als eindeutiger Besucher-Identifikator verwendet, was für Cross-Device-Experimente nützlich ist. Wenn Sie einen UniqueIdentifier für einen Besucher hinzufügen, verknüpft das SDK die geflushten Daten mit dem Besucher, der mit dem angegebenen Identifikator verknüpft ist.
Der UniqueIdentifier kann auch in anderen Sonderfallszenarien nützlich sein, z. B. wenn Sie nicht auf den anonymen visitor_code zugreifen können, der dem Besucher ursprünglich zugewiesen wurde, aber Zugriff auf eine interne ID haben, die über die Sitzungszusammenführungs-Funktionen mit dem anonymen Besucher verknüpft ist.
OperatingSystem
OperatingSystem enthält Informationen über das Betriebssystem des Geräts des Besuchers.
Cookie
Cookie enthält Informationen über die auf dem Gerät des Besuchers gespeicherten Cookies.
Geolocation
Geolocation enthält die Geolokationsdetails des Besuchers.
ApplicationVersion
ApplicationVersion repräsentiert die semantische Versionsnummer Ihrer Anwendung.
Zurückgegebene Typen
DataFile
DieDataFile enthält die Konfigurationsdetails des SDK.
Sie kann bei Bedarf der Kunden um zusätzliche Informationen erweitert werden. Wenn Sie weitere Details benötigen, wenden Sie sich bitte an Ihren Customer Success Manager.
FeatureFlag
DasFeatureFlag repräsentiert eine Reihe von Eigenschaften, die ein Feature Flag selbst definieren — zum Beispiel seine Variations, Rules, den Umgebungsstatus und andere verwandte Details.
Es kann bei Bedarf der Kunden um zusätzliche Informationen erweitert werden. Wenn Sie weitere Details benötigen, wenden Sie sich bitte an Ihren Customer Success Manager.
Variation
Variation enthält Informationen über die dem Besucher zugewiesene Variation (oder die Standardvariation, wenn keine spezifische Zuweisung existiert).
- Das
Variation-Objekt liefert Details über die zugewiesene Variation und ihr zugehöriges Experiment, während dasVariable-Objekt spezifische Details über jede Variable innerhalb einer Variation enthält. - Stellen Sie sicher, dass Ihr Code den Fall behandelt, in dem
id_oderexperiment_idmöglicherweiseNoneist, was eine Standardvariation anzeigt. - Der Hash
variableskann leer sein, wenn keine Variablen mit der Variation verknüpft sind.
Variable
Variable enthält Informationen über eine Variable, die mit der zugewiesenen Variation verknüpft ist.
Veraltete Methoden
get_feature_variation_key()
- 📨 Sendet Tracking-Daten an Kameleoon
Verwenden Sie stattdessen
get_variation().get_feature_variation_key auf.
Diese Methode nimmt einen visitor_code und einen feature_key als obligatorische Argumente, um einen Variation-Schlüssel für einen bestimmten Benutzer zu erhalten.
Wenn ein solcher Benutzer noch nie mit diesem Feature Flag verknüpft wurde, gibt das SDK einen Variation-Schlüssel zufällig zurück (gemäß den Feature-Flag-Regeln). Wenn ein Benutzer mit einem bestimmten visitor_code bereits mit diesem Feature Flag registriert ist, wird der vorherige Variation-Schlüssel-Wert erkannt. Wenn der Benutzer keiner der Regeln entspricht, wird der Standardwert zurückgegeben, den wir im Konto Ihres Kunden definieren können.
Sie müssen sicherstellen, dass in Ihrem Code eine ordnungsgemäße Fehlerbehandlung eingerichtet ist, wie im Beispiel rechts gezeigt, um potenzielle Ausnahmen abzufangen.
Wenn Sie einen visitor_code angeben, verwendet die Methode get_feature_variation_key den visitor_code als eindeutigen Besucher-Identifikator, was für Cross-Device-Experimente nützlich ist. Wenn Sie einen visitor_code angeben und den Parameter is_unique_identifier auf true setzen, verknüpft das SDK die geflushten Daten mit dem Besucher, der mit dem angegebenen Identifikator verknüpft ist.
Der Parameter
is_unique_identifier ist veraltet. Bitte verwenden Sie stattdessen UniqueIdentifier.Der is_unique_identifier kann auch in anderen Sonderfallszenarien nützlich sein, z. B. wenn Sie nicht auf den anonymen visitor_code zugreifen können, der dem Besucher ursprünglich zugewiesen wurde, aber Zugriff auf eine interne ID haben, die über die Sitzungszusammenführungs-Funktionen mit dem anonymen Besucher verknüpft ist.Argumente
Rückgabewert
Geworfene Ausnahmen
get_active_features()
Verwenden Sie stattdessen
get_variations().Argumente
Rückgabewert
Geworfene Ausnahmen
get_active_feature_list_for_visitor()
Verwenden Sie stattdessen
get_variation().Argumente
Rückgabewert
get_feature_variable()
- 📨 Sendet Tracking-Daten an Kameleoon
Verwenden Sie stattdessen
get_variation().Zuvor
obtain_feature_variable genannt, das in der SDK-Version 3.0.0 entfernt wurde.get_feature_variable auf.
Diese Methode nimmt einen visitor_code, einen feature_key und einen variable_key als obligatorische Argumente.
Wenn ein Benutzer noch nie mit diesem Feature Flag verknüpft wurde, gibt das SDK einen Variablenwert zufällig zurück (gemäß den Feature-Flag-Regeln). Wenn ein Benutzer mit einem bestimmten visitor_code bereits mit diesem Feature Flag registriert ist, wird der Variablen-Wert für die zugehörige Variation erkannt. Wenn der Benutzer keiner der Regeln entspricht, wird die Standardvariable zurückgegeben.
Sie müssen sicherstellen, dass in Ihrem Code eine ordnungsgemäße Fehlerbehandlung eingerichtet ist, wie im Beispiel rechts gezeigt, um potenzielle Ausnahmen abzufangen.
Wenn Sie einen visitor_code angeben, verwendet die Methode get_feature_variable den visitor_code als eindeutigen Besucher-Identifikator, was für Cross-Device-Experimente nützlich ist. Wenn Sie einen visitor_code angeben und den Parameter is_unique_identifier auf true setzen, verknüpft das SDK die geflushten Daten mit dem Besucher, der mit dem angegebenen Identifikator verknüpft ist.
Der Parameter
is_unique_identifier ist veraltet. Bitte verwenden Sie stattdessen UniqueIdentifier.Der is_unique_identifier kann auch in anderen Sonderfallszenarien nützlich sein, z. B. wenn Sie nicht auf den anonymen visitor_code zugreifen können, der dem Besucher ursprünglich zugewiesen wurde, aber Zugriff auf eine interne ID haben, die über die Sitzungszusammenführungs-Funktionen mit dem anonymen Besucher verknüpft ist.Argumente
Rückgabewert
Geworfene Ausnahmen
get_feature_variation_variables()
Verwenden Sie stattdessen
get_variation().Zuvor
get_feature_all_variables genannt, das in der SDK-Version 3.0.0 entfernt wurde.get_feature_variation_variables auf. Eine Feature-Variable kann über unsere Webanwendung einfach geändert werden.
Diese Methode nimmt den Eingabeparameter feature_key. Sie gibt Daten vom Typ Dict[str,Any] zurück, wie in der Weboberfläche definiert. Sie wirft eine Ausnahme (FeatureNotFound), wenn das angeforderte Feature nicht in der internen Konfiguration des SDK gefunden wurde.
Argumente
Rückgabewert
Geworfene Ausnahmen
get_feature_list()
Zuvor
obtain_feature_list genannt, das in der SDK-Version 3.0.0 entfernt wurde.