使用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中有編輯者或核准者角色。
-
如果您使用Google Chrome瀏覽器,請安裝視覺化體驗撰寫器Helper擴充功能。
-
瞭解如何在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活動的邊界。 如需詳細資訊,請參閱Target檔案的企業許可權區段。
若要設定或尋找屬性代號,請瀏覽至 Adobe Target > 管理 > 屬性。 </>
圖示會顯示實作程式碼。 at_property
值是您將在資料流中使用的屬性代號。
每個資料流只能指定一個屬性代號,但屬性代號覆寫可讓您指定替代屬性代號,以取代資料流中定義的主要屬性代號。 還需要更新sendEvent
動作以覆寫資料流。
目標環境ID
Target中的環境可協助您在開發的所有階段管理您的實作。 此選擇性設定會指定您要與每個資料流搭配使用的Target環境。
Adobe建議針對您的每個開發、測試和生產資料流分別設定不同的目標環境ID,以保持事情簡單。 或者,您可以使用主機功能,在Target介面中組織環境。
若要設定或尋找環境ID,請瀏覽至 Adobe Target > 管理 > 環境。
目標第三方ID名稱空間
此選擇性設定可讓您指定用於Target第三方ID的身分符號。 Target僅支援在單一身分符號或名稱空間上同步設定檔。 如需詳細資訊,請參閱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示範網站,然後使用偵錯工具來將網站上的標籤屬性切換為您自己的開發屬性
-
重新載入頁面
-
在偵錯工具中選取 網路 工具
-
依 Experience PlatformWeb SDK 篩選
-
在事件列中選取第一次呼叫的值
Adobe Experience Platform Debugger中的
-
請注意,
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,指出已呈現表單式活動:
-
將另一個動作新增至規則。 使用 Core 擴充功能和 自訂程式碼 動作型別:
-
貼上下列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首頁幾次,應該足以在Target介面中註冊新的
homepage-hero
決定範圍。
使用表單式體驗撰寫器設定Target活動
現在您有了手動呈現自訂決定範圍的規則,可以在Target中建立另一個體驗鎖定目標(XT)活動。 這次請使用表單式體驗撰寫器。
-
停用上一個課程使用的活動
-
使用表單式體驗撰寫器選項建立體驗鎖定目標(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
為每個範圍建立自己的點選追蹤,並透過sendEvent
動作包含適用的_experience
詳細資料。使用除錯工具進行驗證
如果您啟動活動,應該會在頁面上看到您的內容轉譯。 不過,即使沒有已上線的活動,您也可以檢視傳送事件網路呼叫,以確認Target正在為您的自訂範圍要求內容。
-
開啟Adobe Experience Platform Debugger瀏覽器擴充功能
-
移至Luma示範網站,然後使用偵錯工具來將網站上的標籤屬性切換為您自己的開發屬性
-
重新載入頁面
-
在Debugger中選取 網路 工具
-
依 Adobe Experience Platform Web SDK 篩選
-
在事件列中選取第一次呼叫的值
Adobe Experience Platform Debugger中的
-
請注意,
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欄位都會以頁面引數或mbox引數的形式自動傳遞至Target。
其中一些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
規則 -
開啟 傳送事件 動作
-
選取 使用引導式事件,然後選取 要求個人化
-
這會將 Type 鎖定為 決策主張擷取
若要建立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瀏覽器擴充功能,然後將標籤屬性切換為您自己的開發屬性
-
重新載入頁面
-
在Debugger中選取 網路 工具,並依 Adobe Experience Platform Web SDK 篩選
-
在事件列中選取第一次呼叫的值
-
請注意,「
data
>__adobe
>target
」底下有一些金鑰,而且這些金鑰已填入產品、類別和登入狀態的相關資訊。
在Target介面中驗證
接下來,檢視Target介面,確認已收到資料,且資料可用於對象和活動。 XDM資料會自動對應至自訂Target引數。 您可以驗證Target已收到XDM資料,並且可以透過建立受眾來使用。
-
導覽至 對象 區段
-
建立對象並選擇 自訂 屬性型別
-
搜尋
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」屬性,且串連字串符合在先前目標事件中找到的「tnta」值。
這可確認當我們進行目標決策呼叫時,在頁面上稍後觸發分析追蹤呼叫時,已佇列以供稍後傳輸的A4T資訊已正確傳送。
現在您已完成本課程,應該就能使用Platform Web SDK有效實作Adobe Target。