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

# Événements personnalisés

> Suivez le comportement des utilisateurs avec les événements personnalisés et utilisez-les pour déclencher des Journeys, contrôler le flux avec des étapes Wait Until et personnaliser les messages en temps réel.

## Que sont les événements personnalisés ?

Un événement personnalisé est une action utilisateur nommée (ou une inaction) que vous envoyez à OneSignal. Vous envoyez des événements depuis votre application, votre site web ou des systèmes externes afin de déclencher des automatisations, contrôler le flux des Journeys et personnaliser les expériences utilisateur en temps réel.

**Exemples :**

* Intégration terminée
* Achat effectué
* Panier abandonné
* Abonnement annulé
* Nouveau niveau de jeu atteint

**Lorsque OneSignal reçoit un événement personnalisé, vous pouvez :**

* Démarrer un Journey
* Continuer un Journey avec une étape Wait Until
* Faire sortir des utilisateurs d'un Journey
* Personnaliser les messages à l'aide des propriétés d'événement
* Segmenter les utilisateurs par comportement (accès anticipé)

### Quand devez-vous utiliser les événements personnalisés ?

Utilisez les événements personnalisés lorsque :

* La messagerie doit réagir au comportement utilisateur en temps réel
* Les données représentent quelque chose qui s'est produit (et non un état permanent)
* Vous avez besoin de propriétés d'événement pour la personnalisation ou la logique de Journey

N'utilisez pas les événements personnalisés lorsque :

* Vous souhaitez stocker des attributs utilisateur à long terme (utilisez plutôt les Tags)

<Warning>
  Les événements personnalisés représentent quelque chose qui s'est produit à un moment précis. Contrairement aux Tags, ils ne mettent pas à jour de manière permanente le profil de l'utilisateur — ils enregistrent un comportement.

  Consultez [Tags vs événements personnalisés](#tags-vs-custom-events) ci-dessous pour une comparaison détaillée.
</Warning>

### Structure d'un événement personnalisé

Les événements personnalisés incluent les champs suivants :

<ParamField body="name" type="string" required>
  Le nom de l'événement. Maximum `128` caractères.
</ParamField>

<ParamField body="properties" type="object">
  Paramètres optionnels décrivant l'événement (par exemple : nom du forfait, ID produit ou prix). Ils peuvent être utilisés pour la personnalisation et le contrôle du flux des Journeys.
</ParamField>

<ParamField body="external_id" type="string">
  L'ID externe de l'utilisateur. Un identifiant utilisateur est requis lors de l'utilisation de l'[API Create Custom Events](/reference/create-custom-events). Soit `external_id` soit `onesignal_id` doit être fourni.
</ParamField>

<ParamField body="timestamp" type="string">
  L'heure à laquelle l'événement s'est produit (ou se produira), formatée en chaîne ISO 8601. Voir [API Create Custom Events](/reference/create-custom-events).
</ParamField>

<ParamField body="idempotency_key" type="string">
  Un UUID unique utilisé pour empêcher le traitement en double des événements. Voir [API Create Custom Events](/reference/create-custom-events).
</ParamField>

<Warning>
  Limites de taille des événements :

  * Charge utile maximale d'un événement : 2024 octets
  * Taille maximale d'une requête (événements multiples) : 1 Mo
</Warning>

***

## Envoyer des événements personnalisés à OneSignal

<Info>
  Tous les événements sont traités de la même manière à des fins de facturation, quelle que soit leur source.
</Info>

### API et SDK

<Columns cols={2}>
  <Card title="Create Custom Events API" icon="server" href="/reference/create-custom-events">
    Envoyez des événements depuis votre backend.
  </Card>

  <Card title="Mobile/Web SDKs" icon="mobile" href="./mobile-sdk-reference#custom-events">
    Suivez les événements côté client.
  </Card>
</Columns>

Exemple de charge utile d'événement personnalisé :

```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"
    }
  ]
}
```

### Intégrations

OneSignal se connecte à plus de 25 sources de données externes pour importer des événements personnalisés — incluant des entrepôts de données, des bases de données et des plateformes de streaming — sans code personnalisé requis.

<Columns cols={3}>
  <Card title="Twilio Segment" icon="share-nodes" href="./segment-onesignal-integration">
    Routez les événements et les audiences entre Segment et OneSignal.
  </Card>

  <Card title="Amplitude" icon="chart-line" href="./amplitude">
    Synchronisez les cohortes et importez des événements personnalisés depuis Amplitude.
  </Card>

  <Card title="Mixpanel" icon="chart-mixed" href="./mixpanel">
    Synchronisez les cohortes et importez des événements personnalisés depuis Mixpanel.
  </Card>

  <Card title="Snowflake" icon="snowflake" href="./snowflake">
    Importez des événements personnalisés depuis votre entrepôt Snowflake.
  </Card>

  <Card title="Google BigQuery" icon="database" href="./bigquery">
    Importez des événements personnalisés depuis des datasets BigQuery.
  </Card>

  <Card title="Apache Kafka" icon="bolt" href="./kafka">
    Diffusez des événements personnalisés depuis des topics Kafka.
  </Card>
</Columns>

<Card title="Parcourir toutes les sources d'événements personnalisés" icon="grid-2" href="./integrations#custom-event-sources">
  Consultez la liste complète des bases de données, entrepôts et plateformes de streaming qui importent des événements personnalisés dans OneSignal.
</Card>

<Tip>
  **Pas de ressources développeur ?** Importez des événements personnalisés directement depuis une feuille de calcul [Google Sheets](./google-sheets) — aucun code requis. Ajoutez vos données d'événement à une feuille et OneSignal les importe automatiquement. Idéal pour l'expérimentation précoce ou les équipes sans support technique.
</Tip>

### Vérifier que les événements sont reçus

Après l'envoi d'événements, confirmez qu'ils atteignent OneSignal dans **Data > Custom Events**.

#### Onglet Event List

<Frame caption="Onglet Event List dans le tableau de bord 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>

L'onglet Event List fournit une vue d'ensemble de tous les événements personnalisés de votre application, organisés par nom d'événement.

Pour chaque type d'événement, vous pouvez voir :

* Le nombre total d'événements ingérés
* L'événement le plus récent (avec la charge utile JSON complète et les propriétés)
* La source de l'événement (SDK, API ou intégration)
* L'horodatage de la dernière occurrence

Sélectionnez un événement pour ouvrir sa vue détaillée, où vous pouvez également mettre à jour sa période de rétention.

La vue détaillée comprend :

* **Répartition par source** : Nombre d'événements ingérés par source. Développez pour voir le dernier schéma d'événement et l'horodatage de l'événement le plus récent.
* **Activités** : Les 10 événements les plus récents, incluant la source et l'horodatage. Développez n'importe quelle entrée pour inspecter la charge utile JSON complète.
* **Utilisation** : Où l'événement est actuellement utilisé (Journeys ou segments). Cliquez directement sur le Journey ou le segment associé pour modifier ses paramètres.

#### Onglet Event Activity

<Frame caption="Onglet Event List dans le tableau de bord 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>

L'onglet Event Activity fournit un flux en direct des événements les plus récents ingérés dans votre application OneSignal.

Utilisez-le pour :

* Filtrer par nom d'événement, source ou ID externe
* Inspecter les charges utiles JSON complètes
* Déboguer les problèmes d'intégration

<Warning> Le flux ne s'actualise pas automatiquement. Actualisez manuellement après l'envoi de nouveaux événements. </Warning>

***

## Utiliser les événements personnalisés dans OneSignal

Une fois que les événements arrivent dans OneSignal, vous pouvez les utiliser de la manière suivante :

### Déclencher les règles d'entrée et de sortie des Journeys

Définissez un événement personnalisé comme règle d'entrée ou de sortie d'un Journey pour ajouter ou retirer immédiatement des utilisateurs lorsque l'événement se produit.

Exemple :

* `signup_completed` → Démarrer l'intégration ou retirer d'un Journey d'encouragement à l'essai
* `purchase` → Envoyer une confirmation et une vente croisée ou retirer du Journey de panier abandonné

<Card title="Paramètres de Journey" icon="gear" href="./journeys-settings#entry-rules">
  Intégrez des utilisateurs dans les Journeys avec des événements personnalisés.
</Card>

### Contrôler le flux du Journey (Wait Until)

Utilisez une étape Wait Until pour maintenir les utilisateurs en attente jusqu'à ce qu'un événement personnalisé se produise.

Exemple :

* Attendre jusqu'à `purchase` après `added_to_cart`

<Info> Vous pouvez définir une fenêtre d'expiration. Si l'utilisateur ne déclenche pas l'événement à temps, vous pouvez envoyer un message de secours ou quitter le Journey. </Info>

<Card title="Étape Wait Until du Journey" icon="stopwatch" href="./journeys-actions#wait-until">
  Maintenez les utilisateurs en attente jusqu'à ce qu'un événement personnalisé se produise.
</Card>

### Personnaliser les Journeys avec les propriétés d'événement

Référencez les propriétés d'événement à l'aide de Liquid dans vos modèles de Journey.

Exemple :

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

<Card title="Personnalisation par événement personnalisé" icon="bolt" href="./personalization-custom-event">
  Guide complet pour utiliser les propriétés d'événement afin de personnaliser les Journeys.
</Card>

### Segmenter les utilisateurs avec les événements personnalisés

Créez un segment basé sur l'occurrence d'un événement personnalisé.

<Note>
  La segmentation par événements personnalisés est en accès anticipé.

  Pour demander l'accès, envoyez un e-mail à `support@onesignal.com` avec :

  * Le nom de votre entreprise
  * Vos ID d'application OneSignal
</Note>

<Warning>
  Limitations actuelles :

  * Non compatible avec Email Warm Up ou les tests A/B
  * Ne peut pas alimenter les Journeys
  * Ne peut pas être combiné avec d'autres filtres de segment
</Warning>

<Card title="Segmentation" icon="filter" href="./segmentation">
  Guide complet de la segmentation.
</Card>

***

## Disponibilité du forfait et coûts de rétention

Les événements personnalisés sont disponibles sur tous les forfaits payants.

<Card title="FAQ Facturation" icon="receipt" href="./billing-faq#streaming-events">
  En savoir plus sur la rétention des événements et la tarification.
</Card>

***

## Tags vs événements personnalisés

Les [Tags](/docs/en/add-user-data-tags) et les [Événements personnalisés](/docs/en/custom-events) sont tous deux des moyens d'ajouter des données à vos utilisateurs. Cependant, il existe quelques différences clés :

| Fonctionnalité          |                      Tags                     |                                         Événements personnalisés                                        |
| ----------------------- | :-------------------------------------------: | :-----------------------------------------------------------------------------------------------------: |
| Utilisation des données |        Segmentation et personnalisation       | Déclencher des Journeys sans Segment, étapes Wait Until, personnalisation directement dans les Journeys |
| Rétention des données   |                     À vie                     |              30+ jours ([stockage à vie disponible](/docs/en/billing-faq#streaming-events))             |
| Format des données      |         Chaînes ou nombres clé-valeur         |                                                   JSON                                                  |
| Source des données      | SDK OneSignal, API ou intégrations (limitées) |                                    SDK OneSignal, API ou intégrations                                   |
| Accès aux données       | Segmentation et personnalisation des messages |      Personnalisation des Journeys et des modèles de messages Journey, Segmentation (Prochainement)     |

La distinction clé entre les Tags et les Événements personnalisés réside dans leur profondeur et leurs cas d'utilisation. Les tags sont des propriétés d'un utilisateur, telles que le Nom, le Statut du compte ou l'Emplacement. Les événements sont des choses que l'utilisateur a faites, comme Acheter un article, Terminer un niveau ou Inviter un ami. Les tags et les événements peuvent tous deux être utilisés pour la segmentation et la personnalisation.

En pratique, vous utiliserez probablement les deux :

* Les tags pour les propriétés utilisateur qui sont statiques et ne changent pas souvent
* Les événements personnalisés pour les scénarios en temps réel, la segmentation complexe et les flux de travail de parcours plus sophistiqués

***
