區別參照相同連結 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>
 
 
Buy
 
 
Buy
 
 
Buy
 
 
 
 
建議面板
 
 
建議面板
 
 
建議面板
 
 

應如何自訂網頁和標記,以區別這些連結的值呢?您有三個選擇:自訂連結 ID、自訂地區,或是自訂 AppMeasurement ActivityMap 模組檔案。

使用 s_objectID 自訂連結 ID

透過為頁面上的連結或連結位置建立唯一的物件ID s_objectID,您可以改善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>
</div>
 
 
Product1
 
 
Product2
 
 
Product3
 
 
 
 
建議面板
 
 
建議面板
 
 
建議面板
 
 

自訂地區

您可以自訂地區,確保每個「購買」連結都定義自己的地區。 若要這麼做,請將"id"參數新增至每個「Buy」錨點標籤的其中一個父項。

注意

並未嚴格限制一定要使用"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>
 
 
Buy
 
 
Buy
 
 
Buy
 
 
 
 
區域a
 
 
區域b
 
 
區域c<a8/  
 

自訂 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;
    }
  }
}

在呼叫s.tl()期間會傳遞linkName

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";
}

本頁內容