Audiencias

Segmentación por URL, dispositivo, UTM, país y más.

Una audiencia decide quién entra a un experimento. Se evalúa en el navegador, de forma sincrónica, en la ruta crítica de cada vista de página.

Condiciones disponibles

Tipo Ejemplo
url, path path empieza por /products
query query.coupon existe
utm utm.source es google
referrer referrer contiene instagram
device device es mobile
viewport_width menor que 768
browser, language language empieza por es
country está en [MX, CO, AR]
visitor_type new o returning
cookie, local_storage cookie.loyalty existe
prior_event ya disparó add_to_cart
pages_viewed mayor o igual que 3
traffic_percent 25% del tráfico
date_range, time_of_day, day_of_week entre las 22:00 y las 02:00
platform, page_type page_type es product
custom tu propio contexto

Operadores

equals, not_equals, contains, not_contains, starts_with, ends_with, regex, gt, gte, lt, lte, in, not_in, exists, not_exists.

Las comparaciones son insensibles a mayúsculas salvo que marques caseSensitive.

Grupos AND / OR

Las condiciones se anidan en grupos con and u or, y cualquier grupo puede negarse. La profundidad máxima es 8 niveles.

AND
├── device = mobile
└── OR
    ├── country = MX
    └── country = CO

Un grupo AND vacío coincide con todos; un OR vacío con ninguno. Es el álgebra booleana correcta y evita que un grupo sin condiciones acabe aplicándose a todo el mundo por accidente.

Detalles que evitan sorpresas

Sin audiencia, el experimento aplica a todos. Un experimento sin reglas corre para todo el tráfico, no para nadie.

traffic_percent usa su propio espacio de hash. Si compartiera hash con la asignación de variante, "25% del tráfico" sobre-representaría sistemáticamente una variante.

Un operador numérico con un valor no numérico no coincide. Una regla mal configurada devuelve "no aplica", nunca un comportamiento aleatorio por NaN.

Una regex inválida no coincide y no lanza. Un patrón roto guardado en una regla no puede romper la página de un cliente. El patrón se limita a 512 caracteres.

exists distingue de cadena vacía. Una cookie presente pero vacía no "existe" para efectos de segmentación.

Las ventanas horarias cruzan medianoche. 22:00–02:00 funciona como esperas. La hora se calcula en la zona horaria que configures, no en la del servidor.

Previsualizar tamaño de audiencia

Antes de lanzar, el panel estima qué fracción del tráfico reciente cumple la regla. Es una estimación sobre datos históricos, no una garantía.

country requiere GeoIP

Sin MAXMIND_DB_PATH configurado, country está vacío y las reglas de país no coinciden con nadie. La función aparece deshabilitada en el panel en lugar de fallar en silencio.