您可以通过以下方式区分链接:使用 s_objectID 变量来自定义链接 ID;自定义区域;以及自定义 AppMeasurement ActivityMap 模块文件。
例如,假设您拥有多个“购买”链接,且这些链接被 Activity Map 确认为属于同一个链接 ID 和区域:
代码示例 | 链接 ID | 区域 |
---|---|---|
<div id="recommendation panel">
<div>
<a href="product1.html">Buy</a>
</div>
<div>
<a href="product2.html">Buy</a>
</div>
<div>
<a href="product3.html">Buy</a>
</div>
|
购买
购买
购买 |
推荐面板
推荐面板
推荐面板 |
如何自定义网页和标签,以区分这些链接的值?您有三种选项:您可以自定义链接 ID、自定义区域,或自定义 AppMeasurement ActivityMap 模块文件。
通过为链接或页面上的链接位置创建唯一对象 ID,您可以改善 Activity Map 跟踪功能,或使用 Activity Map(而非链接 URL)来报告链接的类型或位置。单击此处,以了解有关 s_objectID 变量的更多信息。
请注意,在 Activity Map 中使用 s_objectID 时,需要以分号 (😉 结尾。
代码示例 | 链接 ID | 区域 |
---|---|---|
<div id="recommendation panel">
<div>
<a onClick="s_objectID='Product1';" href="product1.html">Buy</a>
</div>
<div>
<a onClick="s_objectID='Product2';" href="product2.html">Buy</a>
</div>
<div>
<a onClick="s_objectID='Product3';" href="product3.html">Buy</a>
</div>
|
Product1
Product2
Product3
|
推荐面板
推荐面板
推荐面板
|
您可以通过确保各个“购买”链接都定义了自己的区域,来自定义区域。要完成此操作,请将“id”参数添加到各个“购买”锚标记的父项之一。
您并非必须使用“id”参数作为区域标识符。您也可以使用 JavaScript 变量“s.ActivityMap.regionIDAttribute”来设置自己的标识符。
代码示例 | 链接 ID | 区域 |
---|---|---|
<div id="recommendation panel">
<div id="region a">
<a href="product1.html">Buy</a>
</div>
<div id="region b">
<a href="product2.html">Buy</a>
</div>
<div id="region c">
<a href="product3.html">Buy</a>
</div>
|
购买
购买
购买 |
region a
region b
region c |
请务必测试修改后的代码,以确保修改后的代码能够正常运行。Adobe 对于修改后的代码的行为概不负责。
以下是一些通用链接/区域函数的示例,您可以将这些函数(以修改后的形式)放入 AppMeasurement.js 文件中。
s.ActivityMap.link = function(ele,linkName){
if(linkName){
return linkName;
}
if(ele){
if(ele.tagName == 'A' && ele.href){
return ele.href;
}
}
}
linkName 是在调用 s.tl 期间被传递。
s.ActivityMap.region = function(ele){
var className,
classNames = {
'header': 1,
'navbar': 1,
'left-content': 1,
'main-content': 1,
'footer': 1,
};
while( (ele && (ele = ele.parentNode))){
if( (className=ele.className) && classNames[className]){
return className;
}
}
return "BODY";
}