Descripción general
En OneSignal, un Usuario representa a un individuo con una o más Suscripciones a través de tus canales de mensajería (push móvil, push web, email y SMS).- Cada Usuario puede tener hasta 20 Suscripciones.
- A cada Usuario se le asigna automáticamente un OneSignal ID (UUID v4).
- Los Usuarios comienzan como anónimos hasta que les asignes un External ID. Asignar un External ID vincula las Suscripciones y puede reemplazar el OneSignal ID existente si el usuario ya existe en tu aplicación.
- Los Usuarios y las Suscripciones tienen propiedades diferentes. Por ejemplo, los Tags se almacenan a nivel de Usuario, mientras que el estado de suscripción (opt-in/out) pertenece a la Suscripción.
- Cuando el contexto del Usuario cambia — por ejemplo, iniciar sesión (anónimo → identificado) o cambiar de cuenta (UserA → UserB) — la Suscripción se reasigna del Usuario anterior al nuevo.
- La Suscripción ahora heredará las propiedades del nuevo Usuario.
- Las propiedades vinculadas al Usuario anterior (como Tags, idioma o External ID) ya no aplicarán.
- UserA tiene Tag
premium=true - UserB tiene Tag
premium=false - Si una Suscripción se mueve de UserA a UserB, ya no estará asociada con
premium=truey en su lugar reflejará las propiedades de UserB.
Usuarios anónimos vs. identificados
- Usuario anónimo: No tiene External ID → cada Suscripción es separada con su propio OneSignal ID (tratados como Usuarios separados).
- Usuario identificado: Tiene un External ID → OneSignal fusiona todas las Suscripciones bajo un único OneSignal ID.
- Suscripción de push web →
OneSignal_ID_1 - Suscripción móvil →
OneSignal_ID_2 - Suscripción de email →
OneSignal_ID_3 - Suscripción de SMS →
OneSignal_ID_4 - Resultado: Cuatro Usuarios (cada Suscripción es un Usuario separado con propiedades únicas)
- Suscripción de push web con External ID
External_ID_A→OneSignal_ID_1 - Suscripción móvil con el mismo
External_ID_A→ fusionado enOneSignal_ID_1 - Suscripción de email con el mismo
External_ID_A→ fusionado enOneSignal_ID_1 - Suscripción de SMS con el mismo
External_ID_A→ fusionado enOneSignal_ID_1 - Resultado: Un Usuario con cuatro Suscripciones (todas vinculadas al mismo Usuario)
Siempre asigna un External ID. Esto asegura que las Suscripciones a través de canales y dispositivos se unifiquen bajo un único perfil de Usuario y previene duplicación.
- Usa identificadores estables y no genéricos (por ejemplo, tu ID de usuario interno o dirección de email).
- Llama a
OneSignal.logintemprano en el ciclo de vida de tu aplicación.
Usuarios anónimos vs. identificados
- Usuario anónimo: No tiene External ID → cada Suscripción es separada con su propio OneSignal ID (tratados como Usuarios separados).
- Usuario identificado: Tiene un External ID → OneSignal fusiona todas las Suscripciones bajo un único OneSignal ID.
- Suscripción de push web →
OneSignal_ID_1 - Suscripción móvil →
OneSignal_ID_2 - Suscripción de email →
OneSignal_ID_3 - Suscripción de SMS →
OneSignal_ID_4 - Resultado: Cuatro Usuarios (cada Suscripción es un Usuario separado con propiedades únicas)
- Suscripción de push web con External ID
External_ID_A→OneSignal_ID_1 - Suscripción móvil con el mismo
External_ID_A→ fusionado enOneSignal_ID_1 - Suscripción de email con el mismo
External_ID_A→ fusionado enOneSignal_ID_1 - Suscripción de SMS con el mismo
External_ID_A→ fusionado enOneSignal_ID_1 - Resultado: Un Usuario con cuatro Suscripciones (todas vinculadas al mismo Usuario)
Siempre asigna un External ID. Esto asegura que las Suscripciones a través de canales y dispositivos se unifiquen bajo un único perfil de Usuario y previene duplicación.
- Usa identificadores estables y no genéricos (por ejemplo, tu ID de usuario interno o dirección de email).
- Llama a
OneSignal.logintemprano en el ciclo de vida de tu aplicación.
Propiedades del usuario
| Propiedad | Descripción |
|---|---|
| Channel | Las Suscripciones que tiene el usuario, como Push, Email o SMS. |
| OneSignal ID | Un UUID v4 auto-generado por OneSignal para cada usuario. Puede cambiar al asignar un External ID. |
| Last session | La marca de tiempo más reciente de interacción con la aplicación. |
| First session | Cuándo el usuario fue creado inicialmente en OneSignal. |
| Email de la Suscripción de Email más reciente. | |
| Phone | Número de teléfono de la Suscripción de SMS más reciente. |
| IP Address | De la Suscripción actualizada más recientemente. |
| External ID | Un identificador único que asignas para unificar al usuario con tu sistema. |
| Tags | Metadatos personalizados (por ejemplo, preferencias, comportamiento). Consulta Tags de Datos. |
| Location | Coordenadas GPS de suscripciones móviles (si el seguimiento de ubicación está habilitado). Consulta Notificaciones Activadas por Ubicación. |
| Timezone | timezone_id en formato IANA TZ, establecido por el SDK. Se puede actualizar mediante API. |
| Language | Idioma del usuario en formato ISO 639-1. Se puede actualizar mediante API o setLanguage. |
| Aliases | Pares clave-valor como mixpanel_id : 1234. Consulta Aliases. |
OneSignal ID
El OneSignal ID es un UUID v4 interno generado para representar únicamente a un usuario. Se crea automáticamente en escenarios como:- Primera apertura de la aplicación móvil (o después de reinstalar)
- Nueva Suscripción de push web
- Crear Usuarios/Suscripciones mediante Create user o Importación CSV
- Limpiar el caché del navegador y volver al sitio
- Cerrar sesión con
OneSignal.logout
OneSignal.login, cualquier OneSignal ID existente vinculado a la Suscripción actual es reemplazado por el asociado con ese External ID. Las Suscripciones a través de plataformas (Push, Email, SMS) se fusionarán bajo el mismo OneSignal ID si comparten el mismo External ID.
Reasignación y comportamiento
Si un usuario reinstala la aplicación o limpia el caché, se crean un nuevo OneSignal ID y Suscripción. Sin embargo, llamar aOneSignal.login vinculará la nueva Suscripción de vuelta al perfil de usuario original.
Las Suscripciones agregadas mediante OneSignal.User.addEmail o addSms heredarán el OneSignal ID actual.
Referencias del SDK:
External ID
El External ID es una cadena única que asignas a los usuarios para rastrearlos a través de dispositivos y suscripciones.
Usa el External ID para rastrear al usuario a través de sus suscripciones.
OneSignal.login- Recomendado consulta SDK móvil y SDK web- API de Create user
- API de Transfer subscription
OneSignal.logout(para eliminar)
IDs restringidos
No uses valores de marcador de posición o valores temporales para External IDs. Los siguientes valores no pueden usarse para External IDs:NANULL-101all00000000-0000-0000-0000-000000000000
Múltiples usuarios en el mismo dispositivo
Cuando múltiples usuarios comparten un dispositivo, cada nuevo inicio de sesión debe activar una llamada aOneSignal.login con un External ID diferente. Esto reasigna el OneSignal ID y la Suscripción al nuevo usuario.
Para manejar el cierre de sesión, puedes hacer lo siguiente para eliminar el contexto del usuario:
- Llama a
OneSignal.logout()→ limpia el External ID, elimina las propiedades de usuario anteriores (Tags, Aliases, etc.), y asigna un OneSignal ID anónimo. - Opcionalmente deshabilita las notificaciones usando
optOut, y rehabilita conoptInal iniciar sesión nuevamente.
Usuarios activos mensuales (MAU)
MAU se usa para facturación y se define como una Suscripción móvil que tiene una última sesión dentro del período de facturación de 30 días. Esto incluye:- Usuarios que abren tu aplicación por primera vez, creando una Suscripción móvil a través de nuestro SDK
- Usuarios que reinstalan la aplicación y la abren nuevamente, creando otra Suscripción móvil a través de nuestro SDK
- Usuarios que se importan a través de nuestra API
Ejemplo de facturación MAU
Si un Usuario tiene estas Suscripciones:- Móvil iOS (activo en los últimos 30 días)
- Móvil Android (activo en los últimos 30 días)
- Push web
- SMS
Reducir MAUs (ej., casos de uso de paywall)
Puedes retrasar la inicialización del SDK y la creación de Suscripción usando los métodos de privacidad del SDK móvil.- Llama a
setConsentRequired()antes de inicializar el SDK – esto previene la creación automática de una Suscripción - Llama a
setConsentGiven()cuando estés listo para crear una Suscripción para el usuario