区分引用相同链接 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>
</div>


购买


购买


购买


推荐面板


推荐面板


推荐面板

如何自定义网页和标签,以区分这些链接的值?您有三种选项:您可以自定义链接 ID、自定义区域,或自定义 AppMeasurement ActivityMap 模块文件。

使用 s_objectID 来自定义链接 ID section_01B0D463397B4837B2D46F087A6E5937

通过为链接或页面上的链接位置创建唯一对象 ID s_objectID,您可以改善 Activity Map 跟踪功能,或使用 Activity Map(而非链接 URL)来报告链接的类型或位置。单击此处,以了解有关 变量的更多信息。s_objectID

IMPORTANT
请注意,在 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>
</div>


产品 1


产品 2


产品 3


推荐面板


推荐面板


推荐面板

自定义区域 section_6B1EF302573B445DBAF44176D0A12DB9

您可以通过确保各个“购买”链接都定义了自己的区域,来自定义区域。 要完成此操作,请将 "id" 参数添加到各个“购买”锚标记的父项之一。

NOTE
您并非必须使用 "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>
</div>


购买


购买


购买


区域 a


区域 b


区域 c

自定义 AppMeasurement ActivityMap 模块文件 section_B933BB9F944E4D5389002908A5A881F8

CAUTION
请务必测试修改后的代码,以确保修改后的代码能够正常运行。 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";
}
recommendation-more-help
a83f8947-1ec6-4156-b2fc-94b5551b3efc