Saltar al contenido principal
Durante la beta, Experiment Center solo funciona en inquilinos de desarrollo. Los inquilinos de producción no se admiten.

Requisitos previos

Para comenzar con Experiment Center, necesitas:
  • Un inquilino de desarrollo de Auth0
  • Una aplicación de máquina a máquina con los siguientes alcances de Management API:
    read:experimentation
    create:experimentation
    update:experimentation
    delete:experimentation
    

1. Crear y activar el indicador de funcionalidad

Un indicador de funcionalidad define qué se está probando y cuáles son las posibles variaciones. Para crear un indicador de funcionalidad, realice una solicitud POST al endpoint /api/v2/experimentation/feature-flags.
  • La respuesta incluye un valor feature_flag_id; necesitará ese valor en los pasos posteriores.
  • El indicador de funcionalidad comienza con el estado draft.

Agrega dos variaciones

El indicador de funcionalidad debe tener al menos dos variaciones antes de poder activarse: una de control y una de tratamiento.

Cree la variación de control

Puede crear una variación de control con el parámetro overrides para un indicador de funcionalidad específico. Para agregar una variación de control, haga una solicitud POST al endpoint /api/v2/experimentation/feature-flags/{feature_flag_id}/variations.
La respuesta incluye un valor variation_id para el control. Lo necesitará al configurar las asignaciones.

Crear la variación de tratamiento

La variación de tratamiento sobrescribe los parámetros que quiera cambiar. Para añadir la variación de tratamiento, realice una solicitud POST al endpoint /api/v2/experimentation/feature-flags/{feature_flag_id}/variations y configure el objeto overrides.
Example
    "overrides": {
      "show_passkey_prompt": { "value": true },
      "prompt_style": { "value": "modal" }
    }

Activa el indicador de funcionalidad

Ahora que tienes dos variaciones, activa el indicador de funcionalidad. Un experimento no puede activarse a menos que el indicador de funcionalidad al que hace referencia tenga el estado active. Para cambiar el estado del indicador de funcionalidad a active, haz una llamada POST al endpoint /api/v2/experimentation/feature-flags/{feature_flag_id}/status.

2. Crear un segmento (opcional)

Si quiere orientar tráfico específico, cree un segmento. Omita este paso si quiere una división porcentual simple para todo el tráfico. Para crear un segmento, haga una llamada POST al endpoint /api/v2/experimentation/segments. Este ejemplo crea un segmento que identifica a usuarios móviles de Estados Unidos:
Example
    "name": "mobile-us-users",
    "description": "Mobile users from the United States",
    "rules": [
      {
        "match_type": "all",
        "conditions": [
          { "attribute": "device_type", "operator": "equals", "value": "mobile" },
          { "attribute": "country", "operator": "equals", "value": "US" }
        ]
      }
    ]
La respuesta incluye un valor segment_id. Los segmentos solo se aplican cuando se usa la estrategia de asignación segment en el experimento.

3. Crear y activar un experimento

Cree un experimento que haga referencia a su indicador de funcionalidad y defina cómo repartir el tráfico. Para crear un experimento, realice una llamada POST al endpoint /api/v2/experimentation/experiments. Este ejemplo usa una división porcentual de 90/10 mediante el objeto allocations: el 90 % de los usuarios recibe el control y el 10 % recibe el tratamiento. Este es un punto de partida habitual para un despliegue gradual y prudente.
Example
    "allocations": [
      {
        "variation_id": "var_Id",
        "weight": 90,
        "is_control": true
      },
      {
        "variation_id": "var_Id",
        "weight": 10,
        "is_control": false
      }
    ]

El experimento comienza con el estado draft y is_valid: false. Esto es normal; la comprobación completa de preparación se ejecuta en el siguiente paso.

Validar el experimento

Antes de activarlo, confirma que el experimento esté listo. El endpoint /validate devuelve las mismas comprobaciones que se ejecutan al activarlo. Para confirmar el experimento, realiza una llamada POST al endpoint /api/v2/experimentation/experiments/{experiment_id}/validate. La respuesta incluye el valor is_valid para confirmar si está listo para activarse.

Activar el experimento

Cuando el experimento sea válido y hayas probado ambas variaciones, actívalo. Para cambiar el estado del experimento a active, realiza una solicitud POST al endpoint /api/v2/experimentation/experiments/{experiment_id}/status. El valor started_at del experimento se establece en la primera activación y no cambia si lo pausas y lo vuelves a activar.
Un experimento activo por inquilino. Si ya hay otro experimento activo, la activación devuelve 400 experiment_active_limit_exceeded. Primero pausa o completa el otro experimento.

4. Desencadena un evento de autenticación y observa los resultados

Desencadena un login de prueba en tu inquilino de prueba. Por ejemplo, abre un navegador y ve a la URL /authorize sin ningún parámetro de anulación. Completa el proceso de inicio de sesión. Experiment Center determina el experimento activo, asigna una variación mediante hash determinista, inyecta el contexto del experimento y enriquece el evento de autenticación resultante.

Verifica los registros enriquecidos

Puedes revisar los registros de Auth0 de los eventos del experimento:
  • Ve a Auth0 Dashboard > Monitoring > Logs.
  • Usa Log Streaming: si ya envías los registros del inquilino a una herramienta de análisis (Datadog, Splunk, Segment, etc.), los metadatos enriquecidos del experimento se transmiten automáticamente a través del mismo flujo.
El evento incluye metadatos del experimento en el objeto details.experiment. El campo variation_id indica qué variación se asignó al usuario.
Has ejecutado correctamente tu primer experimento cuando:
  1. Tus eventos de autenticación en los registros del inquilino incluyen details.experiment con experiment_id y variation_id
  2. Ambas variaciones producen el comportamiento correcto cuando se prueban con sobrescrituras de parámetros de consulta
  3. El mismo dispositivo o usuario recibe sistemáticamente el mismo variation_id en varios eventos de autenticación (asignación determinista)

Más información