Vous pouvez utiliser une syntaxe spécifique dans le contenu de la diffusion afin d’ajouter des instructions et de créer un script pour l’URL de l’email suivi. Les <%@ ne sont pas des instructions JavaScript. Cette syntaxe est propre à Adobe Campaign.
Elles ne s'appliquent que dans le contexte du contenu de la diffusion. C’est la seule méthode pour écrire le script de l’URL d’un email et qu’elle soit encore trackée (en plus des paramètres d’URL). Elles peuvent être vues comme un copié/collé automatique appliqué pendant l’analyse de la diffusion avant la détection des liens à tracker.
Il existe trois types d’instructions :
Elles peuvent être testées directement à partir de l'assistant de diffusion. Elles s’appliquent dans la prévisualisation du contenu et lorsque vous cliquez sur le bouton de tracking pour afficher la liste des URL.
Les exemples suivants sont parmi les plus couramment utilisés :
Inclusion du lien de la page miroir :
<%@ include view="MirrorPage" %>
URL de la page miroir :
View as a <a href="<%@ include view='MirrorPageUrl' %>" _label="Mirror Page" _type="mirrorPage">web page.
URL de désinscription par défaut :
<%@ include option='NmsServer_URL' %>/webApp/unsub?id=<%= escapeUrl(recipient.cryptedId)%>
Autres exemples :
<%@ include file='http://www.google.com' %>
<%@ include file='file:///X:/france/service/test.html' %>
<%@ include option='NmsServer_URL' %>
Utilisez le bouton de personnalisation de l’assistant de diffusion pour obtenir la syntaxe correcte.
Cette instruction donne accès aux paramètres de la diffusion qui sont constants pour tous les destinataires.
Syntaxe :
<%@ value object="myObject" xpath="@myField" index="1" %>
Où :
Pour la personnalisation de l’email, l’objet diffusion est accessible de deux manières différentes :
Utilisation de JavaScript :
<%= delivery.myField %>`.
Dans la diffusion d’objets JavaScript, les champs personnalisés ne sont pas pris en charge. Ils fonctionnent dans la prévisualisation, mais pas dans le MTA parce que celui-ci ne peut accéder qu'au schéma de diffusion d’usine.
Utilisation d’un pré-traitement :
<%@ value object="delivery"
Attention
Si vous utilisez les instructions suivantes pour les diffusions envoyées par midsourcing, le champ personnalisé @myCustomField doit être ajouté au schéma nms:delivery sur les plateformes marketing et de midsourcing :
<%@ value object="delivery" xpath="@myCustomField" %>
Pour les variables/paramètres de diffusion, utilisez la syntaxe suivante (à l’aide de l’objet diffusion) :
<%@ value object="delivery" xpath="variables/var[@name='myVar']/@stringValue" %>
Pour autoriser l’utilisation de la valeur <%@ dans des sections Javascript, deux objets spéciaux sont remplacés par <% et %> :
<%@ value object='startScript' %>
<%@ value object='endScript' %>
Par exemple :
<%@ value object='startScript' %> var iMode = <%@ value object="delivery" xpath="@deliveryMode" %> if(iMode == 1) { ... } else { ... }`
`<%@ value object='endScript' %> is expanded in something like <% var iMode = 1 if(iMode == 1) { ... } else { ... } %>.
Cette instruction permet une itération sur un tableau d'objets chargés dans la diffusion pour tracker les liens individuels associés aux objets.
Syntaxe :
<%@ foreach object="myObject" xpath="myLink" index="3" item="myItem" %> <%@ end %>
Où :
Exemple :
Dans les propriétés/personnalisation de la diffusion, chargez un tableau d’articles et une table de relations entre le destinataire et les articles.
L’affichage de liens vers ces articles peut se faire simplement avec un script JavaScript comme suit :
<%
for(var i=0; i<recipient.rcpArticle.length; i++ )
{
%><a href="http://nl.net?a.jsp?article=<%=recipient.rcpArticle[i].article.@id%>">article</a><%
}
%>
Avec cette solution, les liens vers tous les articles sont trackés sans distinction. Vous pouvez déterminer qu’un destinataire a cliqué sur un lien d’article, mais vous ne pouvez pas savoir quel article.
La solution consiste à :
Précharger tous les articles possibles dans un tableau de script supplémentaire de la diffusion - articleList[] - ce qui signifie qu’il doit y avoir un nombre fini d’articles possibles.
Écrire une fonction JavaScript au début du contenu.
<%@ value object='startScript' %>
function displayArticle(articleId)
{
<%@ foreach object="articleList" item="article" %>
if( articleId == <% value object="article" xpath="@id" %> )
{
<%@ value object='endScript' %>
<a href="http://nl.net?a.jsp?article=<%@ value object="article" xpath="@id" %>">article</a>
<%@ value object='startScript' %>
}
<%@ end @%>
}
<%@ value object='endScript' %>
Afficher l’article en appelant la fonction.
<%
for(var i=0; i<recipient.rcpArticle.length; i++ )
{
displayArticle(recipient.rcpArticle[i].article.@id)
}
%>