使用Platform Web SDK設定Adobe Target
瞭解如何使用 Adobe Experience Platform Web SDK 實施 Adobe Target。了解如何提供體驗以及如何將其他參數傳遞給 Target。
Adobe Target 是Adobe Experience Cloud應用程式,提供一切所需工具,讓您量身訂造及個人化您的客戶體驗,藉此為您的網頁以及行動網站、應用程式和其他數位頻道創造最高的收入。
學習目標
在本課程結束時,您可以透過Target的Web SDK實作執行下列操作:
- 新增預先隱藏的程式碼片段以防止閃爍
- 設定資料流以啟用Target功能
- 呈現視覺化體驗撰寫器活動
- 呈現表單撰寫器活動
- 傳遞XDM資料至Target並瞭解對應至Target引數
- 將自訂資料傳遞至Target,例如設定檔和實體引數
- 驗證 Target 實施
- 將個人化請求與Analytics請求分開
先決條件
若要完成本節中的課程,您必須先:
-
完成所有Platform Web SDK初始設定的課程,包括設定資料元素和規則。
-
確定您有 編輯者或核准者角色 在Adobe Target中。
-
安裝 視覺化體驗撰寫器Helper擴充功能 如果您使用Google Chrome瀏覽器。
-
瞭解如何在Target中設定活動。 如果您需要複習程式,下列教學課程和指南對本課程很有幫助:
新增閃爍處理
開始之前,請根據標籤程式庫的載入方式,決定是否需要額外的閃爍處理解決方案。
非同步實施
非同步載入標籤庫時,頁面可能會在Target以個人化內容取代預設內容之前完成轉譯。 此行為可能會導致所謂的「閃爍」問題,發生此問題時,會先短暫地顯示預設內容,然後再更換為個人化內容。 若要避免發生這種閃爍問題,Adobe建議在非同步標籤內嵌程式碼的前面加上特殊的預先隱藏程式碼片段。
此程式碼片段已存在於Luma網站上,但讓我們進一步瞭解此程式碼的作用:
<script>
!function(e,a,n,t){var i=e.head;if(i){
if (a) return;
var o=e.createElement("style");
o.id="alloy-prehiding",o.innerText=n,i.appendChild(o),setTimeout(function(){o.parentNode&&o.parentNode.removeChild(o)},t)}}
(document, document.location.href.indexOf("adobe_authoring_enabled") !== -1, ".personalization-container { opacity: 0 !important }", 3000);
</script>
預先隱藏程式碼片段會使用您選擇的CSS定義,在頁面標題中建立樣式標籤。 在收到來自Target的回應或達到逾時時間時,會移除此樣式標籤。
預先隱藏行為是由程式碼片段尾端的兩項設定所控制。
body { opacity: 0 !important }
指定在Target載入之前,要用於預先隱藏的CSS定義。 依預設,會隱藏整個頁面。 您可以將此定義更新為要預先隱藏的選擇器,以及要如何隱藏它們。 您可以包含多個定義,因為此值只是插入到預先隱藏樣式標籤中的值。 如果您有可輕鬆識別的容器元素,可將內容包裝在導覽下,則可使用此設定將預先隱藏限定為該容器元素。3000
指定預先隱藏的逾時(毫秒)。 如果逾時前未收到來自Target的回應,則會移除預先隱藏樣式標籤。 達到此逾時的情況應該很少見。
alloy-prehiding
. 如果使用適用於at.js的預先隱藏程式碼片段,該程式碼片段可能無法正常運作。標籤中也提供預先隱藏的程式碼片段:
-
前往 擴充功能 標籤區段
-
選取 設定 適用於Adobe Experience Platform Web SDK擴充功能
-
選取 將預先隱藏的程式碼片段複製到剪貼簿 按鈕
note note NOTE 從Platform Web SDK擴充功能複製的預設預先隱藏程式碼片段可能包含您網站上不存在的CSS定義,例如 .personalization-container { opacity: 0 !important }
. 請務必檢查並修改您網站的預先隱藏程式碼片段。
同步實施
Adobe建議如Luma網站所示,以非同步方式實作標籤。 不過,如果同步載入標籤程式庫,則不需要預先隱藏程式碼片段。 而是在Platform Web SDK擴充功能設定中指定預先隱藏樣式。
同步實施的預先隱藏樣式可依照以下方式設定:
-
前往 擴充功能 標籤區段
-
選取 設定 Platform Web SDK擴充功能的按鈕
-
選取 編輯預先隱藏樣式 按鈕
-
修改CSS以包含您要使用的選取器和隱藏方法,例如:
body { opacity: 0 !important }
是否想要預先隱藏頁面的整個內文。 -
儲存變更並建置至程式庫
若要瞭解有關Platform Web SDK如何管理忽隱忽現情況的詳細資訊,請參閱指南區段: 管理個人化體驗的閃爍.
設定資料串流
必須先在資料流設定中啟用Target,Platform Web SDK才能傳遞任何Target活動。
若要在資料流中設定Target:
-
前往 資料彙集 介面
-
在左側導覽中選取 資料串流
-
選取先前建立的
Luma Web SDK: Development Environment
資料流 -
選取 新增服務
-
選取 Adobe Target 作為 服務
-
如有需要,請依照下列指引,輸入有關Target實作的選擇性詳細資料。
-
選取 儲存
屬性代號
Target Premium客戶可選擇使用屬性管理使用者許可權。 Target屬性可讓您建立使用者可執行Target活動的邊界。 請參閱 企業許可權 區段以取得詳細資訊。
若要設定或尋找屬性代號,請導覽至 Adobe Target > 管理 > 屬性. 此 </>
圖示會顯示實作程式碼。 此 at_property
value是您要在資料流中使用的屬性Token。
每個資料流只能指定一個屬性代號,但屬性代號覆寫可讓您指定替代屬性代號,以取代資料流中定義的主要屬性代號。 的更新 sendEvent
覆寫資料流也需要動作。
目標環境ID
環境 在Target中,可協助您在開發的所有階段管理實作。 此選擇性設定會指定您要與每個資料流搭配使用的Target環境。
Adobe建議針對您的每個開發、測試和生產資料流分別設定不同的目標環境ID,以保持事情簡單。 或者,您也可以在Target介面中使用 主機 功能。
若要設定或尋找環境ID,請導覽至 Adobe Target > 管理 > 環境.
目標第三方ID名稱空間
此選擇性設定可讓您指定用於Target第三方ID的身分符號。 Target僅支援在單一身分符號或名稱空間上同步設定檔。 如需詳細資訊,請參閱 mbox3rdPartyId的即時設定檔同步 一節。
身分符號位於下方的身分清單中 資料彙集 > 客戶 > 身分.
出於本教學課程使用Luma網站的目的,請使用身分識別符號 lumaCrmId
在課程中設定關於 身分.
呈現視覺個人化決定
視覺化個人化決定參考在Adobe Target視覺化體驗撰寫器中建立的體驗。 首先,您應該瞭解Target和標籤介面中使用的術語:
- 活動:一組鎖定至一或多個對象的體驗。 例如,簡單的A/B測試可能是具有兩個體驗的活動。
- 體驗:一組以一或多個位置或決定範圍為目標的動作。
- 決定範圍:傳送Target體驗的位置。 如果您熟悉使用舊版Target,則決定範圍等同於「mbox」。
- Personalization決策:伺服器判斷應套用的動作。 這些決定可能會根據對象條件和Target活動優先順序。
- 主張:伺服器所做決策的結果,會以Platform Web SDK回應傳送。 例如,交換橫幅影像會是一種主張。
更新 傳送事件 動作
如果在資料流中啟用了Target,Platform Web SDK則會傳送來自Target的視覺個人化決策。 不過, 它們不會自動呈現. 您必須更新 傳送事件 啟用自動轉譯的動作。
-
在 資料彙集 介面,開啟您用於本教學課程的標籤屬性
-
開啟
all pages - library loaded - send event - 50
規則 -
選取
Adobe Experience Platform Web SDK - Send event
動作 -
啟用 呈現視覺個人化決定 勾選核取方塊
-
儲存您的變更,然後建置到您的程式庫
轉譯器視覺個人化決定設定可讓Platform Web SDK自動套用使用Target視覺化體驗撰寫器或「全域mbox」指定的任何修改。
如果您偏好使用自訂程式碼對這些決定自行呈現或執行動作,您可以將 呈現視覺個人化決定 設定已停用。 Platform Web SDK相當靈活,提供這項功能供您完全控制。 您可以參閱指南以瞭解更多關於 手動呈現個人化內容.
使用視覺化體驗撰寫器設定Target活動
現在基本實施部分已完成,請在Target中建立Experience Targeting (XT)活動,驗證一切都正常運作。 您可以參閱Target教學課程,瞭解 建立體驗鎖定目標活動 如果您需要協助。
-
導覽至Adobe Target介面
-
使用活動URL的Luma首頁建立體驗鎖定目標(XT)活動
-
修改頁面,例如,變更首頁主圖橫幅上的文字。 完成後,選取 儲存 則 下一個.
-
更新事件名稱,然後選取 下一個.
-
選擇Adobe Analytics作為報表來源,搭配適當的報表套裝,並選擇「訂單」量度作為目標
note note NOTE 如果您沒有使用Adobe Analytics,請選取Target作為報表來源,然後選擇其他量度,例如 參與度>頁面檢視 而非。 必須有目標量度才能儲存及預覽活動。 -
儲存活動
-
如果您熟悉變更,那麼可以啟動活動。 否則,如果您想預覽體驗而不啟動,您可以複製 QA預覽URL.
-
載入Luma首頁,應該會看到變更已套用
-
幾小時後,您應該就能在Adobe Analytics中檢視Target活動資料和轉換。 請參閱Target指南,瞭解更多關於 Analytics for Target (A4T)報表.
使用除錯工具進行驗證
如果您設定活動,應該會在頁面上看到您的內容已呈現。 但是,即使沒有活動上線,您也可以檢視「傳送事件」網路呼叫,以確認Target已正確設定。
-
開啟Adobe Experience Platform Debugger瀏覽器擴充功能
-
前往 Luma示範網站 並使用除錯工具 將網站上的tag屬性切換為您自己的開發屬性
-
重新載入頁面
-
選取 網路 Debugger中的工具
-
篩選依據 Experience PlatformWeb SDK
-
在事件列中選取第一次呼叫的值
-
請注意,底下有索引鍵
query
>personalization
和decisionScopes
具有值__view__
. 此範圍等同於target-global-mbox
. 此Platform Web SDK呼叫要求Target做出決定。 -
關閉覆蓋圖並選取第二個網路呼叫的事件詳細資料。 只有在Target傳回活動時,此呼叫才會出現。
-
請注意,有從Target傳回的活動和體驗的詳細資料。 此Platform Web SDK呼叫會傳送Target活動已轉譯給使用者的通知並增加曝光次數。
設定和演算自訂決定範圍
自訂決策範圍(先前稱為「mbox」)可用於透過Target表單式體驗撰寫器,以結構化的方式傳遞HTML或JSON內容。 Platform Web SDK不會自動轉譯傳遞到這些自訂範圍之一的內容。 您可以使用Tags中的動作來轉譯。
將範圍新增至 傳送事件動作
修改您的頁面載入規則以新增自訂決定範圍:
-
開啟
all pages - library loaded - send event - 50
規則 -
選取
Adobe Experience Platform Web SDK - Send Event
動作 -
新增一或多個要使用的範圍。 在此範例中,使用
homepage-hero
. -
儲存您的變更並將組建組建至程式庫
處理來自Target的回應
現在您已設定Platform Web SDK來請求 homepage-hero
範圍,您必須對回應執行動作。 Platform Web SDK標籤擴充功能提供 傳送事件完成 事件,當回應時,立即觸發新規則 傳送事件 已收到動作。
-
建立名為的規則
homepage - send event complete - render homepage-hero
. -
將事件新增至規則。 使用 Adobe Experience Platform Web SDK 擴充功能與 傳送事件完成 事件型別。
-
新增條件以將規則限制在Luma首頁(不含查詢字串的路徑等於
/content/luma/us/en.html
)。 -
將動作新增至規則。 使用 Adobe Experience Platform Web SDK 擴充功能和 套用主張 動作型別。
note tip TIP 為規則事件、條件和動作指定描述性名稱,而非使用預設名稱。 健全的規則元件名稱可讓搜尋結果更有用。 -
輸入
%event.propositions%
放入主張欄位,因為我們正在使用「傳送事件完成」事件當作此規則的觸發器。 -
在「主張中繼資料」區段中,選取 使用表單
-
對於 範圍 欄位輸入
homepage-hero
-
對於 選擇器 欄位輸入
div.heroimage
-
的 動作型別 選取 設定HTML
-
選取 保留變更
除了呈現活動之外,您必須額外呼叫Target,指出已呈現表單式活動:
-
將另一個動作新增至規則。 使用 核心 擴充功能與 自訂程式碼 動作型別:
-
貼上下列JavaScript程式碼:
code language-javascript var propositions = event.propositions; var heroProposition; if (propositions) { // Find the hero proposition, if it exists. for (var i = 0; i < propositions.length; i++) { var proposition = propositions[i]; if (proposition.scope === "homepage-hero") { heroProposition = proposition; break; }xw } } // Send a "display" event if (heroProposition !== undefined){ alloy("sendEvent", { xdm: { eventType: "display", _experience: { decisioning: { propositions: [{ id: heroProposition.id, scope: heroProposition.scope, scopeDetails: heroProposition.scopeDetails }] } } } }); }
-
選取 保留變更
-
儲存您的變更並將組建組建至程式庫
-
載入Luma首頁幾次,這應該足以製作新的
homepage-hero
決定範圍在Target介面中註冊。
使用表單式體驗撰寫器設定Target活動
現在您有了手動呈現自訂決定範圍的規則,可以在Target中建立另一個體驗鎖定目標(XT)活動。 這次請使用表單式體驗撰寫器。
-
開啟 Adobe Target
-
停用上一個課程使用的活動
-
使用表單式體驗撰寫器選項建立體驗鎖定目標(XT)活動
-
選取
homepage-hero
位置(從位置下拉式清單和 建立HTML選件 從內容下拉式清單。 如果該位置無法使用,您可以鍵入該位置。 Target在收到該位置或範圍的請求後,會定期填入新的位置名稱。 -
將下列程式碼貼到內容方塊中。 此程式碼為具有不同背景影像的基本主圖橫幅:
code language-html <div class="we-HeroImage jumbotron" style="background-image: url('/content/luma/us/en/women/_jcr_content/root/hero_image.coreimg.jpeg');"> <div class="container cq-dd-image"> <div class="we-HeroImage-wrapper"> <p class="h3">New Luma Yoga Collection</p> <strong class="we-HeroImage-title h1">Be active with style </strong> <p> <a class="btn btn-primary btn-action" href="/content/luma/us/en/products.html" role="button">Shop Now</a> </p> </div> </div> </div>
-
在 目標與設定 步驟,選擇Adobe Target作為報表來源,然後 參與 > 頁面檢視 作為目標
-
儲存活動
-
如果您熟悉變更,那麼可以啟動活動。 否則,如果您想預覽體驗而不啟動,您可以複製 QA預覽URL.
-
載入Luma首頁,應該會看到變更已套用
eventType
與適用的 _experience
詳細資訊使用 sendEvent
動作。使用除錯工具進行驗證
如果您啟動活動,應該會在頁面上看到您的內容轉譯。 不過,即使沒有已上線的活動,您也可以檢視 傳送事件 網路呼叫,確認Target正在為您的自訂範圍要求內容。
-
開啟Adobe Experience Platform Debugger瀏覽器擴充功能
-
前往 Luma示範網站 並使用除錯工具 將網站上的tag屬性切換為您自己的開發屬性
-
重新載入頁面
-
選取 網路 Debugger中的工具
-
篩選依據 Adobe Experience Platform Web SDK
-
在事件列中選取第一次呼叫的值
-
請注意,底下有索引鍵
query
>personalization
和decisionScopes
具有值__view__
就像之前一樣,但現在也有一個homepage-hero
已包含範圍。 此Platform Web SDK呼叫要求Target針對使用VEC和特定homepage-hero
位置。 -
關閉覆蓋圖並選取第二個網路呼叫的事件詳細資料。 只有在Target傳回活動時,此呼叫才會出現。
-
請注意,有從Target傳回的活動和體驗的詳細資料。 此Platform Web SDK呼叫會傳送Target活動已轉譯給使用者的通知並增加曝光次數。 這是由您先前新增的自訂程式碼動作起始。
將引數傳送至Target
在本節中,您將傳遞Target特定資料,並深入瞭解XDM資料對應至Target引數的方式。
頁面(mbox)引數和XDM
所有XDM欄位都會自動傳遞至Target,如下所示 頁面引數 或mbox引數。
其中一些XDM欄位會對應至Target後端的特殊物件。 例如, web.webPageDetails.URL
將自動可用於建置以URL為基礎的鎖定目標條件,或作為 page.url
物件。
您也可以使用資料物件來新增頁面引數。
特殊引數和資料物件
有些資料點未從XDM物件對應,可能對Target有用。 這些特殊的Target引數包括:
這些引數必須傳送於 data
物件,而不是在 xdm
物件。 此外,頁面(或mbox)引數也可包含在 data
物件。
若要填入資料物件,請建立以下資料元素,重複使用在中建立的資料元素 建立資料元素 課程:
-
data.content
使用下列自訂程式碼:code language-javascript var data = { __adobe: { target: { "entity.id": _satellite.getVar("product.productInfo.sku"), "entity.name": _satellite.getVar("product.productInfo.title"), "profile.loggedIn": _satellite.getVar("user.profile.attributes.loggedIn"), "user.categoryId": _satellite.getVar("product.category") } } } return data;
更新頁面載入規則
在XDM物件之外傳遞Target的其他資料需要更新任何適用的規則。 在此範例中,您唯一必須做的修改就是加入新的 data.content 資料元素至一般頁面載入規則和產品頁面檢視規則。
-
開啟
all pages - library loaded - send event - 50
規則 -
選取
Adobe Experience Platform Web SDK - Send event
動作 -
新增
data.content
資料元素至資料欄位 -
儲存您的變更並將組建組建至程式庫
data
未在所有頁面型別中完全填入的物件。 標籤會適當地處理這種情況,並省略具有未定義值的索引鍵。 例如, entity.id
和 entity.name
除了產品詳細資料外,不會在任何頁面上傳遞。分割Personalization和Analytics請求
Luma網站上的資料層完全定義在標籤內嵌程式碼之前。 這可讓我們使用單一呼叫,來擷取個人化內容(例如從Adobe Target)並傳送分析資料(例如傳送到Adobe Analytics)。
不過,在許多網站上,資料層的載入時間不夠早,或速度不夠快,無法同時針對兩個應用程式使用單一呼叫。 在這些情況下,您可以使用兩個 傳送事件 動作會在單一頁面上載入,並使用第一個用於個人化,第二個用於分析。 以這種方式分組事件可讓個人化事件儘早引發,同時等待資料層完全載入後再傳送Analytics事件。 這類似於許多Web SDK前期的實作,Adobe Target會在實作中引發 target-global-mbox
在頁面頂端,Adobe Analytics會引發 s.t()
呼叫頁面底部的
若要建立最上方個人化請求:
-
開啟
all pages - library loaded - send event - 50
規則 -
開啟 傳送事件 動作
-
選取 使用引導式事件 然後選取 要求個人化
-
這樣會鎖定 型別 作為 決策主張擷取
若要建立analytics-on-bottom請求:
- 建立名為的新規則
all pages - page bottom - send event - 50
- 將事件新增至規則。 使用 核心 擴充功能與 頁面底部 事件型別
- 將動作新增至規則。 使用 Adobe Experience Platform Web SDK 擴充功能和 傳送事件 動作型別
- 選取 使用引導式事件 然後選取 收集分析
- 這樣會鎖定 包含擱置的顯示通知 核取方塊已選取,以便傳送決策請求中的佇列顯示通知。
使用除錯工具進行驗證
現在規則已更新,您可以使用Adobe Debugger驗證資料是否正確傳遞。
-
導覽至 Luma示範網站 並使用電子郵件登入
test@adobe.com
和密碼test
-
導覽至產品詳細資料頁面
-
開啟Adobe Experience Platform Debugger瀏覽器擴充功能,並 將tag屬性切換為您自己的開發屬性
-
重新載入頁面
-
選取 網路 Debugger中的工具並篩選依據 Adobe Experience Platform Web SDK
-
在事件列中選取第一次呼叫的值
-
請注意,底下有索引鍵
data
>__adobe
>target
其中會填入產品、類別和登入狀態的相關資訊。
在Target介面中驗證
接下來,檢視Target介面,確認已收到資料,且資料可用於對象和活動。 XDM資料會自動對應至自訂Target引數。 您可以驗證Target已收到XDM資料,並且可以透過建立受眾來使用。
-
開啟 Adobe Target
-
導覽至 受眾 區段
-
建立受眾並選擇 自訂 屬性型別
-
搜尋 引數 欄位
web
. 下拉式功能表應該會填入與網頁詳細資料相關的所有XDM欄位。
接下來,驗證已成功傳遞登入狀態設定檔屬性。
-
選擇 訪客資料 屬性型別
-
搜尋
loggedIn
. 如果下拉式選單中有屬性,表示該屬性已正確傳遞至Target。 新屬性可能需要幾分鐘的時間才能在Target UI中使用。
如果您有Target Premium,也可以驗證實體資料是否正確傳遞,以及產品資料是否已寫入Recommendations產品目錄。
-
導覽至 Recommendations 區段
-
選取 目錄搜尋 在左側導覽列中
-
搜尋您先前在Luma網站上造訪的產品SKU或產品名稱。 產品應顯示在產品目錄中。 新產品可能需要幾分鐘的時間才能在Recommendations產品目錄中搜尋。
使用保證進行驗證
此外,您可以視情況使用「保證」,確認Target決策請求取得正確的資料,且任何伺服器端轉換皆正確發生。 您也可以確認Adobe Analytics呼叫中包含促銷活動和體驗資訊,即使Target決策和Adobe Analytics呼叫已分別傳送亦然。
-
開啟 保證
-
啟動新的保證工作,輸入 工作階段名稱 並輸入 基礎url 針對您的網站或您正在測試的任何其他頁面
-
按一下 下一個
-
選取您的連線方法,在此案例中,我們將使用 複製連結
-
複製連結並貼到新的瀏覽器標籤中
-
按一下 完成
-
您的保證工作階段啟動後,您會看到事件標籤中填入的事件
-
依「tnta」篩選
-
選取最近的呼叫並展開訊息,以確定其是否正確填入並記下「tnta」值
-
接著,保留「tnta」篩選,並選取analytics.mapping事件(在我們剛才檢視的目標事件之後發生)。
-
檢查「context.mappedQueryParams」。<yourschemaname>「值」以確認其包含「tnta」屬性,該屬性具有符合在先前目標事件中找到的相符串連字串。
這可確認當我們進行目標決策呼叫時,在頁面上稍後觸發分析追蹤呼叫時,已佇列以供稍後傳輸的A4T資訊已正確傳送。
現在您已完成本課程,應該就能使用Platform Web SDK有效實作Adobe Target。