Sie können eine bestimmte Syntax im Versandinhalt verwenden, um Anweisungen hinzuzufügen und die URL der getrackten E-Mail zu skripten. Die Anweisungen "<%@" sind keine JavaScript-Anweisungen. Diese Syntax ist spezifisch für Adobe Campaign.
Sie gelten nur im Zusammenhang mit dem Versandinhalt. Dies ist die einzige Möglichkeit, die URL einer E-Mail zu skripten und dennoch zu tracken (neben URL-Parametern). Sie können als ein automatisches Kopieren/Einfügen betrachtet werden, das während der Versandanalyse angewendet wird, bevor die zu trackenden Links erkannt werden.
Es gibt drei Arten von Anweisungen:
Sie können direkt vom Versand-Assistenten aus getestet werden. Sie gelten in der Inhaltsvorschau und wenn Sie auf die Tracking-Schaltfläche klicken, um die Liste der URLs anzuzeigen.
Die folgenden Beispiele gehören zu den am häufigsten verwendeten:
Link zur Mirrorseite einbinden:
<%@ include view="MirrorPage" %>
URL der Mirrorseite:
View as a <a href="<%@ include view='MirrorPageUrl' %>" _label="Mirror Page" _type="mirrorPage">web page.
Native Abmelde-URL:
<%@ include option='NmsServer_URL' %>/webApp/unsub?id=<%= escapeUrl(recipient.cryptedId)%>
Weitere Beispiele:
<%@ include file='http://www.google.com' %>
<%@ include file='file:///X:/france/service/test.html' %>
<%@ include option='NmsServer_URL' %>
Verwenden Sie die Personalisierungsschaltfläche im Versand-Assistenten, um die richtige Syntax zu erhalten.
Diese Anweisung ermöglicht den Zugriff auf die Parameter des Versands, die für alle Empfänger gleich sind.
Syntax:
<%@ value object="myObject" xpath="@myField" index="1" %>
Wobei:
Für die E-Mail-Personalisierung kann auf zwei Arten auf das "delivery"-Objekt zugegriffen werden:
Mittels JavaScript:
<%= delivery.myField %>`.
Im Objektversand in JavaScript werden benutzerdefinierte Felder nicht unterstützt. Sie funktionieren in der Vorschau, jedoch nicht im MTA, da der MTA nur auf das vorkonfigurierte Versandschema zugreifen kann.
Mittels Vorab-Bearbeitung:
<%@ value object="delivery"
Vorsicht
Wenn Sie die folgende Anweisung für den Versand per Mid-Sourcing verwenden, muss das benutzerdefinierte Feld @myCustomField auf Marketing- und Mid-Sourcing-Plattformen dem Schema "nms:delivery" hinzugefügt werden:
<%@ value object="delivery" xpath="@myCustomField" %>
Verwenden Sie für Versandparameter/-variablen die folgende Syntax (unter Verwendung des "delivery"-Objekts):
<%@ value object="delivery" xpath="variables/var[@name='myVar']/@stringValue" %>
Damit der Wert "<%@" in JavaScript-Abschnitten verwendet werden kann, werden zwei Sonderobjekte durch "<%" und "%>" ersetzt:
<%@ value object='startScript' %>
<%@ value object='endScript' %>
Beispiel:
<%@ 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 { ... } %>.
Diese Anweisung ermöglicht die Iteration eines Arrays von Objekten, die im Versand geladen werden, um einzelne Links zu den Objekten zu verfolgen.
Syntax:
<%@ foreach object="myObject" xpath="myLink" index="3" item="myItem" %> <%@ end %>
Wobei:
Beispiel:
Laden Sie in den Versandeigenschaften/der Versandpersonalisierung ein Array von Artikeln und eine Beziehungstabelle zwischen Empfänger und Artikeln.
Die Anzeige von Links zu diesen Artikeln kann mit einem JavaScript wie folgt erfolgen:
<%
for(var i=0; i<recipient.rcpArticle.length; i++ )
{
%><a href="http://nl.net?a.jsp?article=<%=recipient.rcpArticle[i].article.@id%>">article</a><%
}
%>
Bei dieser Lösung werden die Links zu allen Artikeln ohne Differenzierung verfolgt. Sie können zwar wissen, dass ein Empfänger auf einen Artikel-Link geklickt hat, aber Sie können nicht wissen, auf welchen Artikel.
Die Lösung ist:
Laden Sie alle möglichen Artikel in einem zusätzlichen Script-Array des Versands – articleList[] – vorab, was bedeutet, dass eine endliche Anzahl möglicher Artikel vorhanden sein muss.
Schreiben Sie eine JavaScript-Funktion am Anfang des Inhalts.
<%@ 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' %>
Zeigen Sie den Artikel durch Aufruf der Funktion an.
<%
for(var i=0; i<recipient.rcpArticle.length; i++ )
{
displayArticle(recipient.rcpArticle[i].article.@id)
}
%>