# Événements de conversion

Les événements de conversion collectent les revenus des utilisateurs dans un format uniforme afin que vous puissiez les utiliser pour l'attribution, l'analyse et la segmentation.

## Que sont les événements de conversion

Les événements de revenus se présentent rarement sous une seule forme. Votre SDK peut déclencher `PW_InAppPurchase`, votre backend peut envoyer un événement personnalisé `OrderPlaced`, et Stripe ou Shopify livrent leurs propres événements webhook. Sans un format partagé, cibler ou rapporter les revenus signifie écrire une logique distincte pour chaque source.

Les événements de conversion résolvent ce problème en normalisant tout cela en `PW_Conversion`, un événement intégré avec un ensemble de champs fixes :

*   `value` : le montant de la transaction
*   `currency` : le code de devise ISO 4217
*   `transaction_id` et `product_id` : identifiants optionnels

`PW_Conversion` couvre les achats, les renouvellements d'abonnement et les paiements provenant de plateformes tierces, quelle que soit l'origine de l'événement monétaire initial. Aux côtés des événements [par défaut](/fr/product/audience-data-and-segmentation/events/default-events/) et [personnalisés](/fr/product/audience-data-and-segmentation/events/custom-events/), les événements de conversion constituent la troisième catégorie d'événements dans Pushwoosh.

Une fois que les revenus arrivent en tant que `PW_Conversion`, la segmentation RFM, les Customer Journeys, les tableaux de bord et ManyMoney AI lisent tous les mêmes données normalisées, quelle que soit la source qui les a produites.

### Comment les revenus atteignent Pushwoosh

Vous obtenez un enregistrement `PW_Conversion` de deux manières :

*   **Envoyez-le directement depuis votre code :** votre application ou votre backend envoie `PW_Conversion` après un achat.
*   **Mappez un événement existant dans le Control Panel :** pointez Pushwoosh sur un événement d'achat que vous envoyez déjà, et il génère des enregistrements `PW_Conversion` sans modifier votre code. Vous pouvez mapper plus d'un événement source par application.

<Aside type="caution" title="Important">
N'utilisez qu'un seul chemin par transaction. Si vous envoyez `PW_Conversion` directement et que vous mappez également un autre événement qui se déclenche pour le même achat, Pushwoosh enregistre les deux en tant qu'événements `PW_Conversion` distincts et indépendants. Pushwoosh ne détecte ni ne fusionne les doublons entre les sources, même s'ils partagent un `transaction_id`.
</Aside>

## Cas d'utilisation

Une fois les événements de conversion configurés, ces données deviennent utilisables partout où les revenus sont importants dans Pushwoosh :

*   Créez des [segments RFM](/fr/product/audience-data-and-segmentation/segmentation/rfm-segmentation/) pour les utilisateurs à forte valeur en fonction du montant dépensé et de la récence, sans logique de revenus personnalisée pour chaque événement.
*   Définissez `PW_Conversion` comme un [Objectif de conversion](/fr/product/customer-journey/journey-settings/#conversion-goals) dans un [Customer Journey](/fr/product/customer-journey/pushwoosh-journey-overview/) pour voir quels flux génèrent réellement des achats, et pas seulement des clics ou des ouvertures.
*   Visualisez les revenus dans les tableaux de bord et les rapports sans créer de logique personnalisée pour chaque événement d'achat.
*   Combinez les revenus des événements d'achat du SDK et des webhooks de paiement (Stripe, Shopify) en un seul ensemble de données au lieu d'analyser chaque source séparément.
*   Laissez [ManyMoney AI](/fr/product/pushwoosh-ai/ai-assistant/) utiliser les données de transaction réelles dans ses recommandations et ses optimisations de campagne.

<Aside type="tip" title="Scénarios d'exemple">
**Combiner les renouvellements et les commandes en magasin**

Une application d'abonnement envoie `PW_Conversion` après chaque paiement de renouvellement, et mappe son webhook Shopify à `PW_Conversion` pour les ventes de marchandises ponctuelles. Les deux sources de revenus comptent désormais pour la même segmentation RFM, de sorte que les plus gros dépensiers de l'application atterrissent automatiquement dans le segment **Champions**. À partir de là, vous pouvez les cibler avec une offre de fidélité dans un Customer Journey.

**Unifier les dépenses sur tous les canaux**

Une application mobile envoie `PW_Conversion` pour les achats in-app directement depuis son backend, et mappe séparément un webhook Stripe pour les achats effectués sur son site web. Parce que Pushwoosh traite les deux comme le même type d'événement de revenus, ManyMoney AI voit l'historique complet des dépenses d'un client, application et site web combinés, lorsqu'il recommande qui cibler ensuite.

**Voir quels parcours génèrent des achats**

Un parcours cible les utilisateurs récemment désabonnés avec une offre de reconquête. Son **Objectif de conversion** est défini sur `PW_Conversion`. Une fois le parcours terminé, les statistiques de l'objectif montrent combien de ces utilisateurs ont effectué un achat, vous pouvez donc voir que le parcours a généré de vrais achats, et pas seulement des ouvertures. Pour voir combien de revenus cela représente, consultez séparément la vue des revenus du segment ou du tableau de bord. Customer Journey affiche le nombre d'achats par objectif, et non un total en dollars par parcours.
</Aside>

## Comment configurer les événements de conversion

Les événements de conversion sont configurés par application. Vous pouvez configurer les événements de conversion de deux manières. Suivez les instructions correspondant à votre implémentation.

### Envoyer `PW_Conversion` depuis votre code

Ce chemin convient lorsque vous pouvez ajouter ou modifier du code d'événement dans votre application ou votre backend. Après chaque achat, envoyez `PW_Conversion` via la méthode [postEvent](/fr/developer/api-reference/user-centric-api/#postevent).

<Aside type="caution" icon="setting" title="Assistance d'un développeur nécessaire">
Pour envoyer `PW_Conversion` depuis votre code, vous aurez besoin de l'aide de votre équipe de développement. Partagez l'exemple de **Voir le code**, ainsi que [ce lien](/fr/developer/guides/audience-and-segmentation/events/) avec eux pour les instructions.
</Aside>

1.  Allez dans **Audience > Events**. Trouvez la carte **Suivi des événements de conversion**.

<img src="/events-conversion-events-5.webp" alt="Page Événements avec la carte Suivi des événements de conversion avant la configuration, montrant zéro événement mappé et le bouton Commencer à collecter les revenus"/>

2.  Cliquez sur **Voir le code**.

<img src="/events-conversion-events-3.webp" alt="Page de configuration des événements de conversion avec le lien Voir le code"/>

3.  Copiez l'exemple et ajoutez l'appel `postEvent` partout où un achat est finalisé dans votre application ou votre backend.
<img src="/events-conversion-events-2.webp" alt="Boîte de dialogue du code d'intégration avec des exemples postEvent de PW_Conversion pour JavaScript, Swift, Objective-C et Java"/>

<Aside type="tip">
Seuls `value` et `currency` sont requis. `transaction_id` et `product_id` sont optionnels.

Si vous envoyez `transaction_id`, Pushwoosh le stocke exactement tel que vous le transmettez. Il ne déduplique pas les revenus par ce champ.
</Aside>

**Exemple pour JavaScript :**

```javascript
Pushwoosh.postEvent("PW_Conversion", {
    value: 49.99,
    currency: "USD",
    transaction_id: "ord_18274",
    product_id: "sku_premium_m"
});
```

#### Attributs pour l'appel postEvent

Le tableau suivant répertorie les attributs que vous pouvez passer lors de l'envoi de `PW_Conversion`.

| Champ <div style="width:120px"></div> | Type <div style="width:100px"></div> | Requis <div style="width:80px"></div> | Description |
| --- | --- | --- | --- |
| `value` | number | Oui | Le montant monétaire de la transaction. |
| `currency` | string (ISO 4217) | Oui | Le code de devise de la transaction, par exemple `USD` ou `EUR`. |
| `transaction_id` | string | Non | Un identifiant unique pour la transaction. Recommandé pour votre propre tenue de registres. Pushwoosh le stocke tel quel mais ne l'utilise pas pour dédupliquer les revenus par lui-même. |
| `product_id` | string | Non | L'identifiant du produit ou du plan acheté. |

<Aside type="caution">
Les événements de conversion ne prennent actuellement pas en charge les remboursements ou les annulations. Il n'y a aucun moyen d'envoyer un enregistrement `PW_Conversion` négatif ou d'annulation. Une fois qu'une transaction est enregistrée, elle reste dans vos totaux de revenus même si l'achat est ultérieurement remboursé ou annulé.
</Aside>

### Mapper un événement existant pour suivre les revenus

Ce chemin convient lorsque les données d'achat transitent déjà par un autre événement et que vous ne souhaitez pas modifier votre code. Lorsqu'un événement source mappé arrive, Pushwoosh le déclenche et l'enregistre en tant qu'événement `PW_Conversion`.

<Aside type="note">
Le mappage ne modifie ni ne remplace l'événement source. Il continue de fonctionner exactement comme avant. L'événement source reste disponible dans la segmentation, l'historique des événements et les tableaux de bord comme n'importe quel autre événement. Pushwoosh crée en plus un enregistrement `PW_Conversion` à partir de celui-ci, utilisé uniquement pour les fonctionnalités de revenus.
</Aside>

1.  Allez dans **Audience > Events**. Trouvez la carte **Suivi des événements de conversion**.

2.  Cliquez sur **Commencer à collecter les revenus** (ou **Mappage d'événements**, si vous avez déjà mappé un événement). La page **Configurer les événements de conversion** s'ouvre.

<img src="/events-conversion-events-7.webp" alt="Page de configuration des événements de conversion avec la section Utiliser les événements existants pour suivre la conversion"/>

3.  Dans **Utiliser les événements existants pour suivre la conversion**, ouvrez le menu déroulant **ÉVÉNEMENT** et sélectionnez l'événement que vous envoyez déjà. La liste comprend les événements personnalisés, les événements par défaut et les événements de webhook entrant (tels que Stripe ou Shopify).

<img src="/events-conversion-events-4.webp" alt="Page de configuration des événements de conversion avec le menu déroulant ÉVÉNEMENT par défaut affichant le placeholder Sélectionner un événement"/>

4.  Mappez les attributs restants :

    *   Dans **PRIX**, sélectionnez l'attribut qui stocke le montant de la transaction.
    *   Dans **DEVISE**, sélectionnez l'attribut qui stocke le code de la devise.
    *   Optionnellement, mappez **ID DE TRANSACTION (OPTIONNEL)** et **ID DE PRODUIT (OPTIONNEL)**.
<img src="/events-conversion-events-1.webp" alt="Formulaire de mappage d'événement de conversion avec les champs ÉVÉNEMENT, prix, devise, ID de transaction et ID de produit remplis"/>

Pour mapper un autre événement source, cliquez sur **+ AJOUTER UN ÉVÉNEMENT**. Pour supprimer un mappage, cliquez sur **SUPPRIMER**.

5.  Cliquez sur **Appliquer**.

Vous pouvez mapper plusieurs événements comme sources pour la même application. Par exemple, mappez un événement personnalisé `purchase_completed` à côté d'un événement de webhook Stripe.

<Aside type="caution" title="Important">
Les modifications ne recalculeront pas les statistiques passées. Seules les nouvelles données de conversion utiliseront la configuration mise à jour.
</Aside>

## Surveiller les événements de conversion

La carte **Suivi des événements de conversion** sur **Audience > Events** résume l'activité de conversion pour l'application sélectionnée. Elle affiche deux nombres :

*   **Événements mappés :** combien d'événements sources alimentent actuellement `PW_Conversion`.
*   **Déclenchés les 7 derniers jours :** le nombre total d'événements `PW_Conversion` déclenchés dans cette fenêtre, à partir de tout mappage actuel ou passé, ou d'appels `postEvent` directs.

Cliquez sur **Voir le code** pour rouvrir l'exemple d'intégration `PW_Conversion`.

<img src="/events-conversion-events-6.webp" alt="Carte de suivi des événements de conversion après configuration, montrant le nombre d'événements déclenchés, le nombre d'événements mappés, les liens Voir le code, Mappage d'événements et Comment utiliser"/>

<Aside type="caution" title="Important">
Ce décompte reflète chaque événement `PW_Conversion` déclenché au cours des 7 derniers jours, quelle que soit la source. Si vous modifiez ou supprimez un mappage, les événements `PW_Conversion` passés qu'il a déjà générés restent comptabilisés jusqu'à ce qu'ils sortent de la fenêtre de 7 jours. Le nombre ne diminue pas ou ne se recalcule pas immédiatement.
</Aside>