Envoyer un E-mail Transactionnel

Les campagnes transactionnelles sont des campagnes scénarisées spécifiques, car elles permettent l'envoi d'un message personnalisé vers un profil après qu'il ait entrepris une action dont la nature est telle que le message est attendu par ce profil.

Il s'agit donc véritablement d'une interaction amorcée par le profil :

  • Par un contrat ou une transaction conclue entre ce profil et votre entreprise.

  • Par une demande directement faite par ce profil.

De ce fait, ce message n'est pas considéré comme un message marketing et aucun filtre n'est appliqué sur les campagnes transactionnelles (optimisation de la délivrabilité, pression commerciale, consentement marketing, …).
La notion d'abonnement n'est pas applicable avec un e-mail transactionnel :

  • Il ne requiert pas de consentement ou d'abonnement spécifique

  • Il ne peut pas engendrer un consentement général ou une inscription à un abonnement.

Il s'agit donc véritablement d'une communication unitaire et spécifique.
Par exemple : confirmation d'achat, demande de brochure, rappel de mot de passe, …

Créer une campagne transactionnelle

La création d'une campagne e-mail transactionnelle se fait de la même façon que la création des e-mails de masse et des e-mails scénarisés classiques, via l'application "Gérer les campagnes e-mails " (Catalogue > Profils > Gérer les campagnes e-mails).

images/download/thumbnails/624689548/image2019-9-2_9-8-27.png

Cliquez sur le bouton "+ Créer une campagne".

Choisissez le quatrième onglet : "Transactionnelle"

images/download/attachments/624689548/image2019-9-2_9-10-32.png
Vous avez la possibilité de composer votre campagne via une configuration d'envoi ou de la paramétrer de A à Z.

Dans l'ensemble, la conception d'une campagne transactionnelle suit le cheminement général pour composer un e-mail standard, tel que décrit dans le chapitre "Créer une campagne e-mail". 

Certaines différences notables sont cependant à remarquer.

Domaine d'envoi

Pour envoyer une campagne transactionnelle, il est nécessaire d'utiliser un domaine d'envoi spécifiquement identifié comme domaine d'envoi transactionnel.

Pour activer un domaine d'envoi en transactionnel, nous vous invitons à prendre contact avec votre responsable de compte /CSM.

Il sera ensuite nécessaire de renseigner ce domaine d'envoi dans les paramètres avancés des Données Générales (étape 1), dans la section "Adresse e-mail de l'expéditeur".

Vous pourrez alors sélectionner le domaine d'envoi parmi les domaines d'envoi existants dans votre licence.
images/download/attachments/624689548/worddava4013627110bcb21a0c29480a049f8eb.png

Absence de module ciblage

Un e-mail transactionnel n'est pas un e-mail marketing. Il s'agit d'un message répondant à une action spécifique d'un profil. Dans ce sens, il n'y a pas de faire appel au module de ciblage : tous les profils ayant effectués l'action de déclenchement seront contactés, sans aucun filtre. A contrario, les profils n'ayant effectué cette action ne pourront pas être contactés.

De ce fait, il n'y a que quatre étapes à la création d'une campagne transactionnelle. Vous passerez directement de la définition des données générales à la conception du message.

Lien de désinscription

Si vous utilisez un template pour le contenu du message, veuillez cependant noter que la plupart des templates de la librairie ACTITO prévoient par défaut l'insertion d'un lien de désinscription.

La notion d'abonnement et de désinscription n'est cependant pas compatible avec la notion de campagne transactionnelle. En effet, la nature de type de campagne est de répondre à une action spécifique du profil, sans qu'aucun filtre ne soit applicable. Comme ce type de mail ne référence aucun abonnement, il n'est donc pas possible de s'en désabonner.

Il sera donc nécessaire de retirer tout lien de désinscription du corps de l'e-mail.

Activer l'envoi

Une fois votre campagne finalisée, un résumé de ses paramètres vous sera présenté.
Vous devrez ensuite activer l'envoi. En effet, de par leur nature, les e-mails transactionnels ne sont pas des envois ponctuels mais des envois continus qui seront automatiquement envoyés à chaque fois que l'action de déclenchement est effectuée par un profil.
Pour cela, cliquez sur le bouton vert "Activer l'envoi".
images/download/thumbnails/624689548/worddav81e4a5505ee24989782bde9f3f4925c5.png

Astuce

Cliquer sur le bouton "Valider" va uniquement sauvegarder la campagne mais ne va pas en activer l'envoi. Il n'est donc à utiliser uniquement si vous ayez encore des modifications à effectuer sur la campagne.

Déclenchement

L'envoi de campagnes transactionnelles est possible via le module "Scénarios" d'ACTITO ou par appel API.

Boucles de personnalisation

Une des particularités des e-mails de type transactionnel est qu'ils permettent l'usage de boucles de personnalisation faisant appel à des sources dans lesquelles plusieurs lignes de données sont associées, comme typiquement les tables personnalisées.
Ainsi, au lieu que la variable d'une personnalisation soit remplacée par une seule valeur, il est possible de faire apparaître :

  • Un ensemble de valeurs liées (par exemple, le nom de l'article et le montant associé)

  • Plusieurs de ces ensembles les uns à la suite des autres (par exemple, les 3 derniers achats, chacun caractérisés par le nom de l'article et le montant)

Format de l'e-mail

L'utilisation des boucles doit obligatoirement être implémentée en code HTML. Si vous voulez faire appel à cette méthode, gardez cette contrainte à l'esprit lors de la conception de votre message : le mode HTML est dans ce cas obligatoire.

Mise en place

L'ajout d'une boucle de personnalisation dans le contenu de l'e-mail passe par l'intégration de code HTML prévu à cet effet.

Il convient d'utiliser le paramètre "data-actito-each" et de le définir comme "nom de la boucle : ${nom de la boucle au pluriel}" : data-actito-each ="exemple:${exemples}"

Chaque élément de la boucle devra suivre le format : ${nom de la boucle.nom de l'élément} : ${exemple.element}

Prenons un exemple concret :

Nous voulons afficher une boucle reprenant les derniers achats des profils contactés et affichant pour chacun d'eux le nom de la l'article et son prix.
Le code à insérer devra prendre la forme suivante :

data-actito-each
<div data-actito-each="achat:${achats}">
<span> Article : ${achat.article} </span>
<span> Prix : ${achat.prix} </span>
</div>

Paramétrer la personnalisation

Une fois le code inséré dans l'HTML, il est nécessaire de paramétrer les différentes variables appelées par la boucle de personnalisation.

Pour ce faire, rendez vous dans la modale de gestion des personnalisations.

images/download/attachments/624689548/worddav396f120fdcba5a208d472e1f6169bfe9.png
Pour accéder aux boucles, il est tout d'abord nécessaire d'activer le "Mode expert" en haut et à droite de l'écran. Une nouvelle section appelée "Personnalisations de boucle" va apparaître.

images/download/attachments/624689548/worddavb306bffd600d0ec27b833b6364b4e8de.png
Les valeurs de chaque élément de la boucle pourront être fournies par deux types de sources :

  • Des tables du modèle de donnée (tables mauves) : il faudra préalablement ajouter la source de données.

  • Via API : veuillez vous référer à la fin de ce chapitre pour davantage d'explication sur leur fonctionnement via API.

Si la section "Personnalisation de boucles" apparaît dans l'interface mais que rien ne s'affiche quand vous cliquez sur la petite flèche pour développer la case, cela signifie que le système a reconnu votre tentative de mettre en place une boucle, mais que votre html n'est pas correct. Vérifiez votre code, notamment le nom de la boucle et des variables.

Etape préliminaire : Source de données

Avant de pouvoir paramétrer les valeurs des personnalisations de boucle, il est nécessaire d'ajouter la source des données. Typiquement, les boucles vont référer aux tables personnalisées.

Dans l'onglet "Source de données", sélectionnez le type de source et le nom de la table à utiliser.

Définir les valeurs

Une fois la source sélectionnée, vous pouvez définir les valeurs que vont prendre les variables de la boucle, via la section "Personnalisation de boucle".

Sélectionnez la source de données choisie à l'étape préliminaire et associez-la au nom de la boucle. Chaque boucle ne peut faire usage que d'une source de données.

Ensuite, associez les différents éléments de la boucle aux champs de la table source.

Définir le nombre d'éléments à afficher

En plus de permettre l'affichage d'un ensemble de valeurs, les boucles permettent également d'afficher plusieurs de ces ensembles les uns à la suite des autres.

Il est nécessaire de préciser le nombre d'éléments à afficher. En effet, sans paramétrisation additionnelle, la boucle va renvoyer tous les événements de la source de données.

Pour ce faire, il est nécessaire de se rendre dans les paramètres de la source de données, en cliquant sur l'engrenage tout à droite de la ligne de source.

images/download/attachments/624689548/worddavc5137a6f48ccd9ba7666ecf74536c78c.png
Vous allez pouvoir sélectionner :

  • Le nombre maximum d'élément à afficher.

  • Sur base de quel attribut de la table source et dans quel ordre les éléments devront être ordonnés.

images/download/attachments/624689548/worddavba20d37b60bd4085a9b8d7feaded5c91.png
Il est également possible de d'ajouter un filtre à la source. Ainsi les seuls éléments de la source pris en compte seront ceux qui respectent le ou les critères que vous avez sélectionnés sur base des attributs de la table ou d'agrégats calculés sur ceux-ci.

Vous pouvez aussi choisir la donnée Fournie par le scénario : cette option est à choisir pour vos envois scénarisés lorsque le bloc de départ du scénario est en rapport avec la valeur de la personnalisation (Par exemple, si le scénario est déclenché par la création d'un ticket, ...). Vous serez alors certain que l'information qui a déclenché le scénario et l'information utilisée pour la personnalisation seront les mêmes.
Cette option est uniquement disponible dans le cadre d'un envoi scénarisé (y compris transactionnel).

Ensuite, enregistrez vos paramètres en haut à droite.

Un "V' vert sur l'engrenage vous confirmera que la source a été paramétrée.

images/download/attachments/624689548/worddav18af2baa03d8bbd7d5b5c17b8eef3c47.png

Contraintes

L'usage des boucles n'est pas possible avec des attributs multi-valeurs.

Il n'est pas possible de définir de valeur par défaut pour les boucles.

Utilisation des APIs

En plus des tables personnalisées, les sources de données peuvent également être fournies via appels API et ainsi déclencher l'envoi de l'e-mail transactionnel grâce à un système externe à ACTITO.

Pour utiliser les APIs comme source de données, il convient d'associer l'option "Fourni par API" à votre personnalisation de boucle dans la modale de gestion des personnalisations.

images/download/attachments/624689548/worddav17e843cc1b034e9089ba6e0581f31e03.png
Lors de la dernière étape, veillez à bien "Activer l'envoi", sans quoi il ne sera pas possible de le déclencher par API.

Déclencher un envoi transactionnel par API

Lorsqu'un profil remplit les conditions liées à l'objet de votre envoi transactionnel, le déclenchement de celui-ci est possible via l'opération POST/entity/{e}/mail/{m}/profile{p}
Les paramètres à renseigner pour cet appel sont :

  • l'entité sur laquelle la campagne est enregistrée

  • l'identifiant de la campagne (id auto-généré ou nom technique)

  • l'identifiant du profil visé (profileId ou couple "attributClé=valeur")

  • des variables :

Cet appel vous permet de soumettre les variables liées aux personnalisations de boucle de votre e-mail transactionnel.
Le paramètre "variables" devra être composé de :

  • "key" : Il faut toujours indiquer "externalData" pour déclencher une boucle par API

  • "structuredValue" : Ceci correspond au nom de la personnalisation défini comme un tableau de valeurs reprenant les différents éléments de la boucle sous forme de paires "nomElement":"valeur". L'utilisation du paramètre "structuredValue" est obligatoire pour utiliser une boucle. En revanche, le paramètre "values" n'est pas à utiliser.

Exemple de code JSON
[{
"key": "externalData",
"structuredValue": {
"achats": [{
"article": "Tournevis",
"prix": "25"
},
{
"article": "Marteau",
"prix": "32"
}
]
}
}]