Un feature flag es una herramienta que te permite habilitar o deshabilitar funcionalidades en tu producto sin necesidad de desplegar nuevo código cada vez. Las feature flags son ideales para lanzar nuevas funciones de manera gradual, hacer rollbacks rápidos si algo falla o realizar pruebas A/B y experimentos controlados.
Te permiten modificar la experiencia del producto para distintos segmentos de usuarios:
- Podés definir qué porcentaje de usuarios verá la nueva funcionalidad.
- Los usuarios pueden segmentarse por propiedades, cohorts o reglas personalizadas.
Dentro de Amplitude
1. Crear un Deployment
Un deployment es un entorno donde corren las feature flags o experimentos (por ejemplo, “web”, “android”, “backend”). Esto generará una deployment key, que vas a usar en tu código para conectar el SDK con Amplitude.
2. Configurar tu Experimento
-
Crear una Feature Flag
Ve a Experiment > Feature Flags y hacé clic en + Create Feature Flag. Seleccioná el proyecto, nombrá la flag y definí la flag key (un identificador único que se usa en tu código). -
Configurar Variantes
Las variantes son los valores posibles de la flag (por ejemplo, “on” y “off”). Podés agregar más si necesitás diferentes experiencias. -
Definir Segmentos y Porcentaje de Lanzamiento
Un segmento es un grupo de usuarios definido por propiedades (país, plan, etc.) o cohorts. Decidí qué porcentaje de cada segmento verá cada variante. -
Guardar y Activar la Flag
Guardá tu configuración y, cuando esté lista, activá la flag para comenzar a servirla.
Pasos fuera de Amplitude (en tu código o producto)
1. Instalar el Amplitude Experiment SDK
El SDK es una librería que permite a tu aplicación verificar el estado de las feature flags. Instalala en tu proyecto (por ejemplo, usando npm
para JavaScript o agregando el script al <head>
de tu sitio web).
2. Inicializar el SDK con tu Deployment Key
Usá la deployment key para inicializar el SDK en tu aplicación.
3. Verificar el estado de la Flag en tu código
Usá la flag key para consultar el SDK y determinar si la flag está “on”, “off” u otro valor, y ajustá la lógica del producto según eso.
4. (Opcional) Hacer QA Testing
Antes de lanzar la funcionalidad a todos los usuarios, hacé pruebas con usuarios específicos para asegurarte de que funciona correctamente.
Si te interesa activar esta funcionalidad dentro de tu plan de Amplitude o lo tenes activo pero no sabés cómo aplicarlo, agenda una llamada con nosotros para resolver tus inquietudes o completa el form del píe de página.
Creando una Feature Flag
Requisitos previos:
-
Debe haberse creado un deployment.
-
El SDK de Amplitude Experiment debe estar instalado (o debés estar listo para usar la Evaluation API).
Pasos para crear la Feature Flag:
-
Ir a Experiment > Feature Flags en la barra lateral.
-
Hacer clic en + Create Feature Flag.
-
Seleccionar el proyecto, nombrar la flag, y Amplitude generará una flag key para usar en tu código.
-
Configurar Evaluación y Bucketing:
- Elegí el modo de evaluación: Remote (en los servidores de Amplitude) o Local.
-
Definí la unidad de bucketing (por lo general “user”, pero puede ser “company ID” u otra propiedad).
- Agregar Variantes:
-
Cada flag debe tener al menos una variante (por ejemplo, “on” y “off”).
-
Podés agregar más variantes para distintas experiencias.
-
Asigná nombre, valor y descripción a cada variante.
-
- Definir Segmentos y Porcentaje de Lanzamiento:
-
En el panel de asignación, definí qué segmentos de usuarios verán la funcionalidad (por ejemplo, usuarios de un país específico, cohorts, etc.).
-
Configurá el porcentaje de usuarios en cada segmento que recibirán la funcionalidad.
-
- Guardar y Hacer QA:
- Guardá la flag y realizá pruebas de calidad (QA).
- Activar la Flag:
- Hacé clic en Activate cuando estés listo. La funcionalidad estará disponible para los usuarios y segmentos definidos.
Notas
-
Deployments: Entornos donde corren las flags o experimentos (por ejemplo, separación entre web/backend o dev/producción).
-
Variantes: Valores posibles de la flag (por ejemplo, “on”, “off”, “beta”).
-
Flag Key: Identificador único de la feature flag, usado en el código para verificar su estado.
-
Este es el valor que el SDK devuelve al consultar la flag en tu app, y es lo que usás para controlar la lógica del producto.
-
Escrito por Pablo Buitrago, Martech Analyst en Minders.