Web SDK中的身分資料
Adobe Experience Platform Web SDK使用 Adobe Experience Cloud ID (ECID) 以追蹤訪客行為。 使用ECID,您可以確保每個裝置都有唯一識別碼,此識別碼可以跨多個工作階段持續存在,繫結特定裝置在Web工作階段期間和之間發生的所有點選。
本檔案概述如何使用Platform Web SDK管理ECID。
使用SDK追蹤ECID
Platform Web SDK會使用Cookie指派及追蹤ECID,並有多種可用方法來設定這些Cookie的產生方式。
當新使用者進入您的網站時,Adobe Experience Cloud Identity Service會嘗試為該使用者設定裝置識別Cookie。 首次造訪訪訪客時,系統會在首次從Adobe Experience PlatformEdge Network回應時產生並傳回ECID。 若為重複訪客,ECID會擷取自 kndctr_{YOUR-ORG-ID}_AdobeOrg_identity
Cookie並由Edge Network新增至裝載。
在設定包含ECID的Cookie後,Web SDK產生的每個後續請求都會在 kndctr_{YOUR-ORG-ID}_AdobeOrg_identity
Cookie。
使用Cookie來識別裝置時,您有兩個選項可與Edge Network互動:
如下節所述,您選擇使用的資料收集方法會直接影響各瀏覽器的Cookie存留期。
協力廠商資料收集 third-party
第三方資料收集涉及將資料直接傳送至Edge Network網域 adobedc.net
.
近年來,網頁瀏覽器在處理第三方設定的Cookie時,限制日益嚴格。 有些瀏覽器預設會封鎖第三方Cookie。 如果您使用第三方Cookie來識別網站訪客,則這些Cookie的存留期幾乎總是比使用第一方Cookie所能提供的短。 有時第三方Cookie最快會在七天後過期。
此外,當使用第三方資料收集時,某些廣告封鎖程式會完全將流量限制在Adobe資料收集端點。
第一方資料收集 first-party
第一方資料收集涉及透過您自己的網域上的CNAME將Cookie設定為 adobedc.net
.
雖然瀏覽器長期以來以與網站擁有端點所設定類似的方式處理CNAME端點所設定的Cookie,但瀏覽器最近實作的變更對CNAME Cookie的處理方式造成差異。 雖然目前沒有瀏覽器預設會封鎖第一方CNAME Cookie,但有些瀏覽器會將使用CNAME設定的Cookie存留期限製為僅七天。
Cookie有效期限對Adobe Experience Cloud應用程式的影響 lifespans
無論您是選擇第一方還是第三方資料收集,Cookie能持續存在的時間長度會直接影響Adobe Analytics和Customer Journey Analytics中的訪客計數。 此外,在網站上使用Adobe Target或Offer Decisioning時,一般使用者可能會遇到不一致的個人化體驗。
例如,假設您已建立個人化體驗,且使用者在過去七天內檢視過任何專案三次,此體驗會將任何專案提升至首頁。
如果一般使用者一週瀏覽三次,然後七天未返回網站,則該使用者在返回網站時可視為新使用者,因為其Cookie可能已遭到瀏覽器原則刪除(取決於使用者瀏覽網站時所使用的瀏覽器)。 如果發生這種情形,您的Analytics工具會將訪客視為新使用者,即使他們剛在七天多一點前造訪網站。 此外,使用者個人化體驗的任何工作都會重新開始。
第一方裝置ID
如上所述,若要考慮Cookie有效期限的影響,您可以選擇設定並管理您自己的裝置識別碼。 請參閱以下指南: 第一方裝置ID 以取得詳細資訊。
擷取目前使用者的ECID和區域 retrieve-ecid
根據您的使用案例,有兩種方式可存取 ECID:
- 擷取 ECID 透過資料收集的資料準備:這是您應使用的建議方法。
- 擷取 ECID 透過
getIdentity()
命令:只有在您需要下列專案時才使用此方法: ECID 使用者端的資訊。
擷取 ECID 透過資料收集的資料準備 retrieve-ecid-data-prep
使用 資料收集的資料準備 對應 ECID 至 XDM 欄位。 這是存取 ECID.
要執行此操作,請將來源欄位設定為以下路徑:
xdm.identityMap.ECID[0].id
然後,將目標欄位設定為欄位型別的XDM路徑 string
.
擷取 ECID 透過 getIdentity()
命令 retrieve-ecid-getidentity
getIdentity()
命令(如果您需要 ECID 在使用者端上。 如果您只想將ECID對應至XDM欄位,請使用 資料收集的資料準備 而非。若要擷取目前訪客的唯一ECID,請使用 getIdentity
命令。 首次造訪的訪客沒有 ECID 然而,這個指令會產生 ECID. getIdentity
也會傳回訪客的地區ID。
alloy("getIdentity")
.then(function(result) {
// The command succeeded.
console.log("ECID:", result.identity.ECID);
console.log("RegionId:", result.edge.regionId);
})
.catch(function(error) {
// The command failed.
// "error" will be an error object with additional information.
});
使用 identityMap
using-identitymap
使用XDM identityMap
欄位,您可使用多個識別碼來識別裝置/使用者、設定其驗證狀態,並決定要將哪個識別碼視為主要識別碼。 如果尚未將任何識別碼設為 primary
,則主要預設為 ECID
.
identityMap
欄位更新使用 sentEvent
命令。
alloy("sendEvent", {
xdm: {
"identityMap": {
"ID_NAMESPACE": [ // Notice how each namespace can contain multiple identifiers.
{
"id": "1234",
"authenticatedState": "authenticated",
"primary": true
}
]
}
}
});
CRMID
,作為主要身分。內的每個屬性 identityMap
代表屬於特定身分識別 身分名稱空間. 屬性名稱應為身分名稱空間符號,您可以在「 」下方的Adobe Experience Platform使用者介面中找到身分「。 屬性值應該是屬於該身分名稱空間的身分陣列。
identityMap
區分大小寫。 請務必使用正確的名稱空間ID,以避免不完整的資料收集。身分陣列中的每個身分物件包含下列屬性:
id
authenticationState
ambiguous
, authenticated
、和 loggedOut
.primary
false
.使用 identityMap
識別裝置或使用者的欄位會產生與使用相同的結果 setCustomerIDs
來自的方法 ID Service API. 請參閱 ID服務API檔案 以取得更多詳細資料。
從訪客API移轉至ECID
從使用訪客API移轉時,您也可以移轉現有的AMCV Cookie。 若要啟用ECID移轉,請設定 idMigrationEnabled
引數來設定。 ID移轉可啟用下列使用案例:
- 當網域的某些頁面使用訪客API,而其他頁面使用此SDK時。 為了支援此情況,SDK會讀取現有的AMCV Cookie,並使用現有的ECID寫入新的Cookie。 此外,SDK會寫入AMCV Cookie,如此一來,如果先在使用SDK檢測的頁面上取得ECID,則使用訪客API檢測的後續頁面將具有相同的ECID。
- 在也具有Visitor API的頁面上設定Adobe Experience Platform Web SDK時。 為了支援此情況,如果未設定AMCV Cookie,SDK會在頁面上尋找訪客API,並呼叫它以取得ECID。
- 當整個網站使用Adobe Experience Platform Web SDK且沒有訪客API時,移轉ECID以便保留傳回的訪客資訊會很有用。 透過部署SDK後
idMigrationEnabled
一段時間後,大部分的訪客Cookie都會經過移轉,因此您可以關閉此設定。
更新要移轉的特徵
將XDM格式資料傳送到Audience Manager時,移轉時必須將此資料轉換為訊號。 必須更新您的特徵,以反映XDM提供的新索引鍵。 此程式透過使用 BAAAM工具 該Audience Manager已建立。
用於事件轉送
如果您目前擁有 事件轉送 已啟用且正在使用 appmeasurement.js
和 visitor.js
,即可讓事件轉送功能保持啟用,這不會造成任何問題。 在後端,Adobe會擷取任何AAM區段,並將其新增至Analytics呼叫。 如果對Analytics的呼叫包含這些區段,Analytics將不會呼叫Audience Manager來轉送任何資料,因此不會有任何雙重資料收集。 使用Web SDK時也不需要位置提示,因為後端會呼叫相同的區段端點。