Leading Consent Management Platform

Compliant with GDPR, CCPA, COPPA, LGPD, PECR, PDPA, PIPEDA, and more.

自定义用途

自定义用途允许您定义超出标准 IAB TCF 用途和 Google Consent Mode 类型的自定义同意用途。它们会显示在同意界面中,与 TCF 同意分开存储,并且可以通过 JavaScript API 查询或与 UnicScript 标签加载配合使用。

设置自定义用途

1. 启用自定义用途

  1. 登录 UniConsent 控制面板。
  2. 导航至 同意收集 -> 同意管理器,选择您的网站。
  3. 进入 步骤 4:高级功能。
  4. 将 启用自定义用途 切换为开启。
  5. 点击 保存更改。

2. 定义自定义用途

  1. 启用后,将出现一个新的 自定义用途 选项卡。
  2. 点击 自定义用途 选项卡。
  3. 点击 添加自定义用途 创建新用途。
  4. 填写:
    • 语言:选择您要编辑的语言。英语是默认语言。您可以为项目支持的其他语言添加名称和描述的翻译。
    • ID:仅使用小写字母、数字和下划线的唯一标识符字符串(例如 custom_analytics、ab_testing、newsletter_tracking)。空格会自动转换为下划线。此 ID 用于存储、dataLayer、标签加载和 API 查询。
    • 名称:在同意界面中向用户显示的名称(例如"自定义分析")。编辑非默认语言时,英文名称会作为占位符显示。
    • 描述:用户点击用途时显示的详细说明。编辑非默认语言时,英文描述会作为占位符显示。
  5. 点击 保存更改,然后 发布 以部署。

您可以添加多个自定义用途,每个用途必须有唯一的 ID。

3. 多语言支持

自定义用途支持多语言翻译。添加翻译的步骤:

  1. 打开现有的自定义用途或创建新的用途。
  2. 使用表单顶部的 语言 下拉菜单切换语言。
  3. 为每种语言输入翻译后的 名称 和 描述。
  4. 用途 ID 在所有语言中保持不变。
  5. 如果某种语言未提供翻译,将使用英语(默认)文本。

自定义用途的工作原理

  • 自定义用途与标准用途一起显示在同意界面中。用户可以单独切换每个用途。
  • 同意状态存储在单独的存储键(__unic_custom_consent)中,独立于 TCF 同意字符串和 Google Consent Mode。
  • 当用户点击"全部同意"时,所有自定义用途都会被授权。当用户点击"全部拒绝"时,所有用途都会被拒绝。
  • 自定义用途适用于所有法律框架:GDPR、TCF Canada、CCPA、US State Privacy、简单模式(EZ)、LGPD、PIPL 和 POPIA。

JavaScript API

查询自定义同意状态

使用 getCustomConsent 获取所有自定义用途的当前同意状态:

__tcfapi('getCustomConsent', 2, function(data, success) {
  if (success) {
    console.log(data);
    // 示例输出:{ "custom_analytics": true, "ab_testing": false }
  }
});

或使用 __unicapi 别名:

__unicapi('getCustomConsent', 2, function(data, success) {
  if (success) {
    if (data['custom_analytics']) {
      // 自定义分析同意已授权
    }
  }
});

通过 DataLayer 访问

自定义用途同意状态以 UNIC_CP_{id} 的形式推送到 dataLayer:

(function waitCMP() {
  var readyCMP;
  if (!readyCMP && window['dataLayer']) {
    window['dataLayer'].forEach(function(event) {
      if (event['event'] === 'unic_data') {
        readyCMP = 1;
        console.log(event['UNIC_CP_custom_analytics']); // true 或 false
        console.log(event['UNIC_CP_ab_testing']);        // true 或 false
      }
    });
  }
  if (!readyCMP) {
    setTimeout(waitCMP, 100);
  }
})();

UnicScript 标签加载

您可以使用 unic-cp-id 和 unic-cp-ids 属性,根据自定义用途的同意状态有条件地加载脚本和 iframe。

加载单个自定义用途的脚本

<script type="text/unicscript" unic-cp-id="custom_analytics">
  console.log('自定义分析同意已授权');
</script>

加载外部脚本

<script type="text/unicscript" unic-cp-id="custom_analytics" src="https://example.com/analytics.js"></script>

加载多个自定义用途的脚本

所有指定的用途都必须获得同意才能加载脚本:

<script type="text/unicscript" unic-cp-ids="custom_analytics,ab_testing">
  console.log('两个自定义用途均已同意');
</script>

加载自定义用途的 Iframe

<iframe
  data-unicscript
  unic-cp-id="custom_analytics"
  width="560"
  height="315"
  data-src="https://example.com/widget"
  frameborder="0"
></iframe>

敏感自定义目的(美国)

当自定义目的处理敏感个人信息(例如健康、精确位置或生物识别数据)时,请在其设置中将其标记为 Sensitive Data (US)。对于美国访客:

  • 该目的保持关闭,直到访客在设置页面中开启。接受横幅不会开启它,美国退出会关闭它。
  • 设置页面会在 Limit the Use of My Sensitive Personal Information 下列出它,横幅链接显示为 Your Privacy Choices。
  • 选择一个 GPP Sensitive Category,即可在 IAB GPP 的 US National 部分以及包含该类别的每个美国州部分中发送该选择。

在美国以外,敏感目的与其他自定义目的相同。

Google Tag Manager 集成

在 GTM 中,您可以使用 dataLayer 变量 UNIC_CP_{id} 创建基于自定义用途同意的触发器:

  1. 在 GTM 中创建一个 数据层变量,名称为 UNIC_CP_custom_analytics。
  2. 创建一个 触发器,当 UNIC_CP_custom_analytics 等于 true 时触发。
  3. 将触发器附加到您要控制的标签上。

存储

自定义同意数据存储在 localStorage(Web)或原生键值存储(移动应用)中的 __unic_custom_consent 键下。格式为:

{
  "custom_analytics": true,
  "ab_testing": false
}

当用户通过 CMP 重置同意时,自定义同意数据会被清除。

还有问题?

联系我们:support@uniconsent.com

掌握隐私与同意管理的最新动态

隐私法规、同意管理与合规动态,每月几封邮件。

无垃圾邮件,可随时退订。 隐私