setConsent

setConsent命令會通知Web SDK是否應傳送資料(選擇加入)、捨棄資料(選擇退出)或使用defaultConsent (同意不明)。

Web SDK支援下列標準:

使用此命令後,Web SDK會將使用者的偏好設定寫入Cookie。 下次使用者在瀏覽器中載入您的網站時,SDK會擷取這些儲存的偏好設定,以判斷事件是否可以傳送給Adobe。

Adobe建議您將「同意」對話方塊偏好設定與Web SDK同意分開儲存。 Web SDK並未提供擷取同意的方式。 若要確保使用者偏好設定保持與SDK同步,您可以在每次載入頁面時呼叫setConsent命令。 Web SDK只會在同意變更時進行伺服器呼叫。

Web SDK提供兩種互補的同意設定命令:

  • defaultConsent:這個命令的用意是擷取使用Web SDK的Adobe客戶的同意偏好設定。
  • setConsent:這個命令的用意是擷取網站訪客的同意偏好設定。

搭配使用時,這些設定可能會產生不同的資料收集和Cookie設定結果,具體取決於其設定的值。

請參閱下表以瞭解何時進行資料收集,以及何時根據同意設定設定Cookie。

defaultConsent
setConsent
發生資料收集
Web SDK會設定瀏覽器Cookie
in
in
in
out
in
未設定
pending
in
pending
out
pending
未設定
out
in
out
out
out
未設定

同意設定允許時,將會設定下列Cookie:

名稱
最大年齡
說明
AMCV_###@AdobeOrg
34128000 (395天)
idMigrationEnabled啟用時出現。 當網站某些部分仍在使用visitor.js時,轉換為Web SDK會有所幫助。
Demdex Cookie
15552000 (180天)
在啟用ID同步時顯示。 Audience Manager設定此Cookie以指派唯一ID給網站訪客。 demdex Cookie可協助Audience Manger執行基本功能,例如:訪客身分識別、ID同步化、分割、模型、報告等。
kndctr_orgid_cluster
1800 (30分鐘)
儲存Edge Network區域,為目前使用者的請求提供服務。 URL路徑會使用地區,這樣Edge Network就能將請求路由至正確的地區。 如果使用者使用不同的IP位址或在不同的工作階段中連線,則請求會再次路由到最近的區域。
kndct_orgid_identity
34128000 (395天)
儲存ECID以及與ECID相關的其他資訊。
kndctr_orgid_consent
15552000 (180天)
儲存網站的使用者同意偏好設定。
s_ecid
63115200 (2年)
包含Experience CloudID (ECID)或MID的復本。 MID 儲存在遵循下列語法的機碼-值組中:s_ecid=MCMID|<ECID>

使用Web SDK標籤擴充功能設定同意

在Adobe Experience Platform資料收集標籤介面的規則中,將同意設定為動作。

  1. 使用您的Adobe ID憑證登入experience.adobe.com
  2. 導覽至​ 資料彙集 > 標籤
  3. 選取所需的標籤屬性。
  4. 導覽至​ 規則,然後選取所要的規則。
  5. 在動作下,選取現有動作或建立動作。
  6. 將擴充功能下拉式欄位設定為​ Adobe Experience Platform Web SDK,並將動作型別設定為​ 設定同意
  7. 在右側設定所要的欄位,包括​ 標準 ​和​ 一般同意
  8. 按一下​ 保留變更,然後執行您的發佈工作流程。

您可以在此動作中包含多個同意物件。

使用Web SDK JavaScript資料庫設定同意

呼叫Web SDK的已設定執行個體時執行setConsent命令。 您可以在此命令中包含下列物件:

  • consent[]consent物件的陣列。 根據您選擇的標準和版本,同意物件的格式會有所不同。 視同意標準而定,請參閱下方標籤以取得每個同意物件的範例。
  • identityMap:控制如何產生ECID以及哪些ID同意資訊繫結的物件。 Adobe建議在setConsent在其他命令(例如sendEvent)之前執行時包含此物件。
  • edgeConfigOverrides:包含資料流組態的物件會覆寫
Adobe2.0

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
// Set consent using the Adobe 2.0 standard
alloy("setConsent", {
  "consent": [{
    "standard": "Adobe",
    "version": "2.0",
    "value": {
      "collect": {
        "val": "y"
      },
      "metadata": {
        "time": "YYYY-03-17T15:48:42-07:00"
      }
    }
  }]
});
IAB TCF 2.0

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
// Set consent using the IAB TCF 2.0 standard
alloy("setConsent", {
  consent: [{
    "standard": "IAB TCF",
    "version": "2.0",
    "value": "CO052l-O052l-DGAMBFRACBgAIBAAAAABIYgEawAQEagAAAA",
    "gdprApplies": true,
    "gdprContainsPersonalData": true
  }]
});
Adobe1.0

Adobe1.0標準consent物件

  • standard:您選擇的同意標準。 針對Adobe1.0標準設定此屬性為"Adobe"
  • version:代表同意標準版本的字串。 針對Adobe1.0標準設定此屬性為"1.0"
  • value.general:同意值。 當使用者選擇加入時,將此項設為"in",而當使用者選擇退出時,則設為"out"
code language-js
// Set consent using the Adobe 1.0 standard
alloy("setConsent", {
  "consent": [{
    "standard": "Adobe",
    "version": "1.0",
    "value": {
      "general": "in"
    }
  }]
});

在一個請求中傳送多個標準 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引數設定)設定為pendingout時,setConsent設定可能是第一個發出並建立身分的要求。 因此,在第一個要求上同步身分識別可能很重要。 您可以新增身分對應至setConsent命令,就像在sendEvent命令上一樣。 請參閱使用identityMap,以取得如何在命令中包含身分對應的範例。

recommendation-more-help
ad108910-6329-42f1-aa1d-5920a2b13636