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

# Créer une page de désabonnement email personnalisée

> Apprenez à remplacer le lien de désabonnement par défaut de OneSignal par une page de préférences email personnalisée, multilingue et conforme, tout en maintenant le suivi.

## Vue d'ensemble

OneSignal fournit une [expérience de désabonnement email conforme par défaut](./unsubscribe-links-email-subscriptions) qui insère un lien dans vos modèles d'email permettant aux utilisateurs de se désabonner facilement et leurs [statuts d'abonnement](./subscriptions) sont mis à jour en temps réel. Si vous souhaitez un contrôle total sur l'identité visuelle, le contenu et les champs (comme la désinscription par catégorie), vous pouvez remplacer le lien par défaut par votre propre page personnalisée et utiliser l'API OneSignal pour désabonner ou mettre à jour les préférences utilisateur.

Ce guide explique comment ajouter votre propre page de désabonnement personnalisée aux emails (en supprimant le lien OneSignal par défaut) et quelles API utiliser pour désabonner l'abonnement email de l'utilisateur.

Si vous souhaitez ajouter plus de fonctionnalités à votre page de désabonnement personnalisée (comme se désabonner de catégories d'emails spécifiques plutôt que de tous), ceci est détaillé dans notre tutoriel [Centre de préférences](./preference-center).

***

## Supprimer le lien de désabonnement par défaut de OneSignal

OneSignal insère automatiquement un lien spécial au format `[unsubscribe_url]` dans vos modèles d'email. Cette URL désabonne l'utilisateur de tous les emails dans OneSignal. Consultez [Liens de désabonnement email](./unsubscribe-links-email-subscriptions) pour plus de détails.

Pour utiliser votre propre page, **localisez et supprimez le lien par défaut** dans votre modèle.

<Tabs>
  <Tab title="Éditeur Glisser-Déposer">
    Dans l'éditeur glisser-déposer, le lien par défaut peut apparaître imbriqué comme ceci :

    <Frame caption="Lien de désabonnement dans l'éditeur Glisser-Déposer">
      <img src="https://mintcdn.com/onesignal/0qspEXXeJ8zJbkJ-/images/docs/82cc033-Default_Unsubscribe.png?fit=max&auto=format&n=0qspEXXeJ8zJbkJ-&q=85&s=3c507499bbc29854761df1136f8c0ff4" alt="Lien de désabonnement dans l'éditeur Glisser-Déposer" width="1598" height="1203" data-path="images/docs/82cc033-Default_Unsubscribe.png" />
    </Frame>
  </Tab>

  <Tab title="Éditeur HTML">
    ```html theme={null}
    <a href="[unsubscribe_url]">Unsubscribe</a>
    ```
  </Tab>
</Tabs>

***

## Ajouter votre lien de désabonnement personnalisé

Maintenant que vous avez supprimé notre lien spécial, vous pouvez le remplacer par votre propre URL.

Souvent, ces liens nécessitent que des données supplémentaires soient transmises à votre page. Utilisez les [variables Liquid](./message-personalization) pour transmettre les données OneSignal à votre page.

Paramètres courants :

| Paramètre                        | Description                                     |
| -------------------------------- | ----------------------------------------------- |
| `subscription.email`             | Adresse email de l'abonné                       |
| `subscription.external_id`       | ID externe de l'utilisateur                     |
| `app.id`                         | ID d'application OneSignal                      |
| `message.id`                     | ID de la notification email                     |
| `subscription.language`          | Langue préférée (pour la localisation)          |
| `subscription.unsubscribe_token` | Jeton de sécurité pour la vérification de l'API |

**Exemple d'URL :**

```liquid theme={null}
https://examplesite.com/unsubscribe?app_id={{app.id}}&notification_id={{message.id}}&email={{subscription.email}}&language={{subscription.language}}&token={{subscription.unsubscribe_token}}
```

```html HTML theme={null}
  <div style="text-align: center;">
    <a
      href="https://examplesite.com/unsubscribe?app_id={{app.id}}&notification_id={{message.id}}&email={{subscription.email}}&language={{subscription.language}}&token={{subscription.unsubscribe_token}}"
      data-disable-tracking="true"
      style="display: inline; text-decoration: none;"
    >
      Unsubscribe
    </a>
    <p style="display: inline;"> from our emails</p>
  </div>
```

<Frame caption="Ajouter un lien de désabonnement personnalisé">
  <img src="https://mintcdn.com/onesignal/6v_cVPknFpo5qSVB/images/docs/0c94ab0-HTML_unsubscribe_custom.png?fit=max&auto=format&n=6v_cVPknFpo5qSVB&q=85&s=e931f0e8649ea80d29194e0db2722942" alt="Ajouter un lien de désabonnement personnalisé" width="1606" height="1175" data-path="images/docs/0c94ab0-HTML_unsubscribe_custom.png" />
</Frame>

### Désactiver le suivi des clics

Les clics de désabonnement ne sont généralement pas utilisés pour les métriques d'engagement. Si vous souhaitez désactiver le suivi des liens, vous pouvez ajouter l'attribut `data-disable-tracking="true"` à votre lien comme ceci :

```html HTML theme={null}
  <a
    href="https://www.examplesite.com/unsubscribe?app_id={{app.id}}&notification_id={{message.id}}&email={{subscription.email}}&language={{subscription.language}}&token={{subscription.unsubscribe_token}}"
    data-disable-tracking="true"
  >
    Unsubscribe
  </a>
```

**Attributs spécifiques aux fournisseurs :**

| Fournisseur | Attribut                       |
| ----------- | ------------------------------ |
| OneSignal   | `data-disable-tracking="true"` |
| Mailgun     | `disable-tracking=true`        |
| SendGrid    | `clicktracking=off`            |
| Mandrill    | `mc:disable-tracking`          |

***

## Héberger votre page de désabonnement personnalisée

Déployez une page web qui :

* Lit les paramètres de requête du lien de désabonnement.
* Affiche des options de désinscription ou de préférences conviviales.
* Envoie la demande de désabonnement ou de mise à jour à OneSignal via l'API.

<Info> Nous fournissons un [projet exemple GitHub](https://github.com/OneSignalDevelopers/custom-email-unsubscribe-page-sample) fonctionnel que vous pouvez dupliquer et déployer. </Info>

<Frame caption="Interface de page de désabonnement exemple">
  <img src="https://mintcdn.com/onesignal/jBdBk5XvQR5eKOks/images/docs/75a39d1-Github_page.png?fit=max&auto=format&n=jBdBk5XvQR5eKOks&q=85&s=4d1b004b41a3ad4bd3e7c4f76da7e9fc" alt="Page de désabonnement exemple" width="1448" height="1438" data-path="images/docs/75a39d1-Github_page.png" />
</Frame>

***

## Appeler l'API OneSignal

Selon votre cas d'utilisation, vous pouvez utiliser les API suivantes pour désabonner ou mettre à jour les préférences utilisateur :

* [Mettre à jour l'abonnement par jeton](/reference/update-subscription-by-token)
* [Désabonner l'email avec jeton](/reference/unsubscribe-with-token)
* [Mettre à jour l'utilisateur](/reference/update-user)

<Tabs>
  <Tab title="Mettre à jour l'abonnement par jeton">
    Cette API est le plus souvent utilisée lorsque vous avez l'adresse email de l'utilisateur et souhaitez simplement l'abonner ou le désabonner de tous les emails.

    **Paramètres de requête requis :**

    * `app_id`
    * `token`

    **Authentification requise**

    * Appelez cette API depuis votre serveur.
  </Tab>

  <Tab title="Désabonner l'email avec jeton">
    Utilisez cette API si vous souhaitez suivre quel email spécifique a causé le désabonnement. Cela utilise l'ID du message email pour suivre le désabonnement. Consultez l'API [Désabonner l'email avec jeton](/reference/unsubscribe-with-token) pour plus de détails.

    **Paramètres de requête requis :**

    * `app_id`
    * `notification_id`
    * `token`

    **Paramètres optionnels :**

    * `email`
    * `language`

    **Exemple JavaScript :**

    ```javascript JavaScript theme={null}
    const unsubscribeURL = (href) => {
      const unsubscribeURL = new URL(href)
      const appID = unsubscribeURL.searchParams.get("app_id")
      const notificationID = unsubscribeURL.searchParams.get("notification_id")
      const unsubscribeToken = unsubscribeURL.searchParams.get("token")
      const language = unsubscribeURL.searchParams.get("language")
      const email = unsubscribeURL.searchParams.get("email")
      return {
        unsubscribeURL: `https://api.onesignal.com/apps/${appID}/notifications/${notificationID}/unsubscribe?token=${unsubscribeToken}`,
        meta: { language, email },
      }
    }
    ```
  </Tab>

  <Tab title="Mettre à jour l'utilisateur">
    Mettez à jour les préférences de l'utilisateur en utilisant l'API [Mettre à jour l'utilisateur](/reference/update-user).

    **Paramètres de requête requis :**

    * `app_id`
    * `alias_id` - L'ID externe de l'utilisateur est recommandé.

    **Authentification requise**

    * Appelez cette API depuis votre serveur.
  </Tab>
</Tabs>

***

<Check>
  Vous devriez maintenant avoir toutes les informations nécessaires pour créer une page de désabonnement personnalisée.
</Check>

***
