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

# Eventos personalizados

> Rastree el comportamiento del usuario con eventos personalizados y utilícelos para activar Journeys, controlar el flujo con pasos Wait Until y personalizar mensajes en tiempo real.

## ¿Qué son los eventos personalizados?

Un evento personalizado es una acción (o inacción) del usuario con un nombre que usted envía a OneSignal. Usted envía eventos desde su aplicación, sitio web o sistemas externos para poder activar automatizaciones, controlar el flujo de Journeys y personalizar las experiencias del usuario en tiempo real.

**Ejemplos incluyen:**

* Incorporación completada
* Realizó una compra
* Abandonó un carrito
* Canceló una suscripción
* Alcanzó un nuevo nivel de juego

**Cuando OneSignal recibe un evento personalizado, usted puede:**

* Iniciar un Journey
* Continuar un Journey con un paso Wait Until
* Hacer que los usuarios salgan de un Journey
* Personalizar mensajes usando propiedades del evento
* Segmentar usuarios por comportamiento (Acceso Anticipado)

### ¿Cuándo debería usar eventos personalizados?

Use eventos personalizados cuando:

* La mensajería debe responder al comportamiento del usuario en tiempo real
* Los datos representan algo que ocurrió (no un estado permanente)
* Necesita propiedades del evento para personalización o lógica de Journey

No use eventos personalizados cuando:

* Desea almacenar atributos de usuario a largo plazo (use Tags en su lugar)

<Warning>
  Los eventos personalizados representan algo que ocurrió en un momento específico en el tiempo. A diferencia de los Tags, no actualizan permanentemente el perfil del usuario — registran comportamiento.

  Consulte [Tags vs eventos personalizados](#tags-vs-custom-events) a continuación para una comparación detallada.
</Warning>

### Estructura del evento personalizado

Los eventos personalizados incluyen los siguientes campos:

<ParamField body="name" type="string" required>
  El nombre del evento. Máximo `128` caracteres.
</ParamField>

<ParamField body="properties" type="object">
  Parámetros opcionales que describen el evento (por ejemplo: nombre del plan, ID del producto o precio). Estos se pueden usar para personalización y control de flujo de Journey.
</ParamField>

<ParamField body="external_id" type="string">
  El ID externo del usuario. Se requiere un identificador de usuario cuando se utiliza la [API de crear eventos personalizados](/reference/create-custom-events). Se debe proporcionar `external_id` o `onesignal_id`.
</ParamField>

<ParamField body="timestamp" type="string">
  La hora en que ocurrió (u ocurrirá) el evento, formateada como una cadena ISO 8601. Consulte la [API de crear eventos personalizados](/reference/create-custom-events).
</ParamField>

<ParamField body="idempotency_key" type="string">
  Un UUID único utilizado para evitar el procesamiento duplicado de eventos. Consulte la [API de crear eventos personalizados](/reference/create-custom-events).
</ParamField>

<Warning>
  Límites de tamaño de eventos:

  * Carga útil máxima del evento: 2024 bytes
  * Tamaño máximo de solicitud (múltiples eventos): 1 MB
</Warning>

***

## Enviar eventos personalizados a OneSignal

<Info>
  Todos los eventos se tratan de la misma manera para fines de facturación, independientemente de la fuente.
</Info>

### API y SDK

<Columns cols={2}>
  <Card title="Create Custom Events API" icon="server" href="/reference/create-custom-events">
    Envía eventos desde tu backend.
  </Card>

  <Card title="Mobile/Web SDKs" icon="mobile" href="./mobile-sdk-reference#custom-events">
    Rastrea eventos del lado del cliente.
  </Card>
</Columns>

Ejemplo de carga útil de evento personalizado:

```json JSON theme={null}
{
  "events": [
    {
      "name": "purchase",
      "properties": {
        "item": "T-shirt",
        "size": "small",
        "color": "blue",
        "price": 24.99
      },
      "external_id": "user_12345",
      "timestamp": "2025-10-21T19:09:32.263Z",
      "idempotency_key": "123e4567-e89b-12d3-a456-426614174000"
    }
  ]
}
```

### Integraciones

OneSignal se conecta a más de 25 fuentes de datos externas para importar eventos personalizados — incluyendo almacenes de datos, bases de datos y plataformas de streaming — sin necesidad de código personalizado.

<Columns cols={3}>
  <Card title="Twilio Segment" icon="share-nodes" href="./segment-onesignal-integration">
    Enruta eventos y audiencias entre Segment y OneSignal.
  </Card>

  <Card title="Amplitude" icon="chart-line" href="./amplitude">
    Sincroniza cohortes e importa eventos personalizados de Amplitude.
  </Card>

  <Card title="Mixpanel" icon="chart-mixed" href="./mixpanel">
    Sincroniza cohortes e importa eventos personalizados de Mixpanel.
  </Card>

  <Card title="Snowflake" icon="snowflake" href="./snowflake">
    Importa eventos personalizados desde tu almacén Snowflake.
  </Card>

  <Card title="Google BigQuery" icon="database" href="./bigquery">
    Importa eventos personalizados desde datasets de BigQuery.
  </Card>

  <Card title="Apache Kafka" icon="bolt" href="./kafka">
    Transmite eventos personalizados desde topics de Kafka.
  </Card>
</Columns>

<Card title="Ver todas las fuentes de eventos personalizados" icon="grid-2" href="./integrations#custom-event-sources">
  Consulta la lista completa de bases de datos, almacenes y plataformas de streaming que importan eventos personalizados a OneSignal.
</Card>

<Tip>
  **¿Sin recursos de desarrollo?** Importa eventos personalizados directamente desde una hoja de cálculo de [Google Sheets](./google-sheets) — sin código necesario. Añade tus datos de evento a una hoja y OneSignal los importa automáticamente. Ideal para experimentación temprana o equipos sin soporte de ingeniería.
</Tip>

### Verificar que los eventos se reciben

Después de enviar eventos, confirme que están llegando a OneSignal en **Data > Custom Events**.

#### Pestaña Event List

<Frame caption="Pestaña Event List en el panel de OneSignal, Data > Custom Events">
  <img src="https://mintcdn.com/onesignal/MWGmj5X1CnFliD-c/images/dashboard/event-list.png?fit=max&auto=format&n=MWGmj5X1CnFliD-c&q=85&s=2b9cae667bed4b54974326ffa0830907" width="3302" height="1888" data-path="images/dashboard/event-list.png" />
</Frame>

La pestaña Event List proporciona una vista general de todos los eventos personalizados en su aplicación, organizados por nombre de evento.

Para cada tipo de evento, puede ver:

* Total de eventos ingestados
* Evento más reciente (con la carga útil JSON completa y sus propiedades)
* Fuente del evento (SDK, API o integración)
* Marca de tiempo de la última ocurrencia

Seleccione un evento para abrir su vista de detalle, donde también puede actualizar su período de retención.

La vista de detalle incluye:

* **Desglose por fuente**: Número de eventos ingestados por fuente. Expanda para ver el esquema más reciente del evento y la marca de tiempo del evento más reciente.
* **Actividades**: Los 10 eventos más recientes, incluyendo fuente y marca de tiempo. Expanda cualquier entrada para inspeccionar la carga útil JSON completa.
* **Uso**: Dónde se está utilizando actualmente el evento (Journeys o segmentos). Haga clic directamente en el Journey o segmento asociado para modificar su configuración.

#### Pestaña Event Activity

<Frame caption="Pestaña Event Activity en el panel de OneSignal, Data > Custom Events">
  <img src="https://mintcdn.com/onesignal/MWGmj5X1CnFliD-c/images/dashboard/event-activity.png?fit=max&auto=format&n=MWGmj5X1CnFliD-c&q=85&s=8e355c907b598f1ac5a446e3536b9eea" width="3302" height="1888" data-path="images/dashboard/event-activity.png" />
</Frame>

La pestaña Event Activity proporciona un feed en vivo de los eventos más recientes ingestados en su aplicación de OneSignal.

Úsela para:

* Filtrar por nombre de evento, fuente o ID externo
* Inspeccionar cargas útiles JSON completas
* Depurar problemas de integración

<Warning> El feed no se actualiza automáticamente. Actualice manualmente después de enviar nuevos eventos. </Warning>

***

## Usar eventos personalizados en OneSignal

Después de que los eventos estén fluyendo hacia OneSignal, puede usarlos de las siguientes maneras:

### Activar reglas de entrada y salida de Journey

Establezca un evento personalizado como regla de entrada o salida de un Journey para agregar o eliminar usuarios inmediatamente cuando ocurra el evento.

Ejemplo:

* `signup_completed` → Iniciar incorporación o eliminar de un Journey de incentivo de prueba
* `purchase` → Enviar confirmación y venta cruzada o eliminar del Journey de carrito abandonado

<Card title="Configuración de Journey" icon="gear" href="./journeys-settings#entry-rules">
  Ingrese usuarios a Journeys con eventos personalizados.
</Card>

### Controlar el flujo del Journey (Wait Until)

Use un paso Wait Until para retener a los usuarios hasta que ocurra un evento personalizado.

Ejemplo:

* Esperar hasta `purchase` después de `added_to_cart`

<Info> Puede definir una ventana de expiración. Si el usuario no activa el evento a tiempo, puede enviar un mensaje alternativo o salir del Journey. </Info>

<Card title="Paso Wait Until del Journey" icon="stopwatch" href="./journeys-actions#wait-until">
  Retenga a los usuarios hasta que ocurra un evento personalizado.
</Card>

### Personalizar Journeys con propiedades del evento

Haga referencia a las propiedades del evento usando Liquid en las plantillas de su Journey.

Ejemplo:

```liquid Liquid theme={null}
Thanks for purchasing {{ journey.first_event.properties.item }}!
```

<Card title="Personalización con eventos personalizados" icon="bolt" href="./personalization-custom-event">
  Guía completa para usar propiedades de eventos y personalizar Journeys.
</Card>

### Segmentar usuarios con eventos personalizados

Cree un segmento basado en la ocurrencia de un evento personalizado.

<Note>
  La segmentación con eventos personalizados está en Acceso Anticipado.

  Para solicitar acceso, envíe un correo electrónico a `support@onesignal.com` con:

  * El nombre de su empresa
  * Su(s) ID(s) de aplicación de OneSignal
</Note>

<Warning>
  Limitaciones actuales:

  * No es compatible con Email Warm Up ni pruebas A/B
  * No puede impulsar Journeys
  * No se puede combinar con otros filtros de segmento
</Warning>

<Card title="Segmentación" icon="filter" href="./segmentation">
  Guía completa de segmentación.
</Card>

***

## Disponibilidad de plan y costos de retención

Los eventos personalizados están disponibles en todos los planes pagos.

<Card title="Preguntas frecuentes de facturación" icon="receipt" href="./billing-faq#streaming-events">
  Conozca sobre retención y precios de eventos.
</Card>

***

## Tags vs eventos personalizados

Las [etiquetas](/docs/es/add-user-data-tags) y los [eventos personalizados](/docs/es/custom-events) son ambas formas de agregar datos a sus usuarios. Sin embargo, existen algunas diferencias clave:

| Característica     |                     Etiquetas                    |                                           Eventos personalizados                                          |
| ------------------ | :----------------------------------------------: | :-------------------------------------------------------------------------------------------------------: |
| Uso de datos       |          Segmentación y personalización          | Activar journeys sin un segmento, pasos de esperar hasta, personalización directamente dentro de journeys |
| Retención de datos |                    De por vida                   |     30+ días ([el almacenamiento de por vida está disponible](/docs/es/billing-faq#streaming-events))     |
| Formato de datos   |           Cadenas o números clave-valor          |                                                    JSON                                                   |
| Fuente de datos    | SDK de OneSignal, API o integraciones (limitado) |                                   SDK de OneSignal, API o integraciones                                   |
| Acceso a datos     |    Segmentación y personalización de mensajes    |        Journeys y personalización de plantillas de mensajes de journey, segmentación (Próximamente)       |

La distinción clave entre etiquetas y eventos personalizados está en su profundidad y casos de uso. Las etiquetas son propiedades de un usuario, como nombre, estado de cuenta o ubicación. Los eventos son cosas que el usuario ha hecho, como comprar un artículo, completar un nivel o invitar a un amigo. Tanto las etiquetas como los eventos pueden usarse para segmentación y personalización.

En la práctica, probablemente usará ambos:

* Etiquetas para propiedades de usuario que son estáticas y no cambian con frecuencia
* Eventos personalizados para escenarios en tiempo real, segmentación compleja y flujos de trabajo de journey más sofisticados

***
