您可參閱此參考文件,了解使用此擴充功能建立規則時可使用哪些選項。
Adobe Target 擴充功能需使用 at.js。不支援 mbox.js。
如果您尚未安裝 Adobe Target 擴充功能,請開啟您的屬性,然後選取「Extensions > Catalog」,將游標停留在 Target 擴充功能上,然後選取「Install」。
若要設定擴充功能,請開啟「Extensions」索引標籤,並將游標停留在擴充功能上,然後選取「Configure」。
所有的 at.js 設定,但逾時除外。會在 Target 使用者介面中的 at.js 設定中自動擷取。擴充功能只會在其首次新增時從 Target 使用者介面擷取設定。因此,如有其他更新,應在 Adobe Experience Platform Launch 介面中管理所有設定。
下列組態選項可供使用:
用戶端代碼是 Target 的帳戶識別碼。在大部分情況中,此值應一律保持為預設值。
可使用資料元素進行變更。
此 ID 會將您的實作連結至 Adobe Experience Cloud 帳戶。在大部分情況中,此值應一律保持為預設值。
可使用資料元素進行變更。
顯示全域 Target 要求的名稱。依預設,此名稱為 target-global-mbox,除非您在新增擴充功能前即已在 Target 使用者介面中變更名稱。
可使用資料元素進行變更。
作為 Target 要求傳送目標的網域。在大部分情況中,此值應一律保持為預設值。
判斷 Target 在瀏覽器中設定 Cookie 的位置。
如果未在定義的期間內收到 Target 的回應,則要求逾時,系統會顯示預設內容。在訪客工作階段期間會繼續嘗試其他要求。預設值為 3000 毫秒,可能與 Target 使用者介面中設定的「逾時」不同。
如需「逾時」設定如何運作的詳細資訊,請參閱 Adobe Target 說明。
Target 使用者介面「Edit at.js settings」頁面上可用的數個設定,不屬於 Target 擴充功能的一部分。建議因應措施如下:
本節說明 Target 擴充功能中可用的動作類型。
Target 擴充功能提供規則的「Then」部分中的下列動作:
將此動作新增至您的 Platform Launch 規則,其中在此規則的環境中載入 Target 是可行的。如此會將 at.js 程式庫載入頁面中。在大部分實作中,您網站的每個頁面上都應載入 Target。
無需設定。
新增參數至所有 mbox 要求。「載入 Target」動作必須較先使用。
只新增參數至全域 mbox 要求。「載入 Target」動作必須較先使用。
引發頁面上的全域 mbox。「載入 Target」動作必須較先使用。
指定是否啟用主體隱藏以防止閃爍,以及在隱藏主體元素時所使用的樣式。
提供下列選項:
body{opacity:0}
。此值可以變更為其他不同值,例如 body{display:none}
。如需詳細資訊,請參閱 Target 線上說明文件。
安裝 Target 擴充功能後,您需要建立至少一個規則才能正確部署。您首先需要載入 Target 程式庫 (at.js),指定要用於全域 mbox 的參數,然後引發全域 mbox。
具有此基本實作的 Target 規則看起來如下所示:
儲存此規則後,您需要將它新增至程式庫,然後進行建立/部署,以便測試行為。
Platform Launch 可採非同步方式部署。如果您要以非同步方式載入 Platform Launch 程式庫,且其中包含 Target,則 Target 也會以非同步方式載入。這是完全支援的情況,但有一個額外考量必須處理。
在非同步部署中,頁面可以在 Target 程式庫完全載入並執行內容交換之前,先完成預設內容的演算。這可能會導致所謂的「閃爍」問題,即預設內容會短暫顯示,然後才會被 Target 指定的個人化內容取代。若要避免這種閃爍問題,建議您使用預先隱藏的程式碼片段,並以非同步方式載入 Platform Launch 套件,以避免發生任何內容閃爍情形。
使用預先隱藏程式碼片段時應留意的事項如下:
預先隱藏的程式碼片段如下所示,且可縮小:可設定的選項位於末端:
;(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 秒後逾時。此值可自訂。