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

# Flux d'événements des messages intégrés

> Comment utiliser les flux d'événements pour capturer les métriques des messages intégrés

Ce document explique les capacités et l'utilisation de nos événements de [Messages intégrés](./in-app-messages-setup). Vous pouvez suivre les statistiques d'engagement essentielles chaque fois qu'un utilisateur clique ou visualise ces messages, y compris les clics au niveau des blocs et les affichages spécifiques aux pages.

## Événements de message intégré

Il existe trois types [`event.kind`](./event-streams-data#event-kind) d'événements de message intégré :

* Impression intégrée - `message.iam.impression`
* Clic intégré - `message.iam.clicked`
* Page intégrée affichée - `message.iam.page_displayed`

Ces événements sont déclenchés lorsqu'un utilisateur ouvre et interagit avec un message intégré sur l'appareil.

### Impression intégrée

Cet événement se déclenche dès que le message finit de se charger et s'affiche à l'écran.

Lors de l'utilisation de [carrousels](./design-your-in-app-message#carousels), vous pouvez obtenir le nom et l'UUID de la page spécifique affichée en utilisant `event.data.page_name` et `event.data.page_id`.

### Clic intégré

Cet événement s'applique à tout élément ou bloc avec une action de clic (également appelée "cible"). Vous pouvez obtenir le nom et l'UUID de la cible spécifique qui est cliquée en utilisant `event.data.target_name` et `event.data.target_id`, ainsi que la page à laquelle appartient la cible en utilisant `event.data.page_name` et `event.data.page_id`.

Voir [Actions de clic dans les messages intégrés](./iam-click-actions) pour plus de détails.

### Page intégrée affichée

Il s'agit d'un événement qui ne s'applique qu'aux [carrousels](./design-your-in-app-message#carousels). Vous pouvez obtenir le nom et l'UUID de la page ou carte spécifique affichée en utilisant `event.data.page_name` et `event.data.page_id`. L'impression de la première carte est déclenchée dès que le document finit de se charger. Les impressions de pages suivantes sont déclenchées lors du balayage.

## Données d'événement de message intégré

Chaque `event.kind` peut avoir des données d'événement supplémentaires selon la façon dont vous créez le message intégré.

<ParamField path="event.data.page_name" type="string">
  Le nom de la page ou de la carte qui est affichée lorsque le `event.kind` est `clicked` ou `page_displayed`. Non disponible pour les événements `impression`.

  Le `page_name` est utile pour savoir quelle page a été affichée et ce qui a été cliqué sur cette page.

  Les noms de page sont par défaut "Card 1", "Card 2", etc. mais vous pouvez modifier les noms dans l'éditeur de blocs.

  <Frame>
    <img src="https://mintcdn.com/onesignal/Z6xkXGfmy814If53/images/docs/e0862074b7ea2c064808035d2028410dae6aecc4bdf9ae4c4c83eeee1ac8d643-Screenshot_2025-01-17_at_1.30.34_PM.png?fit=max&auto=format&n=Z6xkXGfmy814If53&q=85&s=44d2b05d410b28b9e6fec94fd979ec5b" width="1040" height="826" data-path="images/docs/e0862074b7ea2c064808035d2028410dae6aecc4bdf9ae4c4c83eeee1ac8d643-Screenshot_2025-01-17_at_1.30.34_PM.png" />
  </Frame>
</ParamField>

<ParamField path="event.data.page_id" type="string UUID v4">
  Un identifiant unique pour la page. Utile dans les cas d'utilisation d'un [carrousel](./design-your-in-app-message#carousels) et qu'une ancienne carte est supprimée ou remplacée par une nouvelle carte.
</ParamField>

<ParamField path="event.data.target_name" type="string">
  Le nom de l'élément de bloc bouton ou image. Vous devez définir une [action de clic](./iam-click-actions).
</ParamField>

<ParamField path="event.data.target_id" type="string UUID v4">
  Un identifiant unique pour l'élément de bloc bouton ou image. Vous devez définir une [action de clic](./iam-click-actions). Ceci est utile lors de l'utilisation d'un [carrousel](./design-your-in-app-message#carousels) et qu'une ancienne carte est supprimée ou remplacée par une nouvelle carte.
</ParamField>

## Créer votre flux d'événements de message intégré

### Configurer les flux d'événements

Consultez les instructions de [Configuration du flux d'événements](./event-streams#setup) pour obtenir des conseils sur la configuration et la personnalisation de votre flux d'événements. Ce qui suit fournit des étapes spécifiques aux IAM pour configurer votre flux d'événements (étape 3).

## S'assurer que la cible que vous souhaitez suivre est correctement configurée

Pour exploiter les noms personnalisés dans le corps d'une requête de flux d'événements, vous devez spécifier manuellement un nouveau nom personnalisé dans l'éditeur de blocs ou HTML. Les messages intégrés qui existaient avant la sortie des noms personnalisés ne pourront pas exposer les valeurs `page_name` et `target_name` dans le flux d'événements tant que le message intégré n'aura pas été mis à jour avec des noms personnalisés pour chaque page ou bloc.

Une fois que le message intégré a été mis à jour, les requêtes de flux d'événements déclenchées à partir de ce moment auront accès à ces valeurs. À tout moment, les valeurs `page_name` et `target_name` refléteront l'état des noms personnalisés du message intégré à ce moment, qui peut changer si le message intégré est mis à jour à nouveau.

<Tabs>
  <Tab title="Éditeur de blocs">
    Les trois événements peuvent être utilisés avec cet éditeur. Lors de l'utilisation de l'éditeur de blocs, assurez-vous que la cible contient une [action de clic dans les messages intégrés](./iam-click-actions). Une cible inclut les images, les boutons, le bouton de fermeture et le bloc d'arrière-plan. Les blocs de texte ne prennent actuellement pas en charge les actions de clic et ne sont pas inclus.

    Les noms personnalisés des cibles doivent être uniques pour éviter toute confusion dans l'expérience du tableau de bord.
  </Tab>

  <Tab title="Éditeur HTML">
    Seuls les événements d'impression et de clic intégrés peuvent être utilisés avec cet éditeur. Lors de l'utilisation de l'éditeur HTML, vous pouvez suivre les clics sur n'importe quel type d'élément, pas seulement les boutons et les images. Il y a 2 exigences :

    1. L'élément doit avoir l'attribut `data-onesignal-unique-label="<insert_value>"` pour suivre une cible
    2. L'élément doit avoir un écouteur d'événement appliqué qui appelle une méthode de la [bibliothèque JS pour messages intégrés](./in-app-message-api) intégrée, alias `OneSignalIamAPI`.

    Remarque : Pour éviter toute confusion, assurez-vous que les noms de cible sont uniques. Pour une unicité critique, comme pour les rapports internes personnalisés, utilisez le `target_id`, qui est garanti unique par OneSignal. Notez que l'utilisation d'attributs `data-onesignal-unique-label` avec le même label sur plusieurs éléments fusionnera leurs analyses. La modification de ces labels conserve les données précédentes sous le label d'origine, avec de nouvelles données affectées au nouveau label. Pour un suivi précis, privilégiez le `target_id`.

    Par exemple :

    <CodeGroup>
      ```html html theme={null}
      // For elements that do something like tag a user or prompt a push do something like this:

      <body>
        <button data-onesignal-unique-label="my-tag-user-button">Tag User</button>
      </body>
      <script>
        document
          .querySelector("button[data-onesignal-unique-label="my-tag-user-button")
          .addEventListener("click", function(e) {
            OneSignalIamApi.tagUser(e, { fiz: "baz" });
           });
      </script>

      // or for elements that don't require any specific functionality of the OneSignalIamApi other than click tracking, just call trackClick

      <body>
        <button data-onesignal-unique-label="my-button">Click Here</button>
      </body>
      <script>
        document
          .querySelector("button[data-onesignal-unique-label="my-button")
          .addEventListener("click", function(e) {
            OneSignalIamApi.trackClick(e);
           });
      </script>
      ```
    </CodeGroup>

    **Exemple d'entrée :**

    <CodeGroup>
      ```json json theme={null}
      {
        "page_name":"{{ event.data.page_name }}",
        "page_id":"{{ event.data.page_id }}",
        "target_id":"{{ event.data.target_id }}",
        "target_name":"{{ event.data.target_name }}",
        "iam_id":"{{ message.id }}",
        "iam_name":"{{ message.name }}",
        "event_kind": "{{ event.kind }}"
      }
      ```
    </CodeGroup>

    **Exemple de sortie :**

    <CodeGroup>
      ```json json theme={null}
      {
        "page_name" : "html_page",
        "page_id": "d8b28eda-add3-59f8-a12d-07c70642363b" ,
        "target_id": "6bab1bd9-4de6-557b-b5ed-ecb85baed f89",
        "target_name": "my-location-prompt-button",
        "iam_id": "bb6329b6-f81a-44aa-a571-30ef6746de0c",
        "iam_name": "html iam naming",
        "event_kind": "message. iam.clicked"
      }
      ```
    </CodeGroup>
  </Tab>
</Tabs>

### Utiliser des ID uniques

Meilleure pratique : Lors de l'utilisation des flux d'événements à des fins d'analyse, utilisez `message.id`, `page_id` et `target_id` pour valider l'unicité. Les noms personnalisés peuvent être utilisés mais sont destinés à aider à différencier les éléments dans un IAM dans un format lisible par l'homme. Si vous avez plusieurs messages intégrés, utilisez `message.id` pour les différencier.

### Utiliser des noms clairs dans l'éditeur de blocs

Utilisez des noms significatifs et uniques pour tous les titres, cartes et blocs de messages intégrés afin de simplifier l'analyse des données. Pour renommer une carte dans un carrousel, sélectionnez l'onglet que vous souhaitez mettre à jour et sélectionnez le menu déroulant "Options" à côté des onglets de carte. Vous verrez une option pour renommer la carte.

Pour renommer un bloc, sélectionnez le menu d'options à trois points dans le coin supérieur droit de chaque bloc pour ouvrir le modal de renommage. Tous les noms personnalisés seront reflétés dans le rapport du tableau de bord et le flux d'événements, le cas échéant. Les noms personnalisés n'apparaîtront pas dans les flux d'événements à moins qu'ils ne soient définis et enregistrés. Si vous avez des IAM actifs et avez récemment configuré un nouveau flux d'événements IAM, vous voudrez vous assurer que ces IAM ont des noms personnalisés significatifs pour une analyse plus propre.

***
