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和Analytics扩展自定义代码编辑器中的ActivityMap.link
为此变量分配一个函数,该函数:
- 接收所单击的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>
- 如果传递了
linkName
,则tl()
调用了该方法。 返回作为linkName
传入的tl()
。 - 当Activity Map调用时,永远不会传递
linkName
,因此使用链接元素调用customFunction()
。 您可以使用任何想要返回值的自定义函数。 - 如果以上两个值都不返回,则使用通常收集为回退的链接名称。
recommendation-more-help
b4f6d761-4a8b-4322-b801-c85b9e3be690