appendVisitorIDsTo (跨網域追蹤)

上次更新: 2023-05-26
  • 建立對象:
  • Developer
    User
    Admin
    Leader

瀏覽器封鎖第三方 Cookie 時,此函數可讓您跨網域共用訪客的 Experience Cloud ID。若要使用此函數,您必須先實作 ID 服務,且擁有來源和目的地的網域。適用於 VisitorAPI.js 1.7.0 版或更新版本。

內容:

在第三方 Cookie 遭到瀏覽器封鎖時跨網域追蹤訪客

當用戶造訪您的網站,ID 服務會將第一方和第三方 Cookie 寫入瀏覽器 (請參閱 Cookie 與 Experience Cloud Identity Service)。第一方 Cookie 包含 MID,此為該訪客的唯一 ID。第三方 Cookie 包含 ID 服務用來產生 MID 的其他 ID。當瀏覽器封鎖此第三方 Cookie 時,ID 服務將無法:

  • 在該網站訪客瀏覽至其他網域時為其重新產生唯一 ID。
  • 在組織所擁有的不同網域間追蹤訪客。

為解決此問題,請實作 Visitor.appendVisitorIDsTo( *``*)。此屬性可讓 ID 服務在多個網域間追蹤網站訪客,即使瀏覽器封鎖第三方 Cookie 亦然。其運作方式如下:

  • 訪客瀏覽至您的其他網域時, Visitor.appendVisitorIDsTo( *url*) 會附加 MID 作為 URL 重新導向 (從原始網域重新導向至目的地網域) 中的查詢參數。
  • 目的地網域的 ID 服務程式碼會從 URL 提取 MID,而非向 Adobe 傳送請求索取該訪客的 ID。此要求包含第三方 Cookie ID,而該 ID 在此案件中無法使用。
  • 目的地頁面上的 ID 服務程式碼會使用傳入的 MID 追蹤訪客。

如需詳細資訊,請參閱程式碼範例。

附加訪客 ID 程式碼範例

以下範例程式碼可幫助您開始使用 appendVisitorIDsTo 函數:

秘訣

此程式碼可以放在自訂程式碼編輯器 (Adobe Analytics 擴充功能的一部分),或放在 AppMeasurement.js 的上方。

var adbeDomains = ["marketo.com", "figma.com", "workfront.com"];
var visitor = Visitor.getInstance("9E1005A551ED61CA0A490D45@AdobeOrg", {
  trackingServer: "sstats.adobe.com",
  trackingServerSecure: "sstats.adobe.com",
  marketingCloudServer: "sstats.adobe.com",
  marketingCloudServerSecure: "sstats.adobe.com"
});
adbeDomains.forEach(function(domain) {
  var domainRegex = RegExp(domain);
  if (!domainRegex.test(location.hostname)) {
    hrefSelector = '[href*="' + domain + '"]';
    document.querySelectorAll(hrefSelector).forEach(function(href) {
      href.addEventListener('mousedown', function(event) {
        var destinationURLWithVisitorIDs = visitor.appendVisitorIDsTo(event.currentTarget.href)
        event.currentTarget.href = destinationURLWithVisitorIDs.replace(/MCAID%3D.*%7CMCORGID/, 'MCAID%3D%7CMCORGID');
      });
    });
  }
});

此頁面上的