setConsent
setConsent
命令會通知Web SDK是否應傳送資料(選擇加入)、捨棄資料(選擇退出)或使用defaultConsent
(同意不明)。
Web SDK支援下列標準:
-
Adobe標準:同時支援1.0和2.0標準。
-
IAB透明與同意架構:若您使用此標準,若您的實作已正確設定,訪客的即時客戶設定檔會以同意資訊更新:
- XDM個別設定檔結構描述包含IAB TCF 2.0同意欄位群組。
- 體驗事件結構描述包含IAB TCF 2.0同意欄位群組。
- 您在事件XDM物件中包含IAB同意資訊。 Web SDK在傳送事件資料時不會自動包含同意資訊。
使用此命令後,Web SDK會將使用者的偏好設定寫入Cookie。 下次使用者在瀏覽器中載入您的網站時,SDK會擷取這些儲存的偏好設定,以判斷事件是否可以傳送給Adobe。
Adobe建議您將「同意」對話方塊偏好設定與Web SDK同意分開儲存。 Web SDK並未提供擷取同意的方式。 若要確保使用者偏好設定保持與SDK同步,您可以在每次載入頁面時呼叫setConsent
命令。 Web SDK只會在同意變更時進行伺服器呼叫。
將defaultConsent
與setConsent
一起使用 using-consent
Web SDK提供兩種互補的同意設定命令:
defaultConsent
:這個命令的用意是擷取使用Web SDK的Adobe客戶的同意偏好設定。setConsent
:這個命令的用意是擷取網站訪客的同意偏好設定。
搭配使用時,這些設定可能會產生不同的資料收集和Cookie設定結果,具體取決於其設定的值。
請參閱下表以瞭解何時進行資料收集,以及何時根據同意設定設定Cookie。
in
in
in
out
in
pending
in
pending
out
pending
out
in
out
out
out
同意設定允許時,將會設定下列Cookie:
s_ecid=MCMID|<ECID>
。使用Web SDK標籤擴充功能設定同意
在Adobe Experience Platform資料收集標籤介面的規則中,將同意設定為動作。
- 使用您的Adobe ID憑證登入experience.adobe.com。
- 導覽至 資料彙集 > 標籤。
- 選取所需的標籤屬性。
- 導覽至 規則,然後選取所要的規則。
- 在動作下,選取現有動作或建立動作。
- 將擴充功能下拉式欄位設定為 Adobe Experience Platform Web SDK,並將動作型別設定為 設定同意。
- 在右側設定所要的欄位,包括 標準 和 一般同意。
- 按一下 保留變更,然後執行您的發佈工作流程。
您可以在此動作中包含多個同意物件。
使用Web SDK JavaScript資料庫設定同意
呼叫Web SDK的已設定執行個體時執行setConsent
命令。 您可以在此命令中包含下列物件:
consent[]
:consent
物件的陣列。 根據您選擇的標準和版本,同意物件的格式會有所不同。 視同意標準而定,請參閱下方標籤以取得每個同意物件的範例。identityMap
:控制如何產生ECID以及哪些ID同意資訊繫結的物件。 Adobe建議在setConsent
在其他命令(例如sendEvent
)之前執行時包含此物件。edgeConfigOverrides
:包含資料流組態的物件會覆寫。
Adobe2.0標準consent
物件
如果您使用Adobe Experience Platform,則需要在設定檔結構描述中加入隱私權結構描述欄位群組。 如需Adobe2.0標準的詳細資訊,請參閱Adobe Experience Platform中的治理、隱私權和安全性。 您可以在對應於同意和偏好設定設定檔欄位群組consents
欄位之結構描述的下方值物件中新增資料。
-
standard
:您選擇的同意標準。 針對Adobe2.0標準設定此屬性為"Adobe"
。 -
version
:代表同意標準版本的字串。 針對Adobe2.0標準設定此屬性為"2.0"
。 -
value
:包含同意值的物件。value.collect.val
:同意值。 當使用者選擇加入時,將此項設為"y"
,而當使用者選擇退出時,則設為"n"
。value.metadata.time
:使用者上次更新其同意設定的時間戳記。
code language-js |
---|
|
iab TCF 2.0標準consent
物件
若要記錄透過Interactive Advertising Bureau Europe (IAB) Transparency and Consent Framework (TCF)標準提供的使用者同意偏好設定,請設定同意字串,如下所示。
以這種方式設定同意時,即時客戶設定檔會更新同意資訊。 為了讓此功能發揮作用,設定檔XDM結構描述需要包含設定檔隱私權結構描述欄位群組。 傳送事件時,需要手動將IAB同意資訊新增至事件XDM物件。 Web SDK不會自動在事件中包含同意資訊。
若要在事件中傳送同意資訊,您必須將體驗事件隱私權欄位群組新增至已啟用Profile的XDM ExperienceEvent結構描述。 請參閱資料集準備指南中有關更新ExperienceEvent結構描述的章節,以瞭解如何設定此內容的步驟。
standard
:您選擇的同意標準。 針對IAB TCF 2.0標準將此屬性設定為"IAB TCF"
。version
:代表同意標準版本的字串。 針對IAB TCF 2.0標準將此屬性設定為"2.0"
。value
:包含同意值的字串。gdprApplies
:判斷GDPR是否適用於此同意值的布林值。 其預設值為true
。gdprContainsPersonalData
:布林值,可判斷與此使用者關聯的事件資料是否包含個人資料。 其預設值為false
。
code language-js |
---|
|
Adobe1.0標準consent
物件
standard
:您選擇的同意標準。 針對Adobe1.0標準設定此屬性為"Adobe"
。version
:代表同意標準版本的字串。 針對Adobe1.0標準設定此屬性為"1.0"
。value.general
:同意值。 當使用者選擇加入時,將此項設為"in"
,而當使用者選擇退出時,則設為"out"
。
code language-js |
---|
|
在一個請求中傳送多個標準 multiple-standards
Web SDK也支援在要求中傳送多個同意物件,如下列範例所示。
alloy("setConsent", {
consent: [{
standard: "Adobe",
version: "2.0",
value: {
collect: {
val: "y"
},
metadata: {
time: "2021-03-17T15:48:42-07:00"
}
}
}, {
standard: "IAB TCF",
version: "2.0",
value: "CO1Z4yuO1Z4yuAcABBENArCsAP_AAH_AACiQGCNX_T5eb2vj-3Zdt_tkaYwf55y3o-wzhhaIse8NwIeH7BoGP2MwvBX4JiQCGBAkkiKBAQdtHGhcCQABgIhRiTKMYk2MjzNKJLJAilsbe0NYCD9mnsHT3ZCY70--u__7P3fAwQgkwVLwCRIWwgJJs0ohTABCOICpBwCUEIQEClhoACAnYFAR6gAAAIDAACAAAAEEEBAIABAAAkIgAAAEBAKACIBAACAEaAhAARIEAsAJEgCAAVA0JACKIIQBCDgwCjlACAoAAAAA.YAAAAAAAAAAA",
gdprApplies: true
}]
});
同意偏好設定的持續性 persistence
使用setConsent
命令將使用者偏好設定傳達Web SDK後,SDK會儲存使用者對Cookie的偏好設定。 下次使用者在瀏覽器中載入您的網站時,Web SDK將會擷取並使用這些儲存的偏好設定來判斷是否可將事件傳送到Adobe。
您需要單獨儲存使用者偏好設定,才能顯示同意對話方塊與目前的偏好設定。 無法從Web SDK擷取使用者偏好設定。 若要確保使用者偏好設定保持與SDK同步,您可以在每次載入頁面時呼叫setConsent
命令。 只有在偏好設定已變更時,Web SDK才會進行伺服器呼叫。
在設定同意時同步身分 sync-identities
當預設同意(透過defaultConsent引數設定)設定為pending
或out
時,setConsent
設定可能是第一個發出並建立身分的要求。 因此,在第一個要求上同步身分識別可能很重要。 您可以新增身分對應至setConsent
命令,就像在sendEvent
命令上一樣。 請參閱使用identityMap,以取得如何在命令中包含身分對應的範例。