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 语法使用自定义代码编辑器。

为此变量分配一个函数,该函数:

  • 接收所单击的HTML元素;并且
  • 返回字符串值。 此字符串值是用于Activity Map链接维度的最终值。

如果返回值为falsy,则将清除所有Activity Map上下文数据变量,并且不跟踪任何链接数据。

示例

仅使用<a>标记中的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()调用了该方法。 返回作为linkName传入的tl()
  2. 当Activity Map调用时,永远不会传递linkName,因此使用链接元素调用customFunction()。 您可以使用任何想要返回值的自定义函数。
  3. 如果以上两个值都不返回,则使用通常收集为回退的链接名称。
recommendation-more-help
b4f6d761-4a8b-4322-b801-c85b9e3be690