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

# Segmentos

> Crea y gestiona segmentos dinámicos de usuarios en OneSignal para dirigir mensajería personalizada basada en actividad, ubicación, etiquetas y más.

Los segmentos se actualizan automáticamente a medida que los usuarios interactúan con tu app o sitio—sin rastreo adicional requerido.

<Warning>
  Las notificaciones push, los correos electrónicos y los mensajes SMS solo se envían a las [Suscripciones](./subscriptions) con opt-in (suscritas). El editor de segmentos muestra los recuentos suscritos y no suscritos por transparencia, pero solo las Suscripciones suscritas reciben mensajes cuando diriges un segmento. Los Mensajes In-App se muestran a todas las Suscripciones móviles, independientemente del estado.

  Cuando se usan en Journeys, todas las Suscripciones de un segmento, independientemente del estado, se evalúan para sus respectivos [usuarios](./users) y esos usuarios entran en el Journey.
</Warning>

***

## Tipos de segmentos

La plataforma OneSignal soporta dos categorías principales de segmentos:

### Segmentos basados en suscripción

Los segmentos basados en suscripción se construyen usando filtros sobre atributos de suscripción, como tipo de dispositivo, idioma o versión de app.

### Segmentos basados en usuario

Los segmentos basados en usuario se construyen usando filtros sobre atributos a nivel de usuario en lugar de suscripciones individuales. Actualmente, estos segmentos soportan filtros sobre eventos de mensajes y eventos personalizados. Los ejemplos incluyen:

* Cuándo un usuario abrió por última vez un email, SMS o notificación push enviada vía OneSignal.
* Eventos personalizados específicos rastreados en tu app o sitio web.

Un segmento basado en usuario incluye a todos los usuarios que cumplen los criterios y automáticamente hace que todas sus suscripciones sean elegibles para ser dirigidas, habilitando definiciones de audiencia más ricas que pueden alcanzar cualquiera de los dispositivos del usuario.

***

## Crear segmentos

Los segmentos pueden crearse en el dashboard, a través de la API o cargando un CSV. Dirige tu audiencia incluyendo y excluyendo segmentos al enviar mensajes o crear Journeys.

<Columns cols={3}>
  <Card title="Dashboard" icon="display">
    Crea y gestiona segmentos desde **Audience > Segments**.
  </Card>

  <Card title="API" icon="code" href="/reference/create-segments">
    Crea segmentos programáticamente usando la API Create Segment.
  </Card>

  <Card title="Importación CSV" icon="file-csv" href="./import">
    Importa masivamente Suscripciones a un segmento cargando un CSV.
  </Card>
</Columns>

**Crear un segmento en el dashboard**

<Steps>
  <Step title="Ve a Audience > Segments">
    Navega a la página Segments en el dashboard.

    <Frame caption="Página Segments">
      <img src="https://mintcdn.com/onesignal/BIUS_wdfwITxcuxQ/images/segments/segments-tab.png?fit=max&auto=format&n=BIUS_wdfwITxcuxQ&q=85&s=3cb693860c79428fe33135b5401c4941" alt="Página Segments mostrando la lista de segmentos" width="1277" height="1054" data-path="images/segments/segments-tab.png" />
    </Frame>
  </Step>

  <Step title="Haz clic en New Segment">
    Abre la interfaz de creación de segmentos.

    <Frame caption="Interfaz de creación de segmentos">
      <img src="https://mintcdn.com/onesignal/BIUS_wdfwITxcuxQ/images/segments/segment-creation-interface.png?fit=max&auto=format&n=BIUS_wdfwITxcuxQ&q=85&s=f9b2ec793a299ea442ce7a04194a4a31" alt="Interfaz de creación de segmentos mostrando opciones de filtros y campo de nombre de segmento" width="1301" height="1061" data-path="images/segments/segment-creation-interface.png" />
    </Frame>
  </Step>

  <Step title="Agrega filtros, nombra el segmento y haz clic en Create Segment">
    * Agrega filtros para definir tus criterios de audiencia. Si no se seleccionan filtros, se aplicará por defecto a todos los usuarios de tu app.
    * Nombra el segmento y haz clic en **Create Segment**.

    <Frame caption="Interfaz de creación de segmentos">
      <img src="https://mintcdn.com/onesignal/BIUS_wdfwITxcuxQ/images/segments/segment-creation-example.png?fit=max&auto=format&n=BIUS_wdfwITxcuxQ&q=85&s=13624ad1b90beedabcfa1ee6347529f0" alt="Interfaz de creación de segmentos mostrando opciones de filtros y campo de nombre de segmento" width="1320" height="589" data-path="images/segments/segment-creation-example.png" />
    </Frame>
  </Step>
</Steps>

### Lógica de segmentos: AND vs OR

Usa **AND** para combinar filtros que *todos* deben coincidir. Usa **OR** para coincidir con *cualquiera* de múltiples condiciones.

<Tabs>
  <Tab title="Ejemplo AND">
    Crea un segmento de usuarios que:

    * Han estado activos en los últimos 30 días
    * Tienen al menos 3 sesiones en total

    <Frame caption="Configuración de filtro de segmento AND">
      <img src="https://mintcdn.com/onesignal/BIUS_wdfwITxcuxQ/images/segments/and-filter-example.png?fit=max&auto=format&n=BIUS_wdfwITxcuxQ&q=85&s=c013ccef30256763df80d07d850a2962" alt="Segmento con filtros AND para usuarios activos en los últimos 30 días con al menos 3 sesiones" width="1311" height="639" data-path="images/segments/and-filter-example.png" />
    </Frame>
  </Tab>

  <Tab title="Ejemplo OR">
    Crea un segmento de usuarios que:

    * No han regresado en más de 7 días
    * Tienen nuevas Suscripciones creadas en los últimos 3 días

    <Frame caption="Configuración de segmento con cláusula OR">
      <img src="https://mintcdn.com/onesignal/BIUS_wdfwITxcuxQ/images/segments/or-filter-example.png?fit=max&auto=format&n=BIUS_wdfwITxcuxQ&q=85&s=82b594452c5432d927847e34e7d6f91d" alt="Segmento con filtro OR combinando usuarios inactivos y nuevas Suscripciones" width="1298" height="672" data-path="images/segments/or-filter-example.png" />
    </Frame>
  </Tab>
</Tabs>

***

## Filtros

Los filtros definen qué suscripciones pertenecen a un segmento. Puedes combinar múltiples filtros usando lógica **AND** u **OR**.

Si no se seleccionan filtros, el segmento incluirá por defecto a todos los usuarios de tu app.

| Filtro             | Descripción                                                                                                                                                                                                                         |
| ------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **First session**  | Fecha/hora de creación del usuario.                                                                                                                                                                                                 |
| **Last session**   | Última vez que la Suscripción abrió la app o el sitio.                                                                                                                                                                              |
| **Session count**  | Número de veces que la Suscripción abrió la app o visitó el sitio.                                                                                                                                                                  |
| **Usage duration** | Segundos totales que la Suscripción tuvo tu app/sitio abierto.                                                                                                                                                                      |
| **Language**       | Idioma preferido del usuario (basado en dispositivo/navegador). Consulta [soporte multi-idioma](./multi-language-messaging).                                                                                                        |
| **App version**    | Extraído de Android `versionCode` o iOS `CFBundleShortVersionString`. Combina con **Device type** para filtrar por diferentes versiones de app para cada plataforma. Consulta [Target outdated app versions](./app-version-update). |
| **Device type**    | iOS, Android, Web Push (navegador), Email, etc.                                                                                                                                                                                     |
| **User tag**       | Etiquetas personalizadas que estableces vía el SDK o API. Consulta [Agregar Tags](./add-user-data-tags).                                                                                                                            |
| **Location**       | Filtrar por radio desde coordenadas (lat/long). Requiere al menos 1 metro y hasta 2 decimales de precisión. Consulta [permiso de ubicación](./mobile-sdk-reference#location).                                                       |
| **Country**        | Basado en la última geolocalización IP (código ISO 3166-2).                                                                                                                                                                         |
| **Test users**     | Usuarios marcados como [Usuarios de Prueba](./test-users).                                                                                                                                                                          |
| **Message Event**  | Filtrar por evento de mensaje (ej., "clicked", "delivered", "failed"). Consulta [Filtros de eventos de mensajes](#message-event-filters).                                                                                           |
| **Custom Event**   | Filtrar por evento personalizado (ej., "purchase", "user login"). Consulta [Filtros de eventos personalizados](#custom-event-filters).                                                                                              |

### Filtros de eventos de mensajes

Los filtros de eventos de mensajes te permiten filtrar usuarios basándote en su interacción con uno de tus canales de mensajería dentro de una ventana determinada.

<Frame caption="Filtros de eventos de mensajes">
  <img src="https://mintcdn.com/onesignal/BIUS_wdfwITxcuxQ/images/segments/message_event_filters.png?fit=max&auto=format&n=BIUS_wdfwITxcuxQ&q=85&s=8ff30920fd89a72dd785f2949808e2c7" alt="Opciones de filtro de eventos de mensajes mostrando selectores de canal, acción y ventana de tiempo" width="1295" height="581" data-path="images/segments/message_event_filters.png" />
</Frame>

Primero selecciona el canal de mensajería sobre el que quieres filtrar, luego especifica la acción que quieres rastrear y si el usuario ha realizado o no esa acción.

Puedes especificar un número mínimo, máximo o exacto de veces que el usuario debe haber realizado la acción para calificar, así como una ventana de tiempo que va desde las últimas 24 horas hasta los últimos 90 días. Usa la opción `between` para definir un rango personalizado de inicio y fin (en días atrás).

**Interacciones rastreables por canal:**

|  Canal |                            Interacciones Rastreables                            |
| :----: | :-----------------------------------------------------------------------------: |
|  Push  |                         Sent, Received, Clicked, Failed                         |
|   SMS  |                             Sent, Delivered, Failed                             |
|  Email | Sent, Delivered, Opened, Clicked, Bounced, Failed, Suppressed, Reported as spam |
| In-App |                                Received, Clicked                                |

<Warning>
  Los segmentos creados con filtros de eventos de mensajes son basados en usuario.

  No pueden combinarse con segmentos basados en suscripción para inclusión o exclusión al enviar mensajes fuera de Journeys.

  Dentro de [Journeys](./journeys-overview), que es basado en usuario, puedes combinar segmentos basados en eventos con segmentos basados en suscripción para un targeting más flexible.
</Warning>

**Retención de eventos de mensajes**

El tiempo de retención de los datos de eventos de mensajes depende de tu plan. El selector de ventana de tiempo del dashboard muestra hasta 90 días, pero los datos más allá del período de retención de tu plan no devolverán resultados.

<Card title="Retención de eventos de mensajes por plan" icon="clock" href="./billing-faq#message-event-retention">
  Los períodos de retención varían por plan — consulta el FAQ de Facturación para más detalles.
</Card>

### Filtros de eventos personalizados

Los filtros de [eventos personalizados](./custom-events) te permiten dirigir a usuarios basándote en acciones significativas que han tomado en tu app, sitio web o sistemas externos.

<Note>
  Los filtros de eventos personalizados están actualmente en **Acceso Temprano**.

  Para solicitar acceso, contacta a `support@onesignal.com` con el nombre de tu empresa, tu ID de Organización de OneSignal y tu(s) App ID(s) de OneSignal.
</Note>

<Frame caption="Filtros de eventos personalizados">
  <img src="https://mintcdn.com/onesignal/BIUS_wdfwITxcuxQ/images/segments/custom_event_filters.png?fit=max&auto=format&n=BIUS_wdfwITxcuxQ&q=85&s=99925f2d8c574a94b54817e7a8aae24c" alt="Opciones de filtro de eventos personalizados mostrando selectores de tipo de evento y propiedad" width="1305" height="757" data-path="images/segments/custom_event_filters.png" />
</Frame>

Comienza seleccionando:

* El nombre del evento sobre el que quieres filtrar.
* Si el usuario `ha` o `no ha` realizado esa acción.
* El número mínimo, máximo o exacto de veces que la acción debe realizarse.
* Una ventana de tiempo durante la cual la acción debe (o no debe) ocurrir — elige un rango predefinido o define una ventana personalizada usando la opción `between` (inicio y fin en días atrás).

Después de especificar el evento, puedes opcionalmente filtrar por propiedades específicas o múltiples:

* `all` — aplica una condición AND entre propiedades.
* `at least one` — aplica una condición OR.

Luego establece las propiedades sobre las que quieres filtrar usando `notación de punto`.

* Los eventos personalizados se representan como [Objetos JSON](https://www.w3schools.com/js/js_json.asp).
* Consulta [Eventos personalizados](./custom-events#what-is-a-custom-event%3F) para más detalles.

**Ejemplo**

Dado el siguiente evento personalizado:

```json theme={null}
{
  "events": [
    {
      "name": "cart_updated",
      "properties": {
        "product_name": "24 Pack of Acorns",
        "product_price": "12.99",
        "product_quantity": "2"
      },
      "external_id": "ID_OF_THE_USER"
    }
  ]
}
```

Puedes filtrar por:

* `product_name` → para dirigir a usuarios con nombre de producto `24 Pack of Acorns`.
* `product_price` → para dirigir a usuarios con precio de producto `12.99`.
* `product_quantity` → para dirigir a usuarios con cantidad de producto `2`.

<Frame caption="Ejemplo de filtro de evento personalizado">
  <img src="https://mintcdn.com/onesignal/BIUS_wdfwITxcuxQ/images/segments/custom_event_filter_example.png?fit=max&auto=format&n=BIUS_wdfwITxcuxQ&q=85&s=3b5b12a65bd8528e097cf1e46c185ff5" alt="Ejemplo de filtro de evento personalizado mostrando nombre del producto, imagen, precio, cantidad y URL del carrito" width="1299" height="721" data-path="images/segments/custom_event_filter_example.png" />
</Frame>

<Warning>
  Los segmentos creados con filtros de eventos personalizados están en Acceso Temprano y son basados en usuario. Un segmento de evento personalizado solo puede contener filtros de evento personalizado y no puede combinarse con otros segmentos para inclusión o exclusión al enviar mensajes.
</Warning>

***

## Recuentos de audiencia

El editor de segmentos muestra cuántas Suscripciones suscritas y no suscritas hay en tu segmento, con un desglose por canal (push, email y SMS).

* Las Suscripciones **suscritas** tienen opt-in y recibirán mensajes cuando dirijas este segmento.
* Las Suscripciones **no suscritas** coinciden con tus filtros de segmento pero han rechazado y no recibirán mensajes.

El desglose por canal te permite ver las Suscripciones alcanzables vs. no alcanzables por canal — útil para entender qué canales serán más efectivos antes de crear un mensaje o Journey.

<Frame caption="Recuentos de audiencia">
  <img src="https://mintcdn.com/onesignal/BIUS_wdfwITxcuxQ/images/segments/audience_counts.png?fit=max&auto=format&n=BIUS_wdfwITxcuxQ&q=85&s=f945aabbb335d53054b058f41bfad527" alt="Recuentos de audiencia mostrando recuentos suscritos y no suscritos por canal" width="1309" height="1089" data-path="images/segments/audience_counts.png" />
</Frame>

### Recuentos exactos y estimaciones

OneSignal siempre devuelve un recuento en aproximadamente 15 segundos. Siempre que sea posible dentro de ese límite de tiempo, verás un recuento exacto. Para segmentos grandes o complejos donde los recuentos exactos pueden tardar mucho tiempo en calcularse, se muestra una estimación en su lugar.

Las estimaciones están etiquetadas para dejar claro que no son exactas:

| Tamaño del segmento  | Formato                      | Ejemplo             |
| -------------------- | ---------------------------- | ------------------- |
| Por encima de 10,000 | Recuento con margen de error | `140,000 +/- 5,000` |
| Por debajo de 10,000 | Valor menor que              | `<4,800`            |

Ambos formatos están redondeados para indicar que el número es aproximado. Las estimaciones nunca se mostrarán como 0: si tu segmento tiene muy pocos miembros, la estimación refleja una pequeña estimación diferente de cero para evitar sugerir que el segmento está vacío.

<Note>
  Los recuentos de audiencia están disponibles para segmentos basados en suscripción. Los recuentos de segmentos basados en usuario aún no están soportados.
</Note>

***

## Gestión de segmentos

Al ver tus segmentos en el dashboard, puedes:

* **Ver Suscripciones:** Ver qué [Suscripciones](./subscriptions) están en el segmento.
* **Copiar ID del segmento:** Copiar el ID del segmento para usar en la API.
* **Editar:** Cambiar filtros o nombre.
* **Pausar / Reanudar:** Si estás cerca de tu [límite de segmentos](https://onesignal.com/pricing), puedes pausar segmentos sin eliminarlos. Dirigir a un segmento pausado fallará.
* **Establecer como predeterminado:** Establecer un segmento predeterminado para que se seleccione automáticamente al enviar un nuevo mensaje. Esto ayuda a reducir errores de targeting y ahorrar tiempo.
* **Duplicar:** Copiar los filtros de un segmento para crear uno nuevo.
* **Ver Registros de Auditoría:** Ver los [registros de auditoría](./audit-logs) de quién puede haber cambiado un segmento y cuándo.
* **Eliminar:** Eliminar el segmento.

### Eliminar segmentos

Eliminar un segmento lo quita de tu lista de segmentos. **No** elimina los usuarios dentro de él. Para eliminar los usuarios dentro de un segmento, consulta [Eliminar Usuarios](./delete-users).

<Tabs>
  <Tab title="Dashboard">
    1. Ve a **Audience > Segments**
    2. Haz clic en el menú de tres puntos junto a un segmento
    3. Selecciona **Delete**

    <Frame caption="Menú de opciones de segmento">
      <img src="https://mintcdn.com/onesignal/BIUS_wdfwITxcuxQ/images/segments/segment-menu.png?fit=max&auto=format&n=BIUS_wdfwITxcuxQ&q=85&s=50001e1271a9ce9067a81a4e07370517" alt="Menú de opciones de tres puntos en un segmento mostrando acciones de Editar, Pausar, Duplicar y Eliminar" width="1290" height="1055" data-path="images/segments/segment-menu.png" />
    </Frame>
  </Tab>

  <Tab title="API">
    Usa el [API Delete Segment](/reference/delete-segments). Esto solo elimina la definición del segmento — no elimina los usuarios dentro de él.
  </Tab>
</Tabs>

***

## FAQ

### ¿Cómo me agrego a mí mismo a un segmento?

Establécete como Usuario de Prueba o agrega una Etiqueta personalizada, luego crea un segmento que la dirige.

1. Encuentra tus Suscripciones usando tu [External ID](./users).
2. Ya sea:
   * Establécete como un [usuario de prueba](./test-users)
   * Agrega una [Etiqueta](./add-user-data-tags) personalizada
3. Crea un segmento usando el filtro **Test Users** o la etiqueta.

### ¿Los recuentos de segmentos incluyen usuarios sin opt-in?

Sí. El editor de segmentos muestra recuentos para Suscripciones suscritas y no suscritas. Las Suscripciones suscritas tienen opt-in y recibirán mensajes. Las Suscripciones no suscritas coinciden con tus filtros pero han rechazado y no recibirán mensajes.

Solo las Suscripciones suscritas son dirigidas cuando envías un mensaje.

Cuando se usan en Journeys y mensajes in-app, los segmentos incluyen tanto Suscripciones suscritas como no suscritas.

### ¿Los recuentos de segmentos son siempre precisos?

OneSignal siempre devuelve un recuento en aproximadamente 15 segundos. Para segmentos más pequeños o simples, este es un recuento exacto. Para segmentos más grandes o complejos, se muestra una estimación en su lugar.

Las estimaciones están claramente etiquetadas con su precisión. Consulta [Recuentos de audiencia](#audience-counts) para más detalles sobre cómo se formatean las estimaciones y qué significan.
