Saltar al contenido principal
Los custom data son una de las funcionalidades más potentes de Kameleoon. Los custom data permiten asociar cualquier tipo de dato a cada visitante y se utilizan con dos fines:
  1. Generar segmentos de targeting basados en los datos del visitante, incluida la creación de segmentos avanzados para experimentos y personalizaciones. Algunos ejemplos de custom data son la edad, las compras anteriores, el importe actual del carrito y la categoría favorita. Normalmente, los custom data están estrechamente vinculados a las particularidades de un negocio. Por ejemplo, si gestiona un sitio web tipo marketplace, puede crear un custom data que indique si un visitante es principalmente “comprador” o “vendedor”.
  2. Proporcionar informes de análisis avanzados desglosando los resultados según los custom data, así como filtrar los informes de experimentos y personalizaciones utilizando cualquier valor almacenado.
Los custom data pueden ser de los siguientes tipos: simple, lista o lista contada, con formato string, booleano o número, y con ámbito de página, visita o visitante. Este artículo sirve como guía general para aprender más sobre los custom data y cómo utilizarlos de forma eficaz. Si le interesa crear custom data dentro de la plataforma Kameleoon, puede consultar la siguiente guía del usuario.

Descripción técnica general

Una vez que se establece el valor de un custom data, se almacena localmente en el servidor o en el dispositivo del usuario, según se utilice un SDK del lado del servidor o un SDK del lado del cliente, incluido el archivo de aplicación (engine.js), en lugar de recuperarlo de un servidor remoto de Kameleoon. Este almacenamiento significa que los datos se pueden recuperar en las páginas vistas posteriores de la misma visita o en visitas futuras. Cuando se carga Kameleoon, cualquier custom data que se haya escrito estará automáticamente disponible para su uso posterior, ya sea a través de la Activation API o de los SDKs.
Si se utiliza Kameleoon Web Experimentation, la implementación de LocalStorage está unificada, lo que significa que los recorridos de usuario que abarcan varios subdominios son gestionados automáticamente por Kameleoon, siempre que se sigan las directrices de implementación para los datos de sesión unificados entre subdominios. Kameleoon también guarda y carga los custom data y gestiona problemas complejos, como el acceso concurrente desde varias pestañas en el mismo sitio web.
Cualquier valor establecido para un custom data también puede enviarse a los servidores de recopilación de datos de Kameleoon como parte del proceso de tracking estándar, lo que tiene tres finalidades:
  1. Los datos están disponibles para los informes y pueden utilizarse para filtrar o desglosar los datos de visitas o visitantes por atributos específicos (por ejemplo, número de visitas o visitantes por tipo de perfil), o para analizar datos (por ejemplo, conversiones por tipo de pago). Vincular un custom data a un objetivo como metadato es necesario para filtrar o desglosar los datos de conversión por el valor del metadato.
Cuando un custom data se establece como metadato de un objetivo, Kameleoon usa automáticamente el valor más reciente registrado del custom data en los informes para cada conversión de objetivo. Puede establecer manualmente el valor del custom data utilizando el parámetro metadata del método processConversion de la Activation API, o el método trackConversion del SDK.
  1. Los datos pueden utilizarse como entrada para los algoritmos de machine learning de AI Predictive Targeting y para los experimentos Contextual Bandit.
  2. Los datos se almacenan en los servidores backend y pueden recuperarse mediante la Data API.
La última versión (2.3) de las restricciones de Intelligent Tracking Prevention (ITP) en los navegadores Safari borra el LocalStorage después de siete días, lo que significa que si un visitante recurrente vuelve después de siete días, no se pueden evitar llamadas de sincronización adicionales al servidor para recuperar el contenido de los custom data en Safari. Sin embargo, Kameleoon optimiza estas llamadas y solo las realiza cuando es necesario (por ejemplo, si ha transcurrido el periodo de siete días). Para más información sobre la solución, consulte el artículo Gestión de ITP.

Conceptos técnicos clave: ámbito de los custom data

El ámbito de los custom data es crucial, ya que determina cómo se comporta el valor a efectos de targeting y cómo se almacena y muestra en los informes. La configuración de los custom data depende del tipo de implementación: Web Experimentation o Feature Experimentation (SDKs) y de cómo y cuándo espera usar los custom data.

Ámbito para el targeting

El comportamiento de los custom data para el targeting difiere significativamente entre Web Experimentation y Feature Experimentation.

Web Experimentation (engine.js)

Para Web Experimentation, el targeting normalmente se evalúa una vez en la página en función del valor del custom data. No se reevaluará si el valor del custom data cambia en la misma página. El ámbito del custom data determina su vida útil para el targeting:
  • Página: El valor del custom data se restablece tras cada página vista.
    • Caso de uso: Segmentar a los usuarios que navegan por (o se encuentran en) un tipo de página específico (páginas de producto, por ejemplo).
  • Visita: El valor del custom data se restablece tras cada visita. El custom data conservará su último valor cuando un usuario navegue de página en página dentro de la misma visita.
    • Caso de uso: Segmentar a un visitante que se ha suscrito a un boletín durante su visita actual.
  • Visitante: El valor del custom data no se restablece. Conservará su último valor a lo largo de varias visitas del mismo visitante.
    • Caso de uso: Segmentar a un visitante que históricamente ha realizado compras en el sitio tres veces.
Si existe el riesgo de que el valor de un custom data se obtenga después de la inicialización de Kameleoon y de la primera ejecución de targeting asociada, establezca el ámbito en PAGE. Si el ámbito no se establece en PAGE, el valor actual del custom data puede llegar con “retraso” y provocar problemas de targeting, especialmente al ejecutar un experimento dirigido a visitantes que pasan a una página de producto tras navegar por una página de categoría y obtienen un nuevo valor en pocos segundos. Con un ámbito PAGE, este problema no se producirá.

Feature Experimentation (SDKs)

Con los SDKs para Feature Experimentation, no existe el concepto de “página” en términos de ámbito. Los valores de los custom data se pasan explícitamente en el momento de la evaluación. Aquí, el ámbito define principalmente cómo se almacena el custom data en los servidores de Kameleoon y qué valor se recupera automáticamente (por ejemplo, mediante getRemoteVisitorData()). Por defecto, la API recupera únicamente los valores con ámbito VISITOR. Estos valores se asocian al visitante y se utilizan durante la evaluación.

Informes y visualización de los custom data

La forma en que los custom data aparecen en sus informes también depende del tipo de experimentación, del tipo y ámbito del custom data y de si se ha utilizado el parámetro opcional overwrite con setCustomData().

Lógica por defecto (cuando el parámetro overwrite es false o se omite)

Para Web Experimentation (página de Resultados)
En la página de Resultados de Web Experimentation, todos los tipos de custom data pueden tener varios valores en la misma página y durante la misma visita. Las siguientes reglas se aplican a la visualización de estos valores:
  • Tipo simple y ámbito de página: Todos los valores establecidos durante una visita se mostrarán en la página de Resultados para desglosar las visitas. Si un valor se establece una o varias veces, el resultado es la misma visualización (por ejemplo, la visita se etiqueta con ese valor).
    • Caso de uso: Desglosar las visitas según las categorías de las páginas vistas.
  • Tipo simple y ámbito de visita: La página de Resultados solo mostrará el último valor establecido durante la visita para desglosar las visitas.
    • Caso de uso: Desglosar las visitas por tipo de membresía del usuario.
  • Tipo simple y ámbito de visitante: Si utiliza la vista Visitante en la página de Resultados y desglosa por custom data, Kameleoon muestra todos los valores recibidos para ese custom data para el visitante, lo que cubre todas las visitas anteriores expuestas al experimento o influidas por él, dentro del intervalo de tiempo seleccionado.
    • Caso de uso: Desglosar a los visitantes según el número de compras que han realizado en el sitio en todas sus visitas.
  • Todas las combinaciones de tipos/ámbitos (list, countList/página, visita, visitante): Cualquier valor asignado durante la visita se mostrará en la página de Resultados para un desglose detallado de las visitas. Si se asigna un valor a una visita, una o varias veces, se mostrará de forma consistente, etiquetando la visita con ese valor.
    • Caso de uso: Desglosar las visitas según todos los boletines a los que un usuario se ha suscrito, los enlaces del menú de navegación en los que ha hecho clic o los filtros seleccionados en una página de categoría.
Para Feature Experimentation (SDKs)
Para Feature Experimentation, los informes de custom data funcionan de forma diferente debido a la naturaleza de los entornos SDK, que normalmente no tienen un concepto de “página” como los navegadores web.
  • El ámbito Página no se aplica con fines de generación de informes en Feature Experimentation, porque los SDKs a menudo se ejecutan en entornos del lado del servidor o móvil donde un evento distinto de “carga de página”, que activaría un restablecimiento de datos, no existe de forma intrínseca.
  • Para cualquier custom data, Kameleoon solo conservará y reportará el último valor recibido durante una visita. Este enfoque es eficiente y relevante para entornos en los que el estado más reciente de los atributos de un usuario dentro de una sesión continua es, en general, lo que importa para las decisiones de funcionalidad.
  • Los ámbitos Visita y Visitante se comportan como se espera para los informes, permitiendo desgloses por el último valor dentro de una visita o a lo largo de varias visitas para un visitante, respectivamente.

Sobrescribir el comportamiento por defecto con el parámetro overwrite

El parámetro overwrite (opcional, boolean) del método setCustomData() le permite controlar explícitamente cómo se almacenan los valores de los custom data y, en consecuencia, cómo aparecen en los informes.
  • Cuando overwrite es true: El nuevo valor proporcionado a setCustomData() siempre reemplazará cualquier valor existente para esa clave de custom data dentro de la sesión/visita actual, independientemente de su tipo (Simple, Lista, Lista contada) o ámbito (Página, Visita, Visitante), lo que significa que solo el valor más recientemente establecido estará disponible para el targeting y los informes.
  • Cuando overwrite es false o se omite: Se aplicará la lógica por defecto tal como se describe en las secciones anteriores.
Puede usar los custom data como metadatos al configurar un objetivo, lo que permite vincular el valor del custom data a cada conversión con fines de informes y análisis. Para más información sobre cómo crear un objetivo, consulte el artículo Crear un nuevo objetivo.Por defecto, los custom data son atributos relacionados con los usuarios; sin embargo, si desea utilizar los custom data como propiedades de una conversión, puede usar los metadatos.

Métodos de recuperación

Kameleoon ofrece varias integraciones listas para usar, que se detallan a continuación.

Capas de datos

Estos métodos recuperan el valor del custom data desde una variable determinada en la capa de datos de Google Tag Manager, Tealium o Commander’s Act. Especifique el nombre de la variable en la capa de datos, y Kameleoon completará automáticamente la integración en cuanto la capa de datos se cargue en la página.
Kameleoon admite varios niveles de jerarquía y variables de array en la capa de datos. Por ejemplo, puede obtener un valor de product.category.name, cart["amount"] o purchases[3].
Kameleoon solo puede establecer el valor del custom data después de que la capa de datos esté disponible en su página, lo que puede tardar varios segundos (según cuándo cargue su tag manager). Si utiliza el custom data como condición de targeting en un test A/B, puede producirse un efecto flicker perceptible.

Activation API

Utilice la Activation API para establecer valores de custom data en el navegador (entorno del lado del cliente). Localice un elemento DOM concreto en la página y utilice su contenido como valor del custom data. Por ejemplo, obtenga el valor actual del importe del carrito si se muestra en la página web y rellene el custom data correspondiente.
El método setCustomData() de la Activation API incluye un parámetro llamado overwriteIfCollection. Para más detalles sobre este método, consulte la documentación de la Activation API.
El método Kameleoon.API.Data.setCustomData() siempre sobrescribe los valores existentes anteriormente para el custom data, excepto si el tipo es Lista o Lista contada y el tercer argumento es false, en cuyo caso se añade a la lista existente.

Código JavaScript personalizado

Esta opción le permite escribir código JavaScript personalizado ad hoc. La regla principal a seguir al establecer un custom data es que su código debe devolver un objeto con dos claves: value con el valor que desea proporcionar para este custom data y (opcionalmente) override con un valor booleano (false por defecto). Si aún no hay un valor disponible pero se obtendrá más tarde en la página, no devuelva ningún valor (devolver null o undefined también es aceptable). El sistema vuelve a ejecutar el código (cada 100 ms durante los primeros tres segundos después de la primera invocación, y luego cada tres segundos). Por convención, devolver {"value": null} no establecerá el custom data pero detendrá la ejecución periódica. La primera ejecución tiene lugar antes de que se active el sistema de targeting de Kameleoon, lo que ofrece la oportunidad de configurar el custom data antes de que se ejecute el targeting.
Evite usar este método de recuperación si es posible. Escriba el código JavaScript en otra ubicación, como Tag Manager, un archivo de script externo o código script inline en el HTML, y luego utilice el método de recuperación de la Activation API para establecer el custom data.

Método del SDK

Para Feature Experimentation (SDKs), los valores de los custom data se adquieren y se envían a Kameleoon únicamente a través de métodos del SDK, lo que significa que se pasan explícitamente a través de la integración del SDK (por ejemplo, utilizando métodos como addData() o setCustomData() según el SDK específico). Para más detalles sobre el uso de custom data en los SDKs, consulte el artículo sobre el uso del historial de visitas.

Data API / Integración server-to-server

Si desea configurar una integración server-to-server, el enfoque recomendado es la Data API. El uso de la Data API implica implementar una llamada REST a los servidores de Kameleoon, especificando el nombre y valor del custom data y el visitorCode.

Opciones avanzadas

Usar estos datos solo localmente con fines de targeting

Habilitar esta opción permite almacenar el valor del custom data localmente en el dispositivo del usuario o en el servidor si se utiliza uno de los SDKs del lado del servidor. Dado que estos datos no se almacenarán en los servidores de Kameleoon, no se podrán utilizar para analíticas en los informes. Esta funcionalidad puede ser útil por razones de privacidad o legales. Algunos clientes pueden requerir que los datos sensibles no se almacenen fuera de sus sistemas, pero aun así desean personalizar la experiencia del visitante en función de esos datos.

Usar este custom data como entrada para AI Predictive Targeting

Habilitar esta opción permite que los algoritmos de machine learning utilicen este custom data como entrada. Esta funcionalidad solo está disponible con una suscripción al complemento AI Predictive Targeting.

Usar este custom data como identificador único para la reconciliación de historial cross-device

Cuando está activado, Kameleoon trata este custom data como un identificador único para sus visitantes, que se utilizará para asociar varias visitas de Kameleoon a un usuario único para la experimentación cross-device. Obtenga más información sobre esta funcionalidad en el artículo Experimentación cross-device.

Uso de los custom data

Condición de targeting para segmentos

El constructor de segmentos de Kameleoon añadirá automáticamente condiciones de targeting para cualquier custom data que defina. El proceso es automático y, si el valor del custom data se corresponde con su condición, ese visitante en concreto se incluirá en el segmento.

A través de la Activation API

Puede obtener el valor actual de un custom data a través de Kameleoon.API.CurrentVisit.customData (ámbitos PAGE o VISIT) o Kameleoon.API.Visitor.customData (ámbito VISITOR).

A través de los SDKs

El método getRemoteVisitorData() recupera todos los custom data recopilados durante la visita anterior del visitante actual. Para más detalles, consulte el artículo sobre el uso del historial de visitas.

Fines analíticos

Cualquier custom data (excepto los marcados como solo locales) puede utilizarse como filtro u opción de desglose en las páginas de resultados de experimentos o personalizaciones. Esta información también está disponible en los informes producidos por la herramienta de exportación de datos en bruto, y se pueden realizar consultas complejas que incluyan custom data (con un clúster de datos de Kameleoon dedicado). Para un desglose utilizando un custom data de tipo String, los resultados incluirán hasta los 50 valores más frecuentemente utilizados para ese dato. Para un desglose con un custom data de tipo Número, los resultados también se desglosarán con un máximo de 50 valores posibles. En el caso de los custom data numéricos, este límite no siempre tiene sentido. Cuando un custom data está vinculado a un objetivo como metadato, los valores son actualmente accesibles solo a través de una exportación de datos en bruto. Una actualización de la página de informes —prevista para finales del Q2— permitirá usar los metadatos como filtros directamente en los resultados.

Configuración avanzada

Implementar un componente personalizado de cuadro de selección para la condición de targeting asociada a este custom data

Esta funcionalidad simplifica la selección de los valores de los custom data en las condiciones de targeting al presentarlos en un cuadro de selección en lugar de un campo de texto sin formato, lo que hace mucho más fácil para los usuarios finales elegir el valor adecuado para el targeting. Hay dos puntos importantes a considerar:
  • Los valores en bruto pueden asociarse con etiquetas descriptivas.
  • Las etiquetas y los valores se obtienen dinámicamente cuando se muestra la interfaz de la condición de targeting.
Esta funcionalidad es especialmente útil para integrar con proveedores de datos de terceros, como DMPs o CRMs. Por ejemplo, si el custom data representa un segmento externo de un DMP, el usuario puede seleccionar “Clientes fieles” en lugar del ID interno, que normalmente es una cadena de caracteres compleja como “8ney4225y65a”. La lista de segmentos definidos en el DMP siempre está actualizada en la interfaz de Kameleoon, por lo que esta funcionalidad gestiona la sincronización automáticamente.
Las etiquetas asociadas a los custom data solo son visibles para los usuarios que tienen acceso a la plataforma Kameleoon. No se incluyen en el archivo de aplicación JavaScript, por lo que los visitantes del sitio web no pueden verlas. El proceso queda oculto al usuario.
Para implementar esta funcionalidad para un custom data específico, debe proporcionar código JavaScript que devuelva un array de objetos representando los posibles valores junto con sus etiquetas de forma síncrona. El array debe cumplir los siguientes requisitos:
  • Todos los elementos del array deben ser objetos JavaScript.
  • Estos objetos deben tener dos claves: una clave value (que contenga el valor posible real para el custom data) y una clave label (que represente la descripción textual de ese valor en particular).
  • El tipo de contenido de la clave value debe corresponder con el tipo real del custom data. Para la clave label, debe proporcionar una cadena como contenido.
Vea el siguiente ejemplo de código para conocer cómo se puede utilizar esta funcionalidad en la práctica. En este ejemplo, se realiza una llamada remota a un servidor de terceros (normalmente un DMP o una plataforma similar) que proporciona la lista de segmentos disponibles definidos en la plataforma. Es importante señalar que este código solo se usa para construir la interfaz de selección para el usuario final de Kameleoon.
var xhr = new XMLHttpRequest();
xhr.open("GET", "https://third-party.dmp.com/get-segments?login=XXXX@XXXX.com&password=XXXX", false);

var segments = [];
xhr.onreadystatechange = function() {

    if (this.readyState === XMLHttpRequest.DONE && this.status === 200) {
        var data = JSON.parse(xhr.response);
        data.map(function (segment) {
          if (segment.segment_uuid && segment.name !== "undefined") {
            segments.push({"label": segment.name, "value": segment.segment_uuid});
          }
        });
    }
}

xhr.send();
return segments;
Asegúrese de que el código se ejecuta de forma síncrona y devuelve su valor con un comportamiento bloqueante. Evite cualquier llamada remota asíncrona al servidor, ya que esto puede provocar que la funcionalidad falle.