Header pour les emails transactionnels avec Mailjet, Mailchimp

Dans quasi tous les projets Web, il y a une notion de notification avec notamment les emails transactionnels. Ceux sont les emails envoyés directement par l’application pour notifier une action.
Ex : la validation d’une commande, d’un mot de passe perdu ou tout simplement la validation de l’inscription.

Il y a plusieurs solutions en ligne pour améliorer la gestion des emails ainsi que leur délivrabilité. Nous connaissons Mailjet ou encore Mailchimp/Mandrill. Ces emails sont souvent peu, voire pas monitorés par les équipes. Et au delà de ça, il est assez difficile de connaitre leur performance réelle en terme d’ouverture et de clic.

Prenons un email de parrainage qui est envoyé par un utilisateur à un ami via le site Internet. Avez vous une idée sur vos applications de quel est le taux de clics ou même d’ouverture de cet email ?

En utilisant les header personnalisés, il est possible de regrouper l’ensemble des emails transactionnels similaires en une même campagne « fictive ». Ceci permet d’avoir ainsi une statistique globale sur tous les emails de parrainage envoyés pendant toute la durée de vie de votre projet. C’est exactement le même principe qu’une newsletter mais sur une période de temps beaucoup plus longue avec un nombre d’emails qui augmente au fur et a mesure.

Si vous avez un projet Symfony2 et que vous utilisez le LexikMailerBundle, la dernière mise à jour permet pour chacun des emails de personnaliser les headers. (Post présentation sur LexikMailerBundle)

Mise en place

Installez ou mettez à jour le bundle, configurez la liste des headers que vous souhaitez utiliser dans le fichier config.yml.
Les clés sont proposées par les plateformes de routage d’email dans leur doc.
Chez MailJet, c’est par exemple : X-Mailjet-Campaign

lexik_mailer:
    ...
    allowed_headers:
        - "X-Mailjet-Campaign"

Utilisation

Éditez ou créez un email. Une nouvelle section « headers » est présente.
Choisissez la clé, entrez sa valeur et voilà ! Ajoutez autant de headers que nécessaire.

NB : Par mesure de sécurité, uniquement les clés définies en config sont utilisables.

Partagez cet article