Ir al contenido
Consola

Comportamientos

Definí patrones como carritos abandonados o rage clicks, mirá las sesiones que los cumplen y mostrá mensajes en tu app. La captura es gratis; el resto es Team.

Una grabación responde “¿qué le pasó a este usuario?”. Un behavior responde otra pregunta: ¿cuánta gente hace esto, y quiénes? Describís un patrón una vez —“llegó al carrito y no compró”, “clickeó cinco veces seguidas el mismo lugar”— y Espejo cuenta cada sesión que lo matchea y te linkea directo a esas grabaciones.

La pantalla Comportamientos abre con un catálogo de patrones ya armados. Elegís uno, le ponés nombre y completás los dos o tres parámetros que pide (casi siempre qué pantalla):

  • Cart abandonment — entró a la ruta del carrito y nunca llegó a la de éxito.
  • Conversion — llegó a la pantalla de compra/registro completado.
  • Form abandonment — empezó a completar un formulario y no lo envió.
  • Rage click — varios clics en el mismo lugar dentro de un segundo: señal de frustración.
  • Error on screen — interactuó en una pantalla y saltó un error de consola o HTTP.
  • Stuck on a screen — se quedó en una pantalla sin clics, sin tipear y sin navegar.

Las pantallas se eligen de la lista de rutas reales de tu app (las que Espejo ya vio), y las duraciones se eligen de opciones con nombre — nada se tipea en milisegundos.

Cada template es un preset sobre la misma gramática, así que también podés armar uno propio con los mismos bloques (un evento, en una ruta, opcionalmente en secuencia o dentro de una ventana de tiempo).

Por cada behavior, dos cosas:

  • Conteos — cuántas sesiones matchearon, sobre cuántas se evaluaron, en los últimos N días. La tasa de match es el número que manda.
  • El segmento — expandís un behavior y aparecen las sesiones que matchearon, más nuevas primero, cada una un clic directo a su replay. Ese es el punto: una tasa es un número, el segmento son las grabaciones detrás.

Un behavior también puede llevar un mensaje: un banner en la esquina o un modal centrado que tu app muestra en vivo, en el momento en que el patrón se completa — el que está rage-clickeando recibe un “¿te ayudo?” con link a soporte, el que se trabó en el checkout recibe un empujón. Escribís el título, el cuerpo y un botón opcional, y elegís cada cuánto puede aparecer: una vez por sesión, o una sola vez por visitante.

Por abajo, las reglas viajan a la página y se matchean en el navegador mientras la sesión transcurre — no es un barrido nocturno. El código de matching vive en un archivo aparte (espejo.triggers.js, ~4 KB gzip) que sólo bajan los proyectos que configuraron un mensaje; las páginas de los demás no pagan ni un byte. Un behavior sin mensaje no toca la página: sólo cuenta.

Los behaviors (y el heatmap) agrupan por ruta normalizada: /orden/123 y /orden/456 son la misma pantalla, /orden/:id. Se descartan el origen y la query, se colapsan los ids numéricos, los UUID y los tokens largos, y se conservan los slugs legibles. Por eso “carrito abandonado en /checkout” cuenta cada visita a esa pantalla, no una URL exacta.

No hay nada que instalar ni nada que prender en tu página. Cada sesión se evalúa contra tus behaviors prendidos apenas llega, de forma determinista —sin modelo, sin un pedido extra, sin costo de tu lado—. Un behavior con una definición corrupta nunca puede romper la ingesta; lo peor que pasa es que ese behavior no cuente.