Show Menu
主题×

区分引用相同链接 ID 和区域的多个链接

您可以通过以下方式区分链接:使用 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 模块文件。

使用 s_objectID 来自定义链接 ID

通过为链接或页面上的链接位置创建唯一对象 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

自定义 AppMeasurement ActivityMap 模块文件

请务必测试修改后的代码,以确保修改后的代码能够正常运行。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"; 
}