Skip to main content

Objetivo

Cree una prueba multivariante (MVT) con varias secciones y variaciones y, después, defina una asignación de tráfico personalizada (no equitativa) entre esas variaciones.
Cuando crea una prueba multivariante con POST /experiments, Kameleoon siempre aplica una asignación de tráfico equitativa a cada variación y restablece a false cualquier valor locked enviado, con independencia de los valores que envíe en mvtAllocationSettings. Para definir una asignación de tráfico personalizada, siga el proceso de tres pasos de este tutorial: cree el experimento, recupere los Id generados y actualice la asignación con una solicitud PATCH.
Para una descripción general de los conceptos de MVT (secciones, variaciones y combinaciones) y cómo configurar la asignación de tráfico en la aplicación Kameleoon, consulte Configurar pruebas multivariante.

Requisitos

  • access token
La Automation API requiere un access token. Recupere el token de forma programática siguiendo las instrucciones de la sección obtención de un access token.
  • siteId
Recupere el siteId directamente en su código a partir del siteCode llamando a el endpoint para obtener un sitio por código, o búsquelo en la aplicación siguiendo los pasos de Crear un nuevo experimento.

Conceptos clave

La variación de referencia

Kameleoon añade automáticamente una variación de referencia a cada sección que envía. Esta referencia aparece en la respuesta como variationId: "0" dentro de las entradas de asignación de esa sección. Si envía su propia variación llamada Original, Kameleoon la crea como una variación adicional independiente. No identifica ni sustituye la referencia generada. Envíe una variación Original explícita solo si desea probar dos variaciones de referencia distintas en la misma sección.

Los Id enviados por el cliente son temporales

Los valores sectionId e id de variación que envía en mvtVariations solo vinculan entradas dentro de esa misma solicitud: conectan cada entrada de asignación de mvtAllocationSettings con la sección y variación correctas antes de que Kameleoon genere Id permanentes. Use los números enteros que le resulten cómodos. Kameleoon descarta los valores enviados y los sustituye por sus propios valores generados de sectionId y variationId. Use los valores generados (devueltos en la respuesta y por una solicitud GET posterior) en todas las solicitudes siguientes. La respuesta no incluye los nombres de variación que envió, solo los Id generados. Si necesita confirmar qué Id generado corresponde a qué nombre enviado, compruebe el experimento en la aplicación Kameleoon.

Id de sección frente a Id de combinación

Kameleoon genera dos conjuntos distintos de Id para una prueba multivariante:
  • Los Id de sección y variación identifican una variación dentro de una sección. Úselos en mvtAllocationSettings.sectionsAllocations.
  • Los Id de combinación identifican una combinación completa de variaciones, una por sección, que se muestra a los visitantes expuestos. Kameleoon genera todas las combinaciones posibles mediante el producto cartesiano de las variaciones de todas las secciones (incluida la referencia de cada sección) y devuelve los Id de combinación en el array variations de nivel superior, así como en las claves del mapa deviations. Úselos en mvtAllocationSettings.combinationsAllocations.
Tanto sectionsAllocations como combinationsAllocations usan la misma estructura de entrada de asignación (allocationPart, checked, locked, sectionId, variationId), así que elija solo un método:
  • Complete sectionsAllocations para asignar el tráfico por variación dentro de cada sección. Kameleoon deriva la parte de cada combinación a partir de los valores a nivel de sección.
  • Complete combinationsAllocations para asignar el tráfico directamente a combinaciones específicas.
Como los Id de combinación no existen hasta que Kameleoon los genera, no puede completar combinationsAllocations en la solicitud de creación. Recupere los Id de combinación generados con una solicitud GET y, a continuación, defina combinationsAllocations en una solicitud PATCH posterior, siguiendo el mismo patrón usado para sectionsAllocations en este tutorial.

Pasos

1. Crear el experimento

Endpoint:
Ejemplo:
Respuesta (resumida):
Observe que Kameleoon generó nuevos valores de sectionId y variationId (4451, 4452, 1351293-1351296), añadió una variación de referencia (variationId: "0") a cada sección y sustituyó la asignación enviada por una parte equitativa de 0.33333334, restableciendo locked a false. exposedPart se mantiene tal como se envió. Continúe con el siguiente paso para definir la asignación que desea.

2. Recuperar los Id generados

Si no capturó los Id generados en la respuesta de creación, recupérelos con una solicitud GET. Endpoint:
Ejemplo:
La respuesta contiene el mismo array mvtAllocationSettings.sectionsAllocations mostrado en el paso 1, con los valores generados de sectionId y variationId que necesita para el siguiente paso.

3. Definir la asignación de tráfico personalizada

Endpoint:
Envíe mvtAllocationSettings de nuevo, esta vez usando los valores generados de sectionId y variationId del paso 2. Ejemplo:
Respuesta (resumida):
La asignación ahora coincide con los valores enviados, y locked permanece en true. Una solicitud GET posterior confirma el mismo resultado.

4. Verificar el experimento

Vaya al Experiments Dashboard de la aplicación Kameleoon y abra el experimento para confirmar que las secciones, variaciones y la asignación de tráfico coinciden con su configuración.

Limitaciones conocidas

  • La eliminación de pruebas multivariante grandes puede superar el tiempo de espera. DELETE /experiments/{experimentId} puede devolver un error 504 Gateway Timeout cuando el experimento tiene muchas combinaciones. Un tiempo de espera agotado no significa necesariamente que la eliminación haya fallado: envíe una solicitud GET para el mismo Id de experimento y confirme si todavía existe antes de reintentar la eliminación.