> ## Documentation Index
> Fetch the complete documentation index at: https://documentation.onesignal.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Usuarios

> Comprende cómo funcionan los Usuarios en OneSignal, incluyendo identificación de usuario, OneSignal ID, External ID, y cómo las Suscripciones y propiedades de usuario se gestionan a través de canales.

## Descripción general

En OneSignal, un **Usuario** representa a un individuo con una o más [Suscripciones](./subscriptions) 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.

**Ejemplo:**

* 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=true` y en su lugar reflejará las propiedades de UserB.

<Frame>
  <iframe width="560" height="315" src="https://www.youtube.com/embed/yZM6zn7nLDw?si=oT7ncbhX0sNtmKML" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen />
</Frame>

### 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.

**Ejemplo: Usuario anónimo**

* 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)

**Ejemplo: Usuario identificado**

* 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 en `OneSignal_ID_1`
* Suscripción de email con el mismo `External_ID_A` → fusionado en `OneSignal_ID_1`
* Suscripción de SMS con el mismo `External_ID_A` → fusionado en `OneSignal_ID_1`
* **Resultado:** Un Usuario con cuatro Suscripciones (todas vinculadas al mismo Usuario)

<Note>
  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.login` temprano en el ciclo de vida de tu aplicación.
</Note>

***

## Propiedades del usuario

| Propiedad          | Descripción                                                                                                                                                                                                                |
| ------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **External ID**    | Un identificador único que asignas para unificar al usuario con tu sistema.                                                                                                                                                |
| **OneSignal ID**   | Un UUID v4 auto-generado por OneSignal para cada usuario. Puede cambiar al asignar un External ID.                                                                                                                         |
| **Aliases**        | Pares clave-valor como `mixpanel_id : 1234`. Consulta [Aliases](./aliases).                                                                                                                                                |
| **Channel**        | Las [Suscripciones](./subscriptions) que tiene el usuario, como Push, Email o SMS.                                                                                                                                         |
| **Country**        | Código de país en formato [ISO 3166-1 Alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2).                                                                                                                          |
| **Email**          | Email de la Suscripción de Email más reciente.                                                                                                                                                                             |
| **First session**  | Cuándo el usuario fue creado inicialmente en OneSignal.                                                                                                                                                                    |
| **IP Address**     | De la Suscripción actualizada más recientemente.                                                                                                                                                                           |
| **Language**       | Idioma del usuario en [formato ISO 639-1](https://en.wikipedia.org/wiki/List_of_ISO_639_language_codes). Se puede actualizar mediante API o `setLanguage`.                                                                 |
| **Last session**   | La marca de tiempo más reciente de interacción con la aplicación.                                                                                                                                                          |
| **Location**       | Coordenadas GPS de suscripciones móviles (si el seguimiento de ubicación está habilitado). Consulta [Notificaciones Activadas por Ubicación](./location-triggered-event).                                                  |
| **Phone**          | Número de teléfono de la Suscripción de SMS más reciente.                                                                                                                                                                  |
| **Tags**           | Metadatos personalizados (por ejemplo, preferencias, comportamiento). Consulta [Tags de Datos](./add-user-data-tags).                                                                                                      |
| **Test User name** | Una etiqueta asignada al marcar un Usuario como usuario de prueba. Se configura a través del dashboard o la propiedad `test_user_name` en la API. Consulta [Test Users](./find-set-test-subscriptions#test-subscriptions). |
| **Timezone**       | `timezone_id` en [formato IANA TZ](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones), establecido por el SDK. Se puede actualizar mediante API.                                                                |

## 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](/reference/create-user) o [Importación CSV](./import)
* Limpiar el caché del navegador y volver al sitio
* Cerrar sesión con `OneSignal.logout`

Una vez que se usa un **External ID** mediante `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 a `OneSignal.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:

* [Referencia del SDK móvil](./mobile-sdk-reference)
* [Referencia del SDK web](./web-sdk-reference)

## External ID

El **External ID** es una cadena única que asignas a los usuarios para rastrearlos a través de dispositivos y suscripciones.

<Frame caption="Usa el External ID para rastrear al usuario a través de sus suscripciones.">
  <img src="https://mintcdn.com/onesignal/RWtLFPeffHrC81wI/images/docs/a30870df69f4545ec68fc9ff9902784b35ede0dd0ce7b3a5b03b8acb6bb1c748-eid.png?fit=max&auto=format&n=RWtLFPeffHrC81wI&q=85&s=bcb07ae72a25e91288a5034a3e0ecb17" width="560" height="452" data-path="images/docs/a30870df69f4545ec68fc9ff9902784b35ede0dd0ce7b3a5b03b8acb6bb1c748-eid.png" />
</Frame>

Puedes establecer o eliminar el External ID mediante:

* `OneSignal.login` - **Recomendado** consulta [SDK móvil](./mobile-sdk-reference#login-external-id) y [SDK web](./web-sdk-reference#login-external-id)
* [API de Create user](/reference/create-user)
* [API de Transfer subscription](/reference/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:

* `NA`
* `NULL`
* `-1`
* `0`
* `1`
* `all`
* `00000000-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 a `OneSignal.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 con `optIn` al iniciar sesión nuevamente.

***

## Usuarios activos mensuales (MAU)

MAU se usa para **facturación** y se define como una [Suscripción](./subscriptions) 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
* Email
* SMS

Solo las Suscripciones móviles iOS y Android cuentan, resultando en **2 MAUs**.

El estado de suscripción no importa para la facturación MAU.

### 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](./mobile-sdk-reference#privacy) del SDK móvil.

1. Llama a `setConsentRequired()` antes de inicializar el SDK – esto previene la creación automática de una Suscripción
2. Llama a `setConsentGiven()` cuando estés listo para crear una Suscripción para el usuario

***
