您可以在投放内容中使用特定语法来添加说明并编写跟踪电子邮件的URL脚本。 <%@说明不是JavaScript:此语法专用于Adobe Campaign。
它们仅适用于投放内容的上下文。 这是编写电子邮件URL脚本并仍对其进行跟踪(除URL参数外)的唯一方法。 在检测要跟踪的链接之前,这些链接可被视为在投放分析期间应用的自动复制/粘贴。
说明有三种类型:
可直接从投放向导中对它们进行测试。 它们适用于内容预览以及单击跟踪按钮以查看URL列表的情况。
以下示例是最常用的示例:
包括镜像页面链接:
<%@ include view="MirrorPage" %>
镜像页面URL:
View as a <a href="<%@ include view='MirrorPageUrl' %>" _label="Mirror Page" _type="mirrorPage">web page.
现成退订URL:
<%@ include option='NmsServer_URL' %>/webApp/unsub?id=<%= escapeUrl(recipient.cryptedId)%>
其他示例:
<%@ include file='http://www.google.com' %>
<%@ include file='file:///X:/france/service/test.html' %>
<%@ include option='NmsServer_URL' %>
使用投放向导中的个性化按钮获取正确的语法。
利用此说明,可访问所有收件人均为常量的投放参数。
语法:
<%@ value object="myObject" xpath="@myField" index="1" %>
其中:
对于电子邮件个性化,可通过两种方式访问投放对象:
使用JavaScript:
<%= delivery.myField %>`.
在JavaScript对象交付自定义字段中,不支持此字段。 它们在预览中工作,但在MTA中不工作,因为MTA只能访问即装即用投放架构。
使用预处理:
<%@ value object="delivery"
注意
如果您对通过中间源发送的投放使用以下说明,则自定义字段 @myCustomField 必须将添加到营销和中间源平台上的nms:delivery模式:
<%@ value object="delivery" xpath="@myCustomField" %>
对于投放参数/变量,请使用以下语法(使用投放对象):
<%@ value object="delivery" xpath="variables/var[@name='myVar']/@stringValue" %>
要允许在Javascript部分中使用<%@值,两个特殊对象将被替换为<%和%>:
<%@ value object='startScript' %>
<%@ value object='endScript' %>
例如:
<%@ 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 { ... } %>.
此指令允许对投放中加载的对象数组进行迭代,以跟踪与对象相关的各个链接。
语法:
<%@ foreach object="myObject" xpath="myLink" index="3" item="myItem" %> <%@ end %>
其中:
示例:
在投放属性/个性化中,加载一组文章以及收件人与文章之间的关系表。
只需使用Javascript即可显示指向这些文章的链接,如下所示:
<%
for(var i=0; i<recipient.rcpArticle.length; i++ )
{
%><a href="http://nl.net?a.jsp?article=<%=recipient.rcpArticle[i].article.@id%>">article</a><%
}
%>
使用该解决方案,可无差别地跟踪指向所有文章的链接。 您可以知道收件人已单击文章链接,但无法知道是哪篇文章。
解决方案是:
将所有可能的文章预加载到投放的额外脚本数组 — articleList[] — 这意味着可能的文章数必须有限。
在内容的开头编写JavaScript函数。
<%@ 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' %>
通过调用函数来显示文章。
<%
for(var i=0; i<recipient.rcpArticle.length; i++ )
{
displayArticle(recipient.rcpArticle[i].article.@id)
}
%>