ActivityMap.link
ActivityMap.link変数を使用すると、Activity Mapがリンク値の設定に使用するロジックを上書きできます。 この変数は、ActivityMap.linkExclusionsが提供するものよりも詳細に制御したい領域で便利です。
CAUTION
この変数は、Activity Map ロジックを完全に上書きします。 ここでオーバーライド関数を設定して誤った値を返すと、Activity Map ディメンションとActivity Map オーバーレイでデータ収集の問題が発生する可能性があります。
Web SDKを使用したリンク値の上書き
OnBeforeLinkClickSend コールバックを使用して、Web SDK ペイロードを変更したり、データの送信を中止したりできます。
Adobe Analytics拡張機能を使用したリンクオーバーライド
Adobe Analytics 拡張機能には、この変数を使用するための専用フィールドはありません。 AppMeasurement 構文に従って、カスタムコードエディターを使用します。
AppMeasurementのActivityMap.linkとAnalytics拡張機能のカスタムコードエディター
この変数に次の関数を割り当てます。
- クリックされたHTML要素を受け取ります。
- 文字列値を返します。 この文字列値は、Activity Map リンク ディメンションで使用される最終的な値です。
戻り値がfalsyの場合、すべてのActivity Map コンテキストデータ変数がクリアされ、リンクデータは追跡されません。
例
<a> タグのtitle属性のみを使用してください。 title属性が存在しない場合、リンクは追跡されません。
s.ActivityMap.link = function(clickedElement) {
var linkId;
if (clickedElement && clickedElement.tagName.toUpperCase() === 'A') {
linkId = clickedElement.getAttribute('title');
}
return linkId;
}
s.tlに手動で設定したリンク名が存在する場合は返し、そうでない場合はリンク URLを返します。
s.ActivityMap.link = function(ele, linkName) {
if (linkName) {
return linkName;
}
if (ele && ele.tagName == 'A' && ele.href) {
return ele.href;
}
}
デフォルトのリンクロジックを完全に置き換える代わりに、条件付きで変更することができます。
<script>
// Copy the original link function
var originalLinkFunction = s.ActivityMap.link;
// Return the link name from s.tl, a modified activity map value, or the original activity map value
s.ActivityMap.link = function(element,linkName)
{
return linkName || customFunction(element) || originalLinkFunction(element,linkName);
};
</script>
<button type="button" onclick="s.tl(this,'o',customFunction(this)">Add To Cart</button>
linkNameが渡された場合、メソッドはtl()によって呼び出されました。tl()さんがlinkNameとして渡したものを返します。- Activity Mapによって呼び出されると、
linkNameは渡されないので、customFunction()をlink要素で呼び出します。 値を返すカスタム関数を使用できます。 - 上記のいずれの戻り値も返さない場合は、通常フォールバックとして収集されるリンク名を使用します。
recommendation-more-help
analytics-help-implement