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>
  1. linkNameが渡された場合、メソッドはtl()によって呼び出されました。 tl()さんがlinkNameとして渡したものを返します。
  2. Activity Mapによって呼び出されると、linkNameは渡されないので、customFunction()をlink要素で呼び出します。 値を返すカスタム関数を使用できます。
  3. 上記のいずれの戻り値も返さない場合は、通常フォールバックとして収集されるリンク名を使用します。
recommendation-more-help
analytics-help-implement