連結追蹤方法

本節適用對象為 Adobe Analytics 系統管理員。本節重點放在新的連結追蹤參數,以及這些新參數如何在瀏覽器和裝置之間確保連結獨特性和一致性,並改善頁面上的連結重新定位處理。

重要

任何可能含有 PII (個人識別資訊) 之文字的連結,都應使用 s_objectID 明確實作,或是使用 s.ActivityMap.linkExclusions 或 s.ActivityMap.regionExclusions 排除 ActivityMap 連結集合。如需進一步瞭解 Activity Map 收集 PII 資料的可能方式,請前往這裡

Activity Map 的連結追蹤是根據下列兩個 ID:

  • 主要 ID:這是連結的可識別參數。
  • 連結地區:這是次要參數,可讓使用者指定該頁面或地區中整體連結區域的代表字串。如果使用者未提供此參數,此參數可以自動產生。

主要 ID

如果 HTML 有 s_objectid,則主要 ID 預設為 s_objectid。否則會使用下列參數做為主要 ID (按照下列優先順序):

  • Innertext
  • Alttext
  • 標題
  • Src
  • 動作

使用 InnerText 和使用連結動作 (URL) 的比較

「連結動作」是當連結被點按時,網頁所採取的動作 - 通常是連結點按後造訪的 URL。使用連結動作時可能會遇到的問題包括:

  • 兩個以上不同的連結具有相同 ID
  • 連結的可讀性
  • 單一連結具有多重動作 (取決於您用於檢視連結的裝置)

因此,我們改用 InnerText,比起連結動作 (URL) 具有以下優點:

  • 可以良好表示連結身份。可以大幅降低主要 ID 重複項目,因為不常發生多個連結具有相同文字。
  • 可確保主要 ID 在所有裝置和瀏覽器類型間保持一致性。
  • 不受頁面上連結重新定位的影響。
  • 改善可讀性,讓使用者可以在 Activity Map 外部分析連結追蹤報表。

連結地區

這個新屬性可讓使用者指定字串,用來代表連結所在的頁面地區。

例如,針對位在網頁之功能表區段的「聯絡我們」連結,使用者可能會想傳遞「功能表」(Menu) 地區參數。同樣地,對於位在網頁頁尾的「聯絡我們」連結,地區參數可以設為「頁尾」(footer)。

連結地區值並非設在連結本身,而是設在包含該地區的 DOM HTML 樹狀結構上的一個 HTML 元素中。使用「連結地區」具備下列優點:

  • 可協助區分具相同主要 ID 的連結。
  • 地區趨勢分析較不受網頁的動態方面影響。
  • 使用者可查看某地區內績效最佳的連結。使用地區做為錨記,可以顯示頁面中目前隱藏之連結的覆蓋圖 (Ajax、鎖定)。
  • 由於特定地區可在許多網頁間使用,因此地區可以取代頁面。這可協助回答類似下列問題:「我的『產品供應』地區在女性登陸頁面還是男性登陸頁面表現最佳?
  • 地區本身是相關維度,可分析高度動態網頁。這是因為它可移除不斷變動連結所造成的雜訊:例如,CNN 登陸頁面中的「最新消息」地區可能會有很多變動連結。但地區永遠存在。所以在地區層級針對許多天進行分析,應該可獲得有趣的結果。

自訂地區追蹤

您可以自訂連結的地區參數 (預設為連結 ID):設為 "ID" 的標記會使用具有 "id" 參數的所有 HTML 元素做為「地區」。因此,將地區標記設為 "id" 最有可能傳回許多不同的地區 (數量即頁面上設定的 "ID" 數)。此外,如果您想要自訂性更強的實作,可將地區標記設定為更具體的項目,例如 "region_id"。

以下顯示一些使用預設地區 ID 屬性 "id" 的 HTML 範例。

<div id="content">
  <div id="breaking_news">
    <a href="breaking-news.html">...</a>
  </div>
  <div id="todays_top_headlines">
    <a href="breaking-news.html">...</a>
  </div>

您也可使用任意字串識別碼 (以下範例中為 "lpos") 來標記元素,接著使用名稱 "lpos" 新增屬性。

<script language="JavaScript" type="text/javascript">
s.ActivityMap.regionIDAttribute = "lpos";
</script>
<div id="nav" lpos="navbar">
  <ul>
    <li>Menu Category A
      <ul>
        <li><a href="">Menu Item A 1</a>
        <li><a href="">Menu Item A 2</a>
      </ul>
    </li>
    <li>Menu Category B
      <ul>
        <li><a href="">Menu Item B 1</a>
        <li><a href="">Menu Item B 2</a>
      </ul>
    </li>
  </ul>
</div> 
  
<div id="content">
  <div id="breaking_news" lpos="breaking_news>
    <a href="breaking-news.html">...</a>
  </div>
  <div id="todays_top_headlines">
    <a href="breaking-news.html">...</a>
  </div>

設定變數

請注意,以下所列變數僅供參考。Activity Map 在出廠時即已正確設定,但您可使用這些變數來自訂實作。

變數名稱 範例 說明
s.ActivityMap.regionIDAttribute 預設為 "id" 參數。您可將此變數設定為其他參數。 字串,用來識別 s.linkObject 的某些上階 (parent、parent.parent 等) 元素 (亦即被點按的元素) 中,做為地區 ID 的標記屬性。
s.ActivityMap.link // only ever use "title" attributes from A tags
function(clickedElement) {
  var linkId;
  if (clickedElement && clickedElement.tagName.toUpperCase() === 'A') {
    linkId = clickedElement.getAttribute('title');
  }
  return linkId;
}
函數,接受被點按的 HTMLElement,且應傳回代表被點按的連結的字串值。
 
如果傳回值為false(null、未定義、空字串、0),則不會追蹤任何連結。
s.ActivityMap.region // only ever use lowercase version of tag name concatenated with first className as the region
function(clickedElement) {
  var regionId, className;
  while (clickedElement && (clickedElement = clickedElement.parentNode)) {
    regionId = clickedElement.tagName;
    if (regionId) {
      return regionId.toLowerCase();
    }
  }
}
函數,接受被點按的 HTMLElement,且應傳回代表在點按時連結所在地區的字串值。
 
如果傳回值為false(null、未定義、空字串、0),則不會追蹤任何連結。
s.ActivityMap.linkExclusions // Exclude links tagged with a special linkExcluded CSS class
<style>
.linkExcluded {
  display: block;
  height: 1px;
  left: -9999px;
  overflow: hidden;
  position: absolute;
  width: 1px;
}
</style>
<a href="next-page.html">
  Link is tracked because link does not have hidden text matching the filter. 
</a>
<a href="next-page.html">
  Link not tracked because s.ActivityMap.linkExclusions is set and this link has hidden text matching the filter.
  <span class="linkExcluded">exclude-link1</span>
</a>
<a href="next-page.html">
  Link not tracked because s.ActivityMap.linkExclusions is set and this link has hidden text matching the filter.
  <span class="linkExcluded">exclude-link2</span>
</a>
<script>
  var s = s_gi('samplersid');
  s.ActivityMap.linkExclusions = 'exclude-link1,exclude-link2';
</script>
接受以逗號分隔的字串清單以在連結文字中進行尋找的字串若找到,則該連結排除由 Activity Map 追蹤。若未設定,則 Activity Map 並未試圖停止追蹤該連結。
s.ActivityMap.regionExclusions // Exclude regions on the page from its links being trackable by ActivityMap
<div id="links-included">
  <a href="next-page.html">
    Link is tracked because s.ActivityMap.regionExclusions is set but does not match the filter.
  </a>
</div>
<div id="links-excluded"> 
  <a href="next-page.html">
    Link not tracked because s.ActivityMap.regionExclusions is set and this link matches the filter.
  </a>
</div>
<script>
  var s = s_gi('samplersid');
  s.ActivityMap.regionExclusions = 'links-excluded';
</script>
接受以逗號分隔的字串清單以在地區文字中進行尋找的字串。若找到,則該連結排除由 Activity Map 追蹤。若未設定,則 Activity Map 並未試圖停止追蹤該連結。

本頁內容