配信コンテンツで特定の構文を使用して、命令を追加し、トラッキングされる E メールの URL をスクリプト化できます。 <%@ 命令は JavaScript ではありません。Adobe Campaign 固有の構文です。
<%@ 命令は、配信コンテンツのコンテキストでのみ適用されます。これは、E メールの URL をスクリプト化し、引き続き(URL パラメーター以外を)トラッキングする唯一の方法です。<%@ 命令は、トラッキングするリンクを検出する前の配信分析中に、自動のコピー&ペーストとして適用されることがあります。
次の 3 種類の命令があります。
配信ウィザードから直接テストできます。これらはコンテンツのプレビューに適用され、トラッキングボタンをクリックすると、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" %>
説明:
E メールのパーソナライゼーションの場合、delivery オブジェクトは次の 2 とおりの方法でアクセスできます。
JavaScript の使用:
<%= delivery.myField %>`.
JavaScript オブジェクト配信では、カスタムフィールドはサポートされていません。プレビューでは動作しますが、MTA では動作しません(MTA は標準の配信スキーマのみアクセス可能)。
前処理の使用:
<%@ value object="delivery"
注意
ミッドソーシング経由で送信される配信に次の命令を使用する場合は、マーケティングプラットフォームとミッドソーシングプラットフォームの両方の nms:delivery スキーマにカスタムフィールド @myCustomField を追加する必要があります。
<%@ value object="delivery" xpath="@myCustomField" %>
配信パラメーターや配信変数の場合は、次の構文を使用します(delivery オブジェクトを使用)。
<%@ value object="delivery" xpath="variables/var[@name='myVar']/@stringValue" %>
JavaScript セクションで <%@ value を使用できるようにするために、次の 2 つの特別なオブジェクトが <% と %> に置き換えられます。
<%@ 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)
}
%>