Zum Hauptinhalt springen
Diese Funktion befindet sich derzeit in der offenen Beta-Phase und ist noch nicht im Segment Destination Catalog sichtbar. Bitte wenden Sie sich an das Kameleoon-Support-Team, um mehr uber die Implementierung von Segment Destination Actions in Ihrer Web- oder Mobile-App zu erfahren.
Mit dieser Segment x Kameleoon-Integration wird jedes von Segment ausgeloste Ereignis automatisch an Kameleoon gesendet, was Entwicklern die Zeit erspart, einen vorhandenen Segment-Tracking-Plan in Kameleoon neu zu implementieren. Wenn der Name des Segment-Ereignisses dem Namen eines vorhandenen Ziels in Ihrem Kameleoon-Konto entspricht, wird dem Besucher eine Conversion fur dieses Ziel zugeordnet. Wenn das Ziel nicht existiert, erstellt Kameleoon ein benutzerdefiniertes Ziel, indem es den Namen des Segment-Ereignisses verwendet, und ordnet dem Besucher die Conversion zu. Das Ziel wird auf der Kameleoon-Ziele-Seite mit der Namenskonvention “Segment.io — eventName” angezeigt. Nachdem das Ziel erstellt wurde, konnen Sie es in jedem Ihrer Experimente oder Personalisierungen verwenden.

Segment-Ereignisse, -Traits, -Gruppen und -Personas in Kameleoon importieren

Mit dieser Segment x Kameleoon-Integration:
  • Jedes von Segment ausgeloste Ereignis wird automatisch an Kameleoon gesendet, was Entwicklern Zeit beim Neuimplementieren eines bestehenden Segment-Tracking-Plans in Kameleoon spart. Page-, Screen- und Track-Ereignisse werden automatisch als Kameleoon-Custom-Ziel erfasst. Sie konnen jedes davon in Ihren Experimenten/Personalisierungen verwenden oder um Benutzer anzusprechen, die eine bestimmte Aktion auf Ihrer Website oder mobilen App ausfuhren.
  • Track-Ereignisse vom Typ Audience Entered oder Audience exited werden als Kameleoon-Custom-Data erfasst, um in unserem Segment Builder zum Targeting von Benutzer-Personas verwendet zu werden.
  • Track-Ereignisse vom Typ identify mit Traits werden als Kameleoon-Custom-Data erfasst, um in unserem Segment Builder zum Targeting von Benutzern mit bestimmten Traits verwendet zu werden.
  • Track-Ereignisse vom Typ group werden als Kameleoon-Custom-Data erfasst, um in unserem Segment Builder zum Targeting einer Gruppen-ID verwendet zu werden.

Uberlegungen

Beachten Sie folgende Punkte beim Senden von Ereignissen an Kameleoon:
  • Sie mussen diese Integration in jedem Segment-Projekt aktivieren, in dem Sie sie verwenden mochten.
  • Sie benotigen einen kostenpflichtigen Kameleoon-Plan, um diese Integration zu aktivieren.
  • Sie mussen Ihre Segment-Benutzer mit Kameleoon-Besuchern abgleichen, indem Sie dasselbe Identifikationssystem fur beide Tools verwenden.
  • Diese Integration weist technische Beschrankungen auf.
  • Segment sendet alle Benutzer-, Ereignis- und Gruppen-Eigenschaften zusammen mit dem Ereignis.

Beschrankungen

Relevante Beschrankungen fur Kameleoon-Ereignisse sind:
  • Maximale Grosse der Ereignisdaten von 1 MB
  • Es konnen nicht mehr als 50 Kameleoon-Ziele innerhalb von 10 Sekunden erstellt werden
  • Es konnen nicht mehr als 1000 Kameleoon-Ziele innerhalb von 60 Minuten erstellt werden

Einrichtung

Voraussetzungen

Um eine Event Streaming-Integration von Segment zu Kameleoon zu konfigurieren, benotigen Sie die folgenden Informationen von Kameleoon:
  • REST API Key: Um mit dem Senden von Daten an Kameleoon zu beginnen, benotigen Sie Ihren API Key. Weitere Hilfe finden Sie im Abschnitt Generate your API Key.
  • Sitecode: Sie mussen den Sitecode fur das Projekt angeben, das Sie mit dieser Integration verwenden mochten. Wo Sie Ihren Sitecode finden, erfahren Sie in der dedizierten Kameleoon-Dokumentation.

Kameleoon-Einrichtung

Stellen Sie sicher, dass Sie Ihren API Key und Ihren Sitecode haben, damit Sie Ihre Integration von Segment aus einrichten konnen.

Generieren Sie Ihren API Key

So generieren Sie Ihren API Key:
  1. Holen Sie sich Ihre Client-ID und Ihr Client Secret. Sie finden sie in Ihrer Profilseite.
  2. Verwenden Sie Ihre Client-ID und Ihr Client Secret mit der folgenden URL, um Ihren API Key zu generieren:
https://integrations.kameleoon.com/segmentio/getapikey?id=**[CLIENT ID]**&secret=**[CLIENT SECRET]**

Sitecode abrufen

Sie finden den Sitecode Ihres Projekts im Projekt-Dashboard. Wo Sie Ihren Sitecode finden, erfahren Sie in der dedizierten Kameleoon-Dokumentation.

Segment-Einrichtung

  1. Klicken Sie in der Segment-Webanwendung auf Catalog > Destinations > Destinations Actions > Add destination.
  2. Wahlen Sie die Source aus, die Sie mit Kameleoon (Actions) verbinden mochten.
  3. Klicken Sie auf Confirm Source.
  1. Fullen Sie im Seitenpanel Basic Settings die erforderlichen Felder aus:
    • Name: Geben Sie einen Namen ein, der Ihnen hilft, dieses Ziel in Segment zu identifizieren.
    • API Key: Fugen Sie Ihren Kameleoon-API-Key ein.
    • Sitecode: Fugen Sie den Sitecode Ihres Kameleoon-Projekts ein. Sie finden ihn im Projekt-Dashboard.
  2. Klicken Sie auf den Schalter Enable Destination.
  3. Klicken Sie auf Save Changes.

Einen Segment-Benutzer mit einem Kameleoon-Besucher abgleichen

Die Integration erfordert, dass Sie dasselbe Identifikationssystem fur beide Tools verwenden. Wahrend Segment die userId verwendet, verwendet Kameleoon den kameleoonVisitorCode. Um zu identifizieren, welcher Besucher die weitergeleiteten Segment-Ereignisse ausgelost hat, mussen Sie den kameleoonVisitorCode in Ihre Segment-Ereignisse aufnehmen. Wenn Sie Kameleoon Web Experiments in Ihrem Projekt verwenden, setzt Kameleoon ein Cookie, das einen anonymen eindeutigen Identifikator namens Kameleoon Visitor Code enthalt, der einem Besucher zufallig zugewiesen wird. Diese ID wird verwendet, um einen Besucher eindeutig zu identifizieren. Um den kameleoonVisitorCode aus den Browser-Cookies abzurufen, verwenden Sie den folgenden Code:
// Retrieve kameleoonVisitorCode - client-side cookies
 const parseCookie = (str) =>
     str
         .split(";")
         .map((v) => v.split("="))
         .reduce((acc, v) => {
             acc[decodeURIComponent(v[0].trim())] = decodeURIComponent(v[1].trim());
             return acc;
         }, {});
 const {kameleoonVisitorCode} = parseCookie(document.cookie);
Um den kameleoonVisitorCode zu allen Ihren Segment-Ereignissen hinzuzufugen, konnen Sie den folgenden Middleware-Code zu Ihrer Website hinzufugen:
analytics.addSourceMiddleware(({ payload, next, integrations }) => {
     const event = payload.obj;
     const kamVC = Kameleoon.API.Visitor.code;
     switch (event.type) {
       case "track":
          payload.obj.properties.kameleoonVisitorCode = kamVC;
          break;
       case "page":
         payload.obj.properties.kameleoonVisitorCode = kamVC;
         break;
       case "identify":
         payload.obj.traits.kameleoonVisitorCode = kamVC;
         break;
     }
     next();
   });
Wenn Ihr Projekt eine mobile Anwendung ist, konnen Sie dieselbe Middleware mit der zugehorigen Segment-Bibliothek einrichten: Wenn Ihr Projekt ein serverseitiges Projekt ist, konnen Sie eine Middleware mithilfe der Plugin Architecture erstellen: Sie konnen das EventPlugin verwenden, mit dem Sie das Verhalten von Ereignisfunktionen neu definieren konnen. Alternativ konnen Sie das DestinationPlugin wahlen, das ahnlich wie das EventPlugin funktioniert, jedoch auf ein bestimmtes Ziel zugeschnitten ist. Hier ist ein Beispiel fur ein C#-Plugin:
class KameleoonEnrichment : Plugin
{
    public override PluginType Type => PluginType.Enrichment;
    public override RawEvent Execute(RawEvent incomingEvent)
    {
        incomingEvent.Context["kameleoonVisitorCode"] = "PUT THE VISITOR CODE HERE";
        return incomingEvent;
    }
}
Wenn Ihre Website Kameleoon Web Experimentation verwendet, konnen Sie den folgenden Code zu Ihrem globalen benutzerdefinierten Skript hinzufugen:
const addVisitorCodeToEventsPayload = ({ payload, next, integrations }) => {
     payload.obj.properties.kameleoonVisitorCode = window.Kameleoon.API.Visitor.code;
     next(payload);
 };
 Kameleoon.API.Core.runWhenConditionTrue(
     () => typeof window.analytics?.addSourceMiddleware === "function",
     () => analytics.addSourceMiddleware(addVisitorCodeToEventsPayload),
     100
 );
Um mehr uber das Hochladen von Ereignissen zu Segment zu erfahren, empfehlen wir Ihnen, die dedizierte Dokumentationsseite zu lesen.

Automatisch erstellte Ziele abrufen

Wie bereits erwahnt, erstellt Kameleoon ein benutzerdefiniertes Ziel mit dem Namen des Segment-Ereignisses und ordnet dem Besucher die Conversion zu. Die Namen der erstellten Ziele beginnen mit “SegmentIO”, gefolgt vom Ereignistyp und Ereignisnamen. Beispiel: Wenn der Ereignisname “Clicked on Checkout” lautet, wird das generierte Ziel “SegmentIO track - Clicked on Checkout” genannt.
Daruber hinaus erhalten automatisch erstellte Ziele das Tag “segment.io”. Um diese automatisch erstellten Ziele zu finden, gehen Sie zum Ziel-Dashboard und suchen Sie nach Zielen mit dem Tag “segment.io”, indem Sie den Tag-Filter im Seitenpanel verwenden.

Automatisch erstellte Ziele umbenennen oder loschen

Beim Empfang eines Ereignisses von Segment sucht Kameleoon nach dem vorhandenen zugehorigen Ziel, indem es einen passenden Zielnamen sucht (unter Berucksichtigung der Namenskonvention). Wenn Sie den Zielnamen andern, wird Kameleoon ihn nicht finden. Kameleoon erstellt ein neues Ziel mit einem Namen, der dem Namen des Segment.io-Ereignisses entspricht (und die vorherigen Ziel-Conversions sind weiterhin dem vorherigen Ziel zugeordnet). Daher empfehlen wir, wenn Sie den Namen eines Ziels andern mochten, auch den Namen des Segment-Ereignisses zu andern, damit er dem neuen Zielnamen entspricht. Wir empfehlen auch, den Zielnamen zu andern, wenn Sie sich entscheiden, ein Segment-Ereignis umzubenennen, damit er dem neuen Ereignisnamen entspricht. Wenn Sie ein Ziel loschen, wird Kameleoon es nicht finden. Kameleoon erstellt ein neues Ziel mit einem Namen, der dem Namen des Segment-Ereignisses entspricht. Da es sich um ein neues Ziel handelt, gehen alle Ziel-Conversions verloren.

Automatische Ziel-Conversion

Nachdem ein Ziel generiert wurde, beginnt Kameleoon, die Conversions mit dem Ziel zu verknupfen. Wie bereits erwahnt, wird, wenn der Name des Segment-Ereignisses dem Namen eines vorhandenen Ziels in Ihrem Kameleoon-Konto entspricht, eine Conversion fur dieses Ziel mit dem Besucher verknupft. Wenn Sie im Goals-Dashboard auf die Schaltflache Edit eines Segment-Ziels klicken, sehen Sie das folgende Popup:
Achten Sie nicht auf die angezeigte Nachricht: “To trigger a custom goal conversion, you can either use our JavaScript Activation API or the SDK corresponding to your backend server language (example for NodeJS)”.
Da die von Kameleoon empfangenen Ereignisse automatisch eine Ziel-Conversion auslosen, mussen Sie keinen Frontend- oder Backend-Code implementieren, um ein Segment-Ziel auszulosen. Das Ziel wird automatisch konvertiert, wenn das zugehorige Segment-Ereignis ausgelost und an Kameleoon weitergeleitet wird.

Von den Funktionen der Segment Destination Actions profitieren

Das Destination Actions-Framework verbessert klassische Ziele, indem es Ihnen ermoglicht, zu sehen und zu kontrollieren, wie Segment die Ereignisdaten, die es von Ihren Quellen empfangt, an aktionsbasierte Ziele sendet. Jede Action in einem Ziel listet die erforderlichen und optionalen Ereignisdaten auf.

Funktionen

  • Filters: Mit Zielfiltern konnen Sie Ereignisse, Eigenschaften und Benutzer-Traits senden oder blockieren, damit sie ein Ziel erreichen. Zielfilter werden auf der Ebene der Zielinstanz einer bestimmten Quelle angewendet. Aktivierte Filter werden auf jedes passende Ereignis angewendet, das zu diesem Ziel ubermittelt wird. Details zu erweiterten Funktionen finden Sie in der Destination Filters API-Dokumentation.
  • Mappings: Konfigurieren Sie das Daten-Mapping von Ihrer Quelle zum Ziel (Kameleoon).
  • Event tester: Um sicherzustellen, dass Ihre Ereignisse an ihr Ziel geliefert werden, generieren Sie ein Ereignis-Payload und senden Sie ein Testereignis. Visit Documentation.
  • Alerts: Abonnieren Sie Benachrichtigungen, wenn die Ubermittlungsrate dieses Ziels innerhalb eines Zeitraums von 24 Stunden unter einen bestimmten Schwellenwert fallt.
  • Event delivery: Das Event Delivery-Tool hilft Ihnen zu verstehen, ob Daten Ihre Ziele erreichen, und zu sehen, ob Segment Probleme bei der Lieferung Ihrer Quelldaten hatte. Siehe die dedizierte Dokumentation
  • Functions: Verwenden Sie Insert Functions, um benutzerdefinierte Transformationen an Ereignis-Payloads vorzunehmen, bevor Sie sie an ein verbundenes Ziel senden. Um eine vorhandene Insert Function zu verwenden, verbinden Sie eine aus dem Katalog mit diesem Ziel.

Migration vom klassischen Kameleoon-Ziel

Um vom klassischen Kameleoon-Ziel zu migrieren, konnen Sie diese drei Schritte befolgen:

Besucher-Identifikation

  • Fugen Sie den kameleoonVisitorCode in Ihre Segment-Ereignisse ein, um Besucher genau zu verfolgen.

Mapping, Filter und Tests

  • Definieren Sie Mapping und Filter auf der Ziel-Konfigurationsseite.
  • Testen Sie Ereignisse, um die genaue Zielerstellung und Conversion-Verfolgung sicherzustellen.

Aktivierung

  • Aktivieren Sie das Kameleoon (Actions)-Ziel, wenn alles getestet und bereit ist.
  • Deaktivieren Sie das klassische Kameleoon-Ziel.

Personas, Traits und Gruppe

Mit Kameleoon konnen Sie Benutzer basierend auf ihrer Segment-Persona ansprechen: eine Gruppe mit bestimmten Eigenschafts-Traits. Um Personas, Traits und Gruppen-IDs in unserem Segment Builder zu verwenden, mussen Sie eine Custom Data einrichten in Ihrem Kameleoon-Konto fur das Projekt Ihrer Wahl.

Personas

Sie konnen den Namen der Custom Data wahlen (z. B. SegmentIO personas). Die Custom Data muss vom Typ List of string sein.
Bitte befolgen Sie die folgenden Richtlinien nur fur Web Experimentation.
Sie konnen den folgenden Code in der Erfassungsmethode der Custom Data verwenden:
window.k_segmentIO = window.k_segmentIO || {};
 if(!window.k_segmentIO.runtime)
 {
     window.k_segmentIO.runtime = true;
Je nach Ihrer Einrichtung mussen Sie die geeignete Logik zum Abrufen der Benutzer-ID bestimmen. Wenn Sie einen Track-Event-Aufruf verwendet haben, um unseren Visitor Code zu senden, verwenden Sie die folgende Zeile: const user_id = Kameleoon.API.Visitor.code; Alternativ, wenn Sie unseren Visitor Code als Segment-Benutzer-ID verwenden oder die Benutzer-ID aus dem Analytics-Objekt von Segment abrufen mussen, verwenden Sie die folgende Zeile:
const user_id = window.analytics.user().id() || window.analytics.user().anonymousId(); 

`Kameleoon.API.Data.retrieveDataFromRemoteSource(`COHORTS_${user_id}`, cohorts => {     window.k_segmentIO.cohorts = cohorts && cohorts !== '{}' ? Object.keys(cohorts).filter(key => cohorts[key]) : []; });``
 }
 if(!window.k_segmentIO.cohorts || !window.k_segmentIO.cohorts.length) return;
 return {"value": window.k_segmentIO.cohorts, "overwrite": true};
Um Segment-Personas in serverseitigen Experimenten oder Feature Flags zu verwenden, konnen Sie die in der Dokumentation des jeweiligen SDKs beschriebenen Richtlinien konsultieren.Unsere SDKs verwenden die Methode getRemoteData(). Diese Methode ruft Daten ab, die von Segment auf unseren Servern gespeichert sind, und macht sie in Ihrem Backend-Code zuganglich.Der “key”-Wert, der als erster Parameter verwendet werden soll, sollte folgendem Format folgen: IDENTIFY{user_id}.

Segment Persona-Namen in Kameleoon abrufen

Klicken Sie auf Next und aktivieren Sie die Option Save the values for the targeting condition associated with the custom data point option. Fugen Sie den JS-Code unten hinzu und ersetzen Sie XXXXXXXXX durch den Kameleoon Sitecode. Um den Sitecode zu finden, folgen Sie bitte dieser Dokumentation.
var xhr = new XMLHttpRequest();
xhr.open("GET", '[https://api-data.kameleoon.com/data?key=common&siteCode=XXXXXXXXX](https://api-data.kameleoon.com/data?key=common&siteCode=XXXXXXXXX)', false);
var SegmentIOPersonas = [];
xhr.onreadystatechange = function() { 
   if(this.readyState === 4) {
     var segmentIOcohorts = JSON.parse(xhr.response);
	  if (segmentIOcohorts && segmentIOcohorts.cohorts) {
		  segmentIOcohorts.cohorts.forEach(persona => SegmentIOPersonas.push({value: persona, label: persona}) );

	   }
   }
}
xhr.send();
return SegmentIOPersonas;
Klicken Sie auf Validate, um die Custom Data zu erstellen. Das war’s! Sie konnen jetzt Segment-Personas in unserem Segment Builder verwenden. Die Liste der verfugbaren Personas wird angezeigt, wenn Sie den Operator is among the values wahlen.

Traits

Um Traits in unserem Segment Builder zum Targeting Ihrer Kampagnen zu verwenden, mussen Sie pro Trait-Typ eine Custom Data erstellen. Angenommen, Sie mochten Benutzer basierend auf dem Plan ansprechen, den sie auf Ihrer Website abonniert haben. Ihre Website hat drei verschiedene Plane: freemium, scale und enterprise. Sie mussen eine Custom Data einrichten mit dem Namen “Subscribed Plan”, und die Custom Data muss vom Typ “string” sein.
Bitte befolgen Sie die folgenden Richtlinien nur fur Web Experimentation.
Sie konnen den folgenden Code in der Erfassungsmethode der Custom Data verwenden:
window.k_segmentIO = window.k_segmentIO || {};
 if(!window.k_segmentIO.runtime)
 {
     window.k_segmentIO.runtime = true;
Je nach Ihrer Einrichtung mussen Sie die geeignete Logik zum Abrufen der Benutzer-ID bestimmen. Wenn Sie einen Track-Event-Aufruf verwendet haben, um unseren Visitor Code zu senden, verwenden Sie die folgende Zeile: const user_id = Kameleoon.API.Visitor.code; Alternativ, wenn Sie unseren Visitor Code als Segment-Benutzer-ID verwenden oder die Benutzer-ID aus dem Analytics-Objekt von Segment abrufen mussen, verwenden Sie den folgenden Code:
const user_id = window.analytics.user().id() || window.analytics.user().anonymousId(); 
   
  Kameleoon.API.Data.retrieveDataFromRemoteSource(`IDENTIFY_${user_id}`, segment_identify_properties => {
         if(segment_identify_properties && segment_identify_properties.traits && segment_identify_properties.traits.plan){
             window.k_segmentIO.plan = segment_identify_properties.traits.plan;
         }
     });
 }
 if(!window.k_segmentIO.plan) return;
 return {"value": window.k_segmentIO.plan, "overwrite": true};
Um Segment-Personas in serverseitigen Experimenten oder Feature Flags zu verwenden, konnen Sie die in der Dokumentation des jeweiligen SDKs beschriebenen Richtlinien konsultieren.Unsere SDKs verwenden die Methode getRemoteData(). Diese Methode ruft Daten ab, die von Segment auf unseren Servern gespeichert sind, und macht sie in Ihrem Backend-Code zuganglich.Der “key”-Wert, der als erster Parameter verwendet werden soll, sollte folgendem Format folgen: IDENTIFY{user_id}.
Sie konnen denselben Richtlinien fur jede Trait-Eigenschaft folgen, die Sie im Segment Builder von Kameleoon verwenden mochten.

Gruppen-IDs

Um Gruppen-IDs in unserem Segment Builder zum Targeting Ihrer Kampagnen zu verwenden, mussen Sie eine Custom Data einrichten mit dem Namen “Group ID”, und die Custom Data muss vom Typ string sein.
Bitte befolgen Sie die folgenden Richtlinien nur fur Web Experimentation.
Sie konnen den folgenden Code in der Erfassungsmethode der Custom Data verwenden:
window.k_segmentIO = window.k_segmentIO || {};
 if(!window.k_segmentIO.runtime)
 {
     window.k_segmentIO.runtime = true;
Je nach Ihrer Einrichtung mussen Sie die geeignete Logik zum Abrufen der Benutzer-ID bestimmen. Wenn Sie einen Track-Event-Aufruf verwendet haben, um unseren Visitor Code zu senden, verwenden Sie die folgende Zeile: const user_id = Kameleoon.API.Visitor.code; Alternativ, wenn Sie unseren Visitor Code als Segment-Benutzer-ID verwenden oder die Benutzer-ID aus dem Analytics-Objekt von Segment abrufen mussen, verwenden Sie die folgende Zeile:
const user_id = window.analytics.user().id() || window.analytics.user().anonymousId(); 
  
   Kameleoon.API.Data.retrieveDataFromRemoteSource(`IDENTIFY_${user_id}`, segment_identify_properties => {
         if(segment_identify_properties && segment_identify_properties.groupId){
             window.k_segmentIO.groupId = segment_identify_properties.groupId;
         }
     });
 }
 if(!window.k_segmentIO.groupId) return;
 return {"value": window.k_segmentIO.groupId, "overwrite": true};
Um Segment-Personas in serverseitigen Experimenten oder Feature Flags zu verwenden, konnen Sie die in der Dokumentation des jeweiligen SDKs beschriebenen Richtlinien konsultieren.Unsere SDKs verwenden die Methode getRemoteData(). Diese Methode ruft Daten ab, die von Segment auf unseren Servern gespeichert sind, und macht sie in Ihrem Backend-Code zuganglich.Der “key”-Wert, der als erster Parameter verwendet werden soll, sollte folgendem Format folgen: IDENTIFY{user_id}.