Comment ajouter une date d’expiration dans les emails envoyés depuis Adobe Campaign Classic ?

Cette documentation a pour but de vous expliquer comment ajouter une date d’expiration dans les en-têtes SMTP de vos emails envoyés depuis Adobe Campaign Classic. Pour savoir ce qu’est une en-tête SMTP, n’hésitez pas à consulter cet article.

Pour rappel comme défini dans les spécifications techniques (https://datatracker.ietf.org/doc/html/draft-billon-expires), l’en-têtes a ce format :

Expires: Wed, 1 Dec 2021 17:22:57 +0000

Afin de définir la date d’expiration, il faut donc simplement modifier la date donnée en exemple afin de lui donner une valeur dans un futur proche (par exemple, quand votre promotion sera terminée).

Ajouter une date d’expiration “à la main”

Ajouter une date d’expiration se faire en quelques clics.

Dans votre diffusion, cliquer sur “Propriété”

Dans les propriétés, aller dans l’onglet SMTP et ajouter votre en-tête “Expires” dans le champ “En-têtes SMTP supplémentaires”. N’oubliez évidemment pas de personnaliser la date.

Ajouter une date d’expiration automatiquement sur vos diffusions

Méthode 1 : Javascript directement dans l’en-tête SMTP

Directement dans l’onglet SMTP de vos modèles de diffusions ajouter cette formule JS (exemple pour une date d’expiration à 60 jours :

Expires : <% var date = new Date(); date.setDate(date.getDate() + 60);

%><%= formatDate(date, « %Ai, %D %Bi %4Y %02H:%02N:%02S »)%> +0000

Dans la formule, le +60 permet de définir la date d’expiration à +60j de la date du jour. Pour un envoi au 13 Juin 2024, cela donne ce résultat dans l’entête de l’email :

Possible d’allonger ou de raccourcir cette période de temps par exemple dans 175 jours :


<% var date = new Date(); date.setDate(date.getDate() + 175);

%><%= formatDate(date, « %Ai, %D %Bi %4Y %02H:%02N:%02S »)%> +0000

Enfin, vous pouvez créer plusieurs modèles de diffusions avec plusieurs dates d’expiration différentes en fonction du type de campagne qui aura directement la date d’expiration voulu pour ne pas à avoir modifier cette période de temps.

Méthode 2 : Via un enrichissement

Dans le workflow de ciblage, via un enrichissement nous allons définir la date d’expiration à X mois jour ou année selon le besoin. Dans notre exemple une date d’expiration à 6 mois après la date d’envoi :

Dans cet enrichissement nous allons lui calculer une date de + 6 mois à partir de la date du jour avec une formule dans l’expression.

Choisir « Editer la formule à partir d’une expression »

Dans l’edition de l’expression, ouvrir les fonctions « Date », puis paramétrer la date à 6 mois à partir de la date courante :

Ce qui donne alors ce type d’expression :

Sauvegarder puis renommer le libellé et l’alias (dans mon exemple j’ai nommé cette date « Date_Expiration » pour facilement la retrouver pour la paramétrer dans le SMTP :

En résultat, cela donne ceci (Date de lancement du workflow le 7 Juin 2024) :

Dans le SMTP mettre en place cette formule qui va adapter le format de date comme convenu (et en anglais :

<%= formatDate(targetData.Date_Expiration, « %Ai, %D %Bi %4Y %02H:%02N:%02S » ) %>

Via targetData.Date_Expiration, je récupère ma date d’expiration calculée précédemment, puis j’adapte ce format : %Ai = date du jour en anglais %D = Numéro du jour %Bi = Mois du jour en anglais %4Y = l’année à 4 chiffres  %02H= l’heure à 2 chiffres %02N= les minutes en chiffres %02S = les secondes à chiffres.

Plus d’info sur le format JS pour les dates via la doc ci-dessous : https://experienceleague.adobe.com/developer/campaign-api/api/f-formatDate.html

Cela donnera alors ceci dans le SMTP :

Au moment de l’envoi cela paramétra dans le SMTP cette date d’expiration à 6 mois comme ce qui a été demandé dans l’enrichissement au format voulu, exemple dans un entête d’email :

L’automatisation de la date d’expiration est bien évidemment adaptable, en « jouant » avec les fonctions avancées que propose Adobe pour adapter des dates d’expirations en fonction du type de campagne, par exemple :

  • si nous voulons une date de fin à 1 mois après l’envoi : AddMonths(GetDate(),1 )
  • une date de fin à 15 jours après l’envoi : AddDays(GetDate(),15 )
  • une date de fin à quelques heures, 4h dans l’exemple ci contre : AddHours(GetDate(),4)

Contributeurs

  • Matthieu Bonnet, SNCF Connect
  • Geoffrey Duchefdelaville, La Poste Groupe
  • Jonathan Loriaux, Badsender
  • Gabriel Créa, Accenture
  • Arthur Le Bris, SEJER

Si vous voulez contribuer à cette documentation, n’hésitez pas à nous contacter