← Toda la documentación

Identificar usuarios

Cómo funcionan visitantes, usuarios y sesiones, y cuándo llamar a identify() y reset().

LaunchPulse mide visitantes anónimos desde el primer momento. Si tu producto tiene cuentas, llamar a identify() conecta esas sesiones anónimas con un usuario real de tu base de datos.

Visitante, usuario, actor

Tres ids, y la diferencia importa cuando lees los números del panel.

IdQué es
visitor_idEl id anónimo por navegador. Se asigna automáticamente en init()
user_idEl que defines con identify(). Vacío hasta que lo llames
actoruser_id si existe; si no, visitor_id

El actor es la unidad que se usa para conversión, activación y los conteos de “personas”. De eso se trata identificar: sin eso, la misma persona en su laptop y en su teléfono son dos actores. Con eso, es una sola.

La métrica Visitantes del panel cuenta visitor_id distintos: es deliberadamente a nivel de navegador, para que siga siendo comparable identifiques o no.

identify()

lp.identify("user_8f21c");

Define el user id, lo guarda en la cookie _lp_vid y emite un evento $identify.

Pasa un id interno de usuario, nunca datos personales. El SDK advierte en consola si el valor parece una dirección de correo. Los correos terminan en tu almacén de analítica, en el registro de eventos y en todo lo que exportes. Un id de base de datos no.

// Bien
lp.identify(user.id);

// Mal — advierte, y mete un correo en tu analítica
lp.identify(user.email);

Llámalo apenas sepas quién es la persona: justo después del login, justo después del registro, y en cada carga de página cuando la sesión ya está autenticada. El valor persiste en la cookie, así que volver a llamarlo con el mismo id es inofensivo y mantiene la identidad correcta después de que la cookie expire o el usuario limpie el almacenamiento.

Llámalo antes de tu evento de primer valor, para que ese evento se pueda atribuir a un usuario. Mira Conversiones y activación.

// React, cuando carga tu sesión
useEffect(() => {
  if (session?.user) window.lp?.identify(session.user.id);
}, [session]);

reset()

lp.reset();

Borra el user id y rota tanto el visitor id como el session id. Todo lo que venga después de la llamada es un navegador anónimo nuevo.

Llámalo al cerrar sesión. Llámalo en cualquier dispositivo compartido — un kiosco, una máquina de soporte, una laptop de demos — donde la siguiente persona no debe heredar la identidad de la anterior.

No lo llames en cada carga de página ni en cada cambio de ruta. Rotar el visitor id descarta 30 días de historial de atribución de ese navegador.

La identidad vive en una cookie propia (first-party) llamada _lp_vid.

PropiedadValor
Formato del visitor idlpv_<tiempo en base36><10 caracteres aleatorios>
Vida del visitante30 días (Max-Age de la cookie)
Tiempo de inactividad de sesión30 minutos
FlagsPath=/, SameSite=Lax, Secure en https, Domain opcional

Un visitante que vuelve dentro de esos 30 días es el mismo visitor_id. Después de 30 días sin visitas, vuelve como visitante nuevo.

Una sesión termina tras 30 minutos de inactividad. El siguiente evento después de esa pausa genera un session id nuevo.

Subdominios

Sin Domain, la cookie queda limitada al host: app.yourapp.com y www.yourapp.com serían visitantes distintos. Define cookieDomain para compartir identidad entre subdominios:

LaunchPulse.init("lp_pub_yourkey", { cookieDomain: ".yourapp.com" });

Normalmente el collector lo provee automáticamente. El SDK no incluye lista de sufijos públicos, así que nunca puede asignarle a tu cookie un alcance equivocado.

Atribución

La atribución se guarda en el visitante, y viene en dos sabores.

El primer contacto queda congelado por toda la vida del visitante. Lo que trajo a alguien la primera vez se queda adjunto a cada evento que envíe, durante 30 días:

  • first_source
  • first_campaign
  • first_landing_page

La atribución de sesión se refresca en cada sesión nueva:

  • session_source
  • session_medium
  • session_campaign
  • session_landing_page

Entonces, si alguien te encuentra por un post en Hacker News, se va y vuelve una semana después por una búsqueda en Google, el primer contacto sigue diciendo Hacker News y la atribución de sesión dice Google. Eso es lo que te permite distinguir qué canal realmente adquiere personas de cuál solo las trae de vuelta.

Cómo se clasifica la fuente

  1. Los parámetros UTM mandan. utm_source pasa a ser la fuente; utm_medium, o campaign si no hay medio, pasa a ser el medio.
  2. Si no, el host del referrer, sin el www., e ignorado cuando coincide con tu propio host. El medio es organic para google, bing, duckduckgo, yahoo, ecosia y brave, y referral para todo lo demás.
  3. Si no, direct / direct.

Parámetros UTM capturados: utm_source, utm_medium, utm_campaign, utm_content, utm_term.

Más sobre cómo leer esto en Fuentes y Dominios y referrers.

Privacidad

Las direcciones IP de tus visitantes se usan solo para derivar un país y luego se descartan. Nunca se almacenan. Sumado a la regla de “nada de datos personales en identify()”, eso mantiene tu analítica libre de datos personales por defecto. Mira Seguridad.

Identificar desde tu backend

Los eventos desde el servidor también llevan identidad: defines user_id en el payload en lugar de llamar a identify(). Mira Eventos desde el servidor. Usa el mismo id en ambos lados, o terminarás con dos actores para una sola persona.

SiguienteMedir ingresos

Hablemos

¿Dudas sobre LaunchPulse o quieres que te lo mostremos? Escríbenos y te responde una persona real.

O escríbenos a hello@launchpulse.dev