Email

Simplifier la complexité : les bases du contenu dynamique des emails transactionnels

On a souvent tendance à croire que tout processus simplifiant et accélérant la création d'emails transactionnels se fait au détriment du contenu dynamique, mais ce n'est pas toujours le cas.
Image pour Simplifier la complexité : les bases du contenu dynamique des emails transactionnels

Dyspatch est une plateforme de production d’emails qui aide les grandes entreprises à créer et à modifier plus rapidement leurs emails transactionnels et basés sur des déclencheurs.

Il est indéniable que les emails transactionnels sont compliqués. Contrairement à une page web, où l’on peut généralement compter sur les doigts d’une main le nombre de navigateurs dont il faut assurer le support, le codage de n’importe quel type d’email peut s’avérer cauchemardesque compte tenu du large éventail de clients de messagerie et d’appareils à prendre en compte. Ajoutez à cela la complexité du codage du contenu dynamique, propre à chaque client et à chaque transaction, et il devient évident que les emails transactionnels cela peut s’avérer très, très complexe. 

Simplifier cette complexité peut s’avérer plus facile que vous ne le pensez. Trop souvent, les équipes de développement et de design pensent que tout processus simplifiant et accélérant la création d’emails transactionnels se fait au détriment du contenu dynamique indispensable à la personnalisation des emails. Ce n’est pourtant pas une fatalité. Au lieu de procéder au codage des emails HTML de A à Z, un processus basé sur des modèles utilisant un langage de création de modèles qui offre une puissante personnalisation permet de créer (ou de mettre à jour) des emails transactionnels rapidement et facilement.

Un bon point de départ consiste à comprendre les éléments de codage de base nécessaires à un email transactionnel classique. Il existe de nombreux langages de création de modèles d’emails, notamment Django (Python), Twig (PHP) et Nunjucks (JavaScript), entre autres. Mais nous utiliserons ici Jinja, à des fins d’illustration, ainsi qu’un excellent exemple d’email de Sephora.

Remplacement de variables

Le remplacement de variables sert à insérer des contenus spécifiques à chaque utilisateur dans un email. Au minimum, vous devez appeler le client par son nom, à savoir :

Bonjour {{ first_name }} {{ last_name }},

Inclure le nom du client relève de la simple courtoisie. Mais c’est aussi un bon moyen d’éviter que vos messages transactionnels ne finissent dans le dossier Promotions de la boîte de réception du client. 

Le remplacement de variables est également utilisé pour transmettre des informations plus sensibles à un utilisateur, comme des liens pour réinitialiser le mot de passe et des jetons d’authentification multifacteurs (MFA). 

Le reçu par email de Sephora que nous utilisons comme exemple commence par des remplacements de variables pour le nom du client et la date d’achat :

Bonjour {{ first_name }}, voici le reçu de votre visite du {{ purchase_date }}

email-sephora-header

Boucles

Les boucles, ou itérations, sont également utilisées pour afficher des données propres à chaque utilisateur, mais généralement plusieurs et dans une « boucle », ce qui signifie concrètement une répétition autant de fois que nécessaire, plutôt qu’une par une comme le fait un simple remplacement de variable. Une confirmation de commande ou un reçu en est un bon exemple : les points de données sont les détails de l’article (produit, prix, quantité, etc.) et le nombre d’articles peut être quasiment illimité.

Voici un exemple simple utilisant uniquement le nom de l’article et le prix.

                                

                                    {% for item in items %}rnt  <span>{{ item.name }} - ${{ item.price }}</span>rn{% endfor %}rn
                                
                            

Et voici un exemple de rendu :

                                

                                    <span>Hair clips – $4.99</span>rn<span>Duotang – $2.99</span>rn<span>Shirt – $12.99</span>
                                
                            

La chaîne de saisie peut également inclure des détails supplémentaires, tels que {{ item.image }}{{ item.quantity }} ou {{ item.description }}.

L’itération peut également être utilisée pour envoyer les « recherches enregistrées » des clients, comme une liste d’annonces immobilières ou une liste de forfaits vacances mis en favoris lors de recherches récentes.

La section « Détails de la transaction » de l’email de Sephora associe une boucle (pour la liste des articles) et un remplacement de variables (pour le sous-total, les taxes et le total).

email-sephora-items

Voici la boucle permettant d’afficher les articles achetés (notez que la sortie HTML est simplifiée ici à des fins d’illustration) :

                                

                                    {% for item in items %}rn  <span>{{ item.image }}</span> rn  <span>{{ item.name }}</span>  rn  <span>{{ item.number }}</span>  rn  <span>Price: ${{ item.price }}</span>  rn  <span>Qty: {{ item.quantity }}</span>  ttrn  <span>C${{item.total}}</span> rn{% endfor %}
                                
                            

Ainsi que le remplacement de variables pour le sous-total, les taxes et le total :

                                

                                    <span>Subtotal: ${{ order_subtotal }} </span> rn<span>BRITISH COLUMBIA PST (7%): ${{ tax_bcpst }}</span>  rn<span>CANADA GST/TPS (5%): ${{ tax_gst }}</span>  rn<span><b>Total: ${{ order_total }}</b></span> 
                                
                            

Instructions conditionnelles

Les instructions conditionnelles sont utilisées pour afficher un contenu alternatif ou supplémentaire à un client en fonction d’un ensemble de variables. Voici quelques exemples simples :

  • Afficher une offre spécifique pour l’anniversaire d’un utilisateur :
                                

                                    {% if is_birthday %}rn<p>Happy Birthday! Use the coupon code BIRTHDAY10 to receive 10% off your next order.</p>rn{% endif %}
                                
                            
  • Afficher une offre de vente incitative en f
  • onction de l’achat initial de l’utilisateur :
                                

                                    {% if subscription_plan == “standard” %}rnrn  <p>Upgrade to Unlimited today and receive 20% off your first month.</p>rnrn{% endif %}rn
                                
                            

Les instructions conditionnelles peuvent être utilisées dans les tests A/X pour afficher un contenu différent à divers publics, afin de déterminer quelles offres fonctionnent le mieux. 

Dans le cas de Sephora, une instruction conditionnelle sert à afficher une offre dynamique qui fait la promotion de son programme de fidélité ou de son enquête client :

email-sephora-gift

Voici l’instruction conditionnelle pour afficher l’offre de cadeau d’anniversaire :

                                

                                    {% if loyalty_member == false %}rnrn  <h1>THE 2019 BIRTHDAY GIFT</h1>rn  <p>Celebrate by choosing a <b>FREE</b> gift of minis from… </p>rnrn{% else %}rnrn  <h1>WANT a $250 SEPHORA GIFT CARD?</h1>rn  <p>Tell us about your shopping experience and it could… </p>rnrn{% endif %}
                                
                            

Si le statut de membre du programme de fidélité est « true », alors l’option « else » s’affiche :

email-sephora-win

Conclusion

Cette liste est loin d’être exhaustive, mais elle couvre les éléments les plus courants d’un excellent email transactionnel. Si vous trouvez un langage de création de modèles qui répond à vos exigences et que vous maîtrisez les bases du remplacement de variables, des boucles et des instructions conditionnelles, vous serez sur la bonne voie pour simplifier la complexité liée à la création et à la mise à jour de ces communications essentielles à votre activité.

Une plateforme de production d’emails comme Dyspatch peut vous aider à créer rapidement d’excellents emails, dotés d’un contenu dynamique et intelligent. Dyspatch, combinée à la puissante infrastructure d’envoi de Mailgun, vous permettra de vous assurer que chaque client reçoit le bon email au bon moment.