Saltar al contenido principal
Esta funcionalidad se encuentra actualmente en beta abierta y aún no es visible en el Segment Destination Catalog. Póngase en contacto con el equipo de soporte de Kameleoon para obtener más información sobre la implementación de las Segment destination actions en su aplicación web o móvil.
Con esta integración Segment x Kameleoon, cada evento activado por Segment se envía automáticamente a Kameleoon, lo que ahorra a los desarrolladores tiempo al evitar volver a implementar en Kameleoon un plan de seguimiento de Segment existente. Si el nombre del evento de Segment coincide con el nombre de un objetivo existente en su cuenta de Kameleoon, se asociará una conversión para este objetivo con el visitante. Si el objetivo no existe, Kameleoon creará un objetivo personalizado utilizando el nombre del evento de Segment y asociará la conversión con el visitante. El objetivo aparecerá en la página de objetivos de Kameleoon con la convención de nombres “Segment.io — eventName”. Una vez creado el objetivo, puede utilizarlo en cualquiera de sus experimentos o personalizaciones.

Importar eventos, traits, grupos y personas de Segment a Kameleoon

Con esta integración Segment x Kameleoon:
  • Cada evento activado por Segment se enviará automáticamente a Kameleoon, lo que ahorra a los desarrolladores tiempo al evitar volver a implementar en Kameleoon un plan de seguimiento de Segment existente. Los eventos Page, Screen y Track se recogen automáticamente como un objetivo personalizado de Kameleoon. Puede usar cualquiera de ellos en sus experimentos/personalizaciones o para segmentar a los usuarios que realicen una acción específica en su sitio web o aplicación móvil.
  • Los eventos Track del tipo Audience Entered o Audience exited se recogen como un dato personalizado de Kameleoon para utilizarse en nuestro Segment builder para segmentar a las personas de usuario.
  • Los eventos Track del tipo identify con traits se recogen como datos personalizados de Kameleoon para utilizarse en nuestro Segment builder para segmentar a usuarios con traits específicos.
  • Los eventos Track del tipo group se recogen como un dato personalizado de Kameleoon para utilizarse en nuestro Segment builder para segmentar un ID de grupo.

Consideraciones

Tenga en cuenta lo siguiente al enviar eventos a Kameleoon:

Limitaciones

Los límites relevantes para los eventos de Kameleoon son:
  • 1 MB de tamaño máximo de los datos del evento.
  • No se pueden crear más de 50 objetivos de Kameleoon en un período de 10 segundos.
  • No se pueden crear más de 1000 objetivos de Kameleoon en un período de 60 minutos.

Configuración

Requisitos previos

Para configurar una integración Event Streaming de Segment a Kameleoon, necesita la siguiente información de Kameleoon:
  • REST API Key: Para empezar a enviar datos a Kameleoon, necesita su API Key. Consulte la sección Generar su API Key para obtener más ayuda.
  • Sitecode: Debe proporcionar el Sitecode del proyecto que quiere utilizar con esta integración. Consulte la documentación específica de Kameleoon para saber dónde puede encontrar su Sitecode.

Configuración de Kameleoon

Asegúrese de tener su API Key y su Sitecode para poder configurar su integración desde Segment.

Generar su API Key

Para generar su API Key:
  1. Obtenga su client ID y client secret. Puede encontrarlos en la página de su perfil.
  2. Utilice su client ID y secret con la siguiente URL para generar su API Key:
https://integrations.kameleoon.com/segmentio/getapikey?id=**[CLIENT ID]**&secret=**[CLIENT SECRET]**

Obtener su Sitecode

Puede encontrar el Sitecode de su proyecto en el panel del proyecto. Consulte la documentación específica de Kameleoon para saber dónde puede encontrar su Sitecode.

Configuración de Segment

  1. En la aplicación web de Segment, haga clic en Catalog > Destinations > Destinations Actions > Add destination.
  2. Seleccione la Source que quiere conectar con Kameleoon (Actions).
  3. Haga clic en Confirm Source.
  1. En el panel lateral Basic Settings, rellene los campos obligatorios:
    • Name: Introduzca un nombre que le ayude a identificar este destino en Segment.
    • API Key: Pegue su API key de Kameleoon.
    • Sitecode: Pegue el sitecode de su proyecto de Kameleoon. Puede encontrarlo en el panel del proyecto.
  2. Haga clic en el interruptor Enable Destination.
  3. Haga clic en Save Changes.

Hacer coincidir un usuario de Segment con un visitante de Kameleoon

La integración requiere que utilice el mismo sistema de identificadores para ambas herramientas. Mientras Segment utiliza el userId, Kameleoon utiliza el kameleoonVisitorCode. Para identificar qué visitante activó los eventos de Segment reenviados, debe incluir el kameleoonVisitorCode en sus eventos de Segment. Si utiliza Kameleoon Web Experiments en su proyecto, Kameleoon coloca una cookie que contiene un identificador único anónimo llamado el Kameleoon Visitor Code, que se asigna aleatoriamente a un visitante. Este ID se utiliza para identificar de forma única a un visitante. Para recuperar el kameleoonVisitorCode de las cookies del navegador, utilice el siguiente código:
// 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);
Para añadir el kameleoonVisitorCode a todos sus eventos de Segment, puede añadir el siguiente código middleware a su sitio web:
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();
   });
Si su proyecto es una aplicación móvil, puede hacer el mismo middleware utilizando la biblioteca de Segment asociada: Si su proyecto es un proyecto del lado del servidor, puede crear un middleware utilizando la Plugin Architecture: Puede elegir utilizar el EventPlugin, que le permite redefinir cómo se comportan las funciones de evento. Alternativamente, puede optar por el DestinationPlugin, que opera de forma similar al EventPlugin, pero está adaptado a un destino específico. Aquí hay un ejemplo de un Plugin en C#:
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;
    }
}
Si su sitio web utiliza Kameleoon Web Experimentation, puede añadir el siguiente código a su global custom script:
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
 );
Para saber más sobre la carga de eventos a Segment, recomendamos leer la página de documentación específica.

Recuperar los objetivos creados automáticamente

Como se ha mencionado anteriormente, Kameleoon creará un objetivo personalizado utilizando el nombre del evento de Segment y asociará la conversión al visitante. El nombre de los objetivos creados comenzará con “SegmentIO” seguido del tipo de evento y el nombre del evento. Ejemplo: Si el nombre del evento es “Clicked on Checkout”, el objetivo generado se llamará “SegmentIO track - Clicked on Checkout”.
Además, los objetivos creados automáticamente tendrán adjunta la etiqueta “segment.io”. Para encontrar estos objetivos creados automáticamente, vaya al panel de objetivos y busque los objetivos que tengan la etiqueta “segment.io” utilizando el filtro de etiquetas del panel lateral.

Renombrar o eliminar objetivos creados automáticamente

Al recibir un evento de Segment, Kameleoon buscará el objetivo asociado existente buscando un nombre de objetivo coincidente (teniendo en cuenta la convención de nombres). Si cambia el nombre del objetivo, Kameleoon no lo encontrará. Kameleoon creará un nuevo objetivo con un nombre que coincida con el nombre del evento de Segment.io (y las conversiones del objetivo anterior seguirán adjuntas al objetivo anterior). Por lo tanto, si quiere cambiar el nombre de un objetivo, recomendamos cambiar también el nombre del evento de Segment para que coincida con el nuevo nombre del objetivo. También recomendamos cambiar el nombre del objetivo si decide renombrar un evento de Segment para que coincida con el nuevo nombre del evento. Si decide eliminar un objetivo, Kameleoon no lo encontrará. Kameleoon creará un nuevo objetivo con un nombre que coincida con el nombre del evento de Segment. Como es un objetivo nuevo, se perderán todas las conversiones del objetivo.

Conversión automática de objetivos

Ahora que se ha generado un objetivo, Kameleoon empezará a asociar las conversiones con el objetivo. Como se ha mencionado anteriormente, si el nombre del evento de Segment coincide con el nombre de un objetivo existente en su cuenta de Kameleoon, se asocia una conversión para este objetivo con el visitante. En el panel Goals, si hace clic en el botón Edit de un objetivo de Segment, verá el siguiente pop-up:
No preste atención al mensaje mostrado: “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)”.
Dado que los eventos recibidos por Kameleoon activarán automáticamente una conversión de objetivo, no necesita implementar ningún código de frontend o backend para activar un objetivo de Segment. El objetivo se convertirá automáticamente si el evento de Segment asociado se activa y se reenvía a Kameleoon.

Aprovechar las funcionalidades de Segment Destination Actions

El framework Destination Actions mejora los destinos clásicos al permitirle ver y controlar cómo Segment envía los datos de evento que recibe de sus fuentes a destinos basados en acciones. Cada Action en un destino enumera los datos de evento que requiere y los datos de evento opcionales.

Funcionalidades

  • Filters: Los Destination filters le permiten enviar o bloquear eventos, propiedades y traits de usuario para que no lleguen a un destino. Los Destination filters se aplican a nivel de instancia de destino de una fuente determinada. Los filtros habilitados se aplican a todos los eventos coincidentes en tránsito a este destino. Para obtener detalles sobre la funcionalidad avanzada, consulte la documentación de la Destination Filters API.
  • Mappings: Configure el mapeo de datos desde su fuente al destino (Kameleoon).
  • Event tester: Para asegurarse de que sus eventos se entregan en su destino, genere un payload de evento y envíe un evento de prueba. Visite la documentación.
  • Alerts: Suscríbase a alertas cuando la tasa de entrega de este destino caiga por debajo de un determinado umbral dentro de un período de 24 horas.
  • Event delivery: La herramienta Event Delivery le ayuda a entender si los datos están llegando a sus destinos y a ver si Segment ha encontrado algún problema al entregar los datos de su fuente. Consulte la documentación específica.
  • Functions: Utilice insert functions para realizar transformaciones personalizadas en los payloads de eventos antes de enviarlos a un destino conectado. Para utilizar una insert function existente, conéctela a este destino desde el catálogo.

Migración del destino clásico de Kameleoon

Para migrar desde el destino clásico de Kameleoon, puede seguir estos tres pasos:

Identificación del visitante

  • Incluya el kameleoonVisitorCode en sus eventos de Segment para un seguimiento preciso del visitante.

Mapeo, filtros y pruebas

  • Defina Mapping y Filters en la página de configuración del destino.
  • Pruebe los eventos para garantizar la creación precisa de objetivos y el seguimiento de las conversiones.

Activación

  • Active el destino Kameleoon (Actions) cuando todo esté probado y listo.
  • Desactive el destino clásico de Kameleoon.

Personas, traits y grupo

Kameleoon le permite segmentar a los usuarios en función de su Segment persona: un grupo que tiene determinados traits de propiedad. Para utilizar personas, traits e IDs de grupo en nuestro Segment builder, debe configurar un dato personalizado en su cuenta de Kameleoon para el proyecto que elija.

Personas

Puede elegir el nombre del dato personalizado (por ejemplo, SegmentIO personas). El dato personalizado debe ser de tipo List of string.
Siga las siguientes pautas solo para Web Experimentation.
Puede utilizar el siguiente código en el método de adquisición del dato personalizado:
window.k_segmentIO = window.k_segmentIO || {};
 if(!window.k_segmentIO.runtime)
 {
     window.k_segmentIO.runtime = true;
Dependiendo de su configuración, deberá determinar la lógica adecuada para obtener el user ID. Si ha estado usando una llamada de evento track para enviar nuestro código de visitante, use la siguiente línea: const user_id = Kameleoon.API.Visitor.code; Alternativamente, si utiliza nuestro Visitor Code como el user ID de Segment o necesita recuperar el user ID del objeto analytics de Segment, utilice la siguiente línea:
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};
Para utilizar personas de Segment en experimentos del lado del servidor o feature flags, puede consultar las pautas descritas en la documentación de cada SDK.Nuestros SDKs emplean el método getRemoteData(). Este método recupera los datos almacenados por Segment en nuestros servidores y los hace accesibles en el código de su backend.El valor “key” a utilizar como primer parámetro debe seguir este formato: IDENTIFY{user_id}.

Obtener los nombres de Personas de Segment en Kameleoon

Haga clic en Next y active la opción Save the values for the targeting condition associated with the custom data point. Añada el siguiente código JS y sustituya XXXXXXXXX por el Sitecode de Kameleoon. Para encontrar el Sitecode, siga esta documentación.
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;
Haga clic en Validate para crear el dato personalizado. ¡Eso es todo! Ahora puede utilizar Segment Personas en nuestro Segment Builder. La lista de personas disponibles se muestra cuando elige el operador is among the values.

Traits

Para utilizar traits en nuestro segment builder para segmentar sus campañas, debe crear un dato personalizado por tipo de trait. Supongamos que quiere segmentar a los usuarios en función del plan al que se han suscrito en su sitio web. Su sitio web tiene tres planes diferentes: freemium, scale y enterprise. Debe configurar un dato personalizado llamado “Subscribed Plan”, y el dato personalizado debe ser de tipo “string”.
Siga las siguientes pautas solo para Web Experimentation.
Puede utilizar el siguiente código en el método de adquisición del dato personalizado:
window.k_segmentIO = window.k_segmentIO || {};
 if(!window.k_segmentIO.runtime)
 {
     window.k_segmentIO.runtime = true;
Dependiendo de su configuración, deberá determinar la lógica adecuada para obtener el user ID. Si ha estado usando una llamada de evento track para enviar nuestro código de visitante, use la siguiente línea: const user_id = Kameleoon.API.Visitor.code; Alternativamente, si utiliza nuestro Visitor Code como el user ID de Segment o necesita recuperar el user ID del objeto analytics de Segment, utilice el siguiente código:
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};
Para utilizar personas de Segment en experimentos del lado del servidor o feature flags, puede consultar las pautas descritas en la documentación de cada SDK.Nuestros SDKs emplean el método getRemoteData(). Este método recupera los datos almacenados por Segment en nuestros servidores y los hace accesibles en el código de su backend.El valor “key” a utilizar como primer parámetro debe seguir este formato: IDENTIFY{user_id}.
Puede seguir las mismas pautas para cada propiedad de trait que quiera utilizar en el segment builder de Kameleoon.

IDs de grupo

Para utilizar IDs de grupo en nuestro segment builder para segmentar sus campañas, debe configurar un dato personalizado llamado “Group ID”, y el dato personalizado debe ser de tipo string.
Siga las siguientes pautas solo para Web Experimentation.
Puede utilizar el siguiente código en el método de adquisición del dato personalizado:
window.k_segmentIO = window.k_segmentIO || {};
 if(!window.k_segmentIO.runtime)
 {
     window.k_segmentIO.runtime = true;
Dependiendo de su configuración, deberá determinar la lógica adecuada para obtener el user ID. Si ha estado usando una llamada de evento track para enviar nuestro código de visitante, use la siguiente línea: const user_id = Kameleoon.API.Visitor.code; Alternativamente, si utiliza nuestro Visitor Code como el user ID de Segment o necesita recuperar el user ID del objeto analytics de Segment, utilice la siguiente línea:
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};
Para utilizar personas de Segment en experimentos del lado del servidor o feature flags, puede consultar las pautas descritas en la documentación de cada SDK.Nuestros SDKs emplean el método getRemoteData(). Este método recupera los datos almacenados por Segment en nuestros servidores y los hace accesibles en el código de su backend.El valor “key” a utilizar como primer parámetro debe seguir este formato: IDENTIFY{user_id}.