People

Identifica usuarios y gestiona las propiedades de usuario con el módulo People de analytics del tracker de OpenReplay.

People

Este módulo se utiliza para identificar usuarios y modificar las propiedades del perfil de usuario (establecer, establecer una vez, agregar, incrementar, eliminar).

Para obtener más información sobre la gestión de datos de usuario en la interfaz de OpenReplay, visita Gestión de datos.

Disponible en:

tracker.analytics.people

Alias de nivel superior: tracker.analytics.identify(...) → igual que tracker.analytics.people.identify(...)

// Identify a user (required before other operations except reset)
tracker.analytics.people.identify(user_id: string, options?: { fromTracker: boolean }): void

// Reset local user context & properties (optionally, destroy device id)
// should be called on logout and session end
tracker.analytics.people.reset(hard?: boolean): void

// Delete user on backend, then reset local properties
tracker.analytics.people.deleteUser(): void

// Set properties (overwrite existing values)
tracker.analytics.people.setProperties(properties: Record<string, string | number>): void
tracker.analytics.people.setProperties(key: string, value: string | number): void

// Set properties only if they don't exist yet
tracker.analytics.people.setPropertiesOnce(properties: Record<string, string | number>): void

// Append values to an existing property (string becomes array)
tracker.analytics.people.appendValues(key: string, value: string | number): void

// Append value only if it’s not already present (requires property to exist locally)
tracker.analytics.people.appendUniqueValues(key: string, value: string | number): void

// Increment (or decrement) a numeric property
tracker.analytics.people.increment(key: string, value: number): void

// Read current user id
tracker.analytics.people.user_id: string | null | undefined

Identifica al usuario actual mediante un id de tipo cadena (correo electrónico, nombre de usuario, id interno, etc.) y encola un evento de identidad.

tracker.analytics.people.identify("nikita@openreplay.com")

Si ya se había identificado a un usuario diferente, el SDK restablece las propiedades locales de people antes de cambiar al nuevo id.

options.fromTracker se utiliza internamente para evitar llamar dos veces al hook de id a nivel del tracker; normalmente no lo necesitas.

Restablece el id del usuario actual y todas las propiedades locales de people.

// soft reset
tracker.analytics.people.reset()

// hard reset (also clears persistent device id)
tracker.analytics.people.reset(true)

Elimina al usuario identificado actualmente en el backend (enviando una mutación de eliminación) y luego borra el estado local.

tracker.analytics.people.deleteUser()

Si no hay ningún usuario identificado, no hace nada.

Después de llamar a esto, user_id se borrará y las propiedades locales se eliminarán.

Establece propiedades de usuario, sobrescribiendo los valores existentes.

tracker.analytics.people.setProperties({
	plan: "pro",
	seats: 5,
})

// or key/value
tracker.analytics.people.setProperties("plan", "enterprise")

Las claves reservadas/predeterminadas (claves internas del tracker) se ignoran para la caché local del SDK.

Se encola un evento con la carga útil completa de properties que pasas.

Establece propiedades solo si aún no existen (desde la perspectiva local del SDK).

tracker.analytics.people.setPropertiesOnce({
	signup_source: "docs",
	first_seen_at: Date.now(),
})

Solo las propiedades que aún no están presentes en la caché local de people se escribirán localmente.

De todos modos, se encola un evento de mutación setPropertyOnce con las propiedades que pasas.

Agrega un valor a una propiedad existente. Si la propiedad es actualmente una cadena/número, se convierte en un array.

// start with something
tracker.analytics.people.setProperties({ tags: "new" })

// append
tracker.analytics.people.appendValues("tags", "beta-user")

El SDK solo actualiza la caché local si esa propiedad ya existe localmente.

Siempre se encola un evento de mutación de tipo append.

Agrega un valor solo si aún no está presente.

tracker.analytics.people.setProperties({ tags: ["new"] })
tracker.analytics.people.appendUniqueValues("tags", "new") // no change
tracker.analytics.people.appendUniqueValues("tags", "beta-user") // appended

Si la propiedad aún no existe localmente, esta llamada no hace nada (retorna anticipadamente). Establécela primero mediante setProperties / setPropertiesOnce.

Suma un número (incluidos valores negativos) a una propiedad numérica.

tracker.analytics.people.increment("logins", 1)
tracker.analytics.people.increment("credits", -10)

Si la propiedad no existe localmente, se inicializa en 0 antes de incrementar.

Si la propiedad existe pero no es numérica, el SDK lanza un error.

Alias compatibles con Mixpanel

Section titled Alias compatibles con Mixpanel

Todos los métodos admiten una capa de compatibilidad proporcionada para mayor familiaridad:

tracker.analytics.people.set // setProperties
tracker.analytics.people.set_once // setPropertiesOnce
tracker.analytics.people.append // appendValues
tracker.analytics.people.union // appendUniqueValues
tracker.analytics.people.incrementBy // increment

Flujo típico

tracker.analytics.people.identify("user_123")

tracker.analytics.people.setProperties({
	email: "user@example.com",
	plan: "pro",
})

tracker.analytics.people.increment("sessions", 1)
tracker.analytics.people.appendUniqueValues("features_used", "analytics")

Ten en cuenta que, a partir de la versión 1.24.0, las sesiones de OpenReplay solo admiten un único usuario, lo que significa que el nuevo usuario sobrescribe al anterior en la sesión. Al cambiar de usuario, reinicia también el tracker con la opción forceNew.

tracker.analytics.people.identify("user_a")
tracker.analytics.people.setProperties({ plan: "free" })

// switching user resets local people properties automatically
tracker.analytics.people.identify("user_b")

Si encuentras algún problema, conéctate a nuestro Slack o consulta nuestro Foro y obtén ayuda de nuestra comunidad.