Show Menu
主題×

Adobe Target 擴充功能

使用本參考文件,瞭解使用此擴充功能建立規則時可用的選項。

設定 Adobe Target 擴充功能

Adobe Target 擴充功能需要使用 at.js。不支援 mbox.js。
如果尚未安裝 Adobe Target 擴充功能,請開啟您的屬性,然後按一下「 Extensions > Catalog 」,將游標暫留在 Target 擴充功能上,然後按一下「 Install 」。
若要設定擴充功能,請開啟「Extensions」標籤、將游標暫留在擴充功能上,然後按一下「 Configure 」。

at.js 設定

所有的 at.js 設定,但逾時除外。會在 Target 使用者介面中的 at.js 設定中自動擷取。擴充功能只會在其首次新增時從 Target 使用者介面擷取設定。因此,如有其他更新,應在 Launch 介面中管理所有設定。
下列組態選項可供使用:

用戶端代碼

用戶端代碼是 Target 的帳戶識別碼。在大部分情況中,此值應一律保持為預設值。
可使用資料元素進行變更。

組織 ID

此 ID 會將您的實作連結至 Adobe Experience Cloud 帳戶。在大部分情況中,此值應一律保持為預設值。
可使用資料元素進行變更。

全域 mbox 名稱

顯示全域 Target 請求的名稱。依預設,此名稱為 target-global-mbox,除非您在新增擴充功能前即已在 Target 使用者介面中變更名稱。
可使用資料元素進行變更。

伺服器網域

作為 Target 請求傳送目標的網域。在大部分情況中,此值應一律保持為預設值。

跨網域

判斷 Target 在瀏覽器中設定 Cookie 的位置。
  • 停用: 僅在第一方網域上設定 Cookie。此為一般設定。
  • 啟用: 在第一方網域和協力廠商 Target 網域 (「伺服器網域」) 上設定 Cookie。

逾時 (毫秒)

如果未在定義的期間內收到 Target 的回應,則請求逾時,系統會顯示預設內容。在訪客工作階段期間會繼續嘗試其他請求。預設值為 3000 毫秒,可能與 Target 使用者介面中設定的「逾時」不同。
如需「逾時」設定如何運作的詳細資訊,請參閱 Adobe Target 說明

Target 使用者介面中可用的其他 at.js 設定

Target 使用者介面「Edit at.js settings」頁面上可用的數個設定,不屬於 Target 擴充功能的一部分。建議因應措施如下:
  • 自動建立全域 mbox 此設定會由 Target 擴充功能中的「引發全域 mbox」動作取代。
  • 程式庫頁首 此設定不屬於 Target 擴充功能的一部分。在使用「載入 Target」動作之前,先將需要在 at.js 之前載入的程式碼置於「核心擴充功能 > 自訂程式碼」動作中。
  • 程式庫頁尾 此設定不屬於 Target 擴充功能的一部分。在使用「載入 Target」動作之後,將需要在 at.js 之後載入的程式碼置於「核心擴充功能 > 自訂程式碼」動作中。

Target 擴充功能動作類型

本節說明 Target 擴充功能中可用的動作類型。
Target 擴充功能提供規則的「Then」部分中的下列動作:

載入 Target

將此動作新增至您的 Launch 規則,其中在此規則的環境中載入 Target 是可行的。如此會將 at.js 程式庫載入頁面中。在大部分實作中,您網站的每個頁面上都應載入 Target。
無需設定。

新增 mbox 參數

新增參數至所有 mbox 請求。「載入 Target」動作必須較先使用。
  1. 指定您要新增之參數的名稱和值。
  2. 按一下加號圖示以新增更多參數。

新增全域 mbox 參數

只新增參數至全域 mbox 請求。「載入 Target」動作必須較先使用。
  1. 指定您要新增之參數的名稱和值。
  2. 按一下加號圖示以新增更多參數。

引發全域 mbox

引發頁面上的全域 mbox。「載入 Target」動作必須較先使用。
指定是否啟用主體隱藏以防止閃爍,以及在隱藏主體元素時所使用的樣式。
可使用下列選項:
  • 主體隱藏: ​您可以啟用或停用此設定。預設值為 Enabled,表示 HTML BODY 隱藏。
  • 主體隱藏樣式: 預設值為 body{opacity:0} 。此值可以變更為其他不同值,例如 body{display:none}
如需詳細資訊,請參閱 Target 線上說明文件

Adobe Target 基本部署

安裝 Target 擴充功能後,您需要建立至少一個規則才能正確部署。您首先需要載入 Target 程式庫 (at.js),指定要用於全域 mbox 的參數,然後引發全域 mbox。
具有此基本實作的 Target 規則看起來如下所示:
儲存此規則後,您需要將它新增至程式庫,然後進行建立/部署,以便測試行為。

非同步部署的 Adobe Target 擴充功能

Launch 可採非同步方式部署。如果您要以非同步方式載入 Launch 程式庫,且其中包含 Target,則 Target 也會以非同步方式載入。這是完全支援的情況,但有一個額外考量必須處理。
在非同步部署中,頁面可以在 Target 程式庫完全載入並執行內容交換之前,先完成預設內容的演算。這可能會導致所謂的「閃爍」問題,即預設內容會短暫顯示,然後才會被 Target 指定的個人化內容取代。若要避免這種閃爍問題,建議您使用預先隱藏的程式碼片段,並以非同步方式載入 Launch 套件,以避免發生任何內容閃爍情形。
以下是使用預先隱藏程式碼片段時應留意的一些事項:
  • 載入 Launch 頁首內嵌代碼前,必須先新增程式碼片段。
  • 此代碼無法由 Launch 管理,因此必須直接新增至頁面。
  • 一發生下列事件時,便會顯示頁面:
    • 收到全域 mbox 回應時
    • 全域 mbox 請求逾時
    • 程式碼片段本身逾時
  • 應使用預先隱藏程式碼片段,在所有頁面上使用「引發全域 mbox」動作,以將預先隱藏的時間減至最少。
預先隱藏的程式碼片段如下所示,且可縮小: 可設定的選項位於末端:
;(function(win, doc, style, timeout) {
  var STYLE_ID = 'at-body-style';

  function getParent() {
    return doc.getElementsByTagName('head')[0];
  }

  function addStyle(parent, id, def) {
    if (!parent) {
      return;
    }

    var style = doc.createElement('style');
    style.id = id;
    style.innerHTML = def;
    parent.appendChild(style);
  }

  function removeStyle(parent, id) {
    if (!parent) {
      return;
    }

    var style = doc.getElementById(id);

    if (!style) {
      return;
    }

    parent.removeChild(style);
  }

  addStyle(getParent(), STYLE_ID, style);
  setTimeout(function() {
    removeStyle(getParent(), STYLE_ID);
  }, timeout);
}(window, document, "body {opacity: 0 !important}", 3000));

依預設,此程式碼片段會預先隱藏整個 HTML BODY。在某些情況下,您可能希望預先隱藏特定的 HTML 元素,而非整個頁面。您可以自訂 style 參數來達到此目的。以某些項目替換此參數,而只預先隱藏頁面的特定區域。
例如,若您有兩個區域,分別以 ID container-1 和 container-2 來識別,則樣式可以換成如下內容:
#container-1, #container-2 {opacity: 0 !important}

代替預設值:
body {opacity: 0 !important}

依預設,程式碼片段在 3000 毫秒或 3 秒後逾時。此值可自訂。