Compliant with GDPR, CCPA, COPPA, LGPD, PECR, PDPA, PIPEDA, and more.
自定义用途允许您定义超出标准 IAB TCF 用途和 Google Consent Mode 类型的自定义同意用途。它们会显示在同意界面中,与 TCF 同意分开存储,并且可以通过 JavaScript API 查询或与 UnicScript 标签加载配合使用。
custom_analytics、ab_testing、newsletter_tracking)。此 ID 用于存储、dataLayer、标签加载和 API 查询。您可以添加多个自定义用途,每个用途必须有唯一的 ID。
__unic_custom_consent)中,独立于 TCF 同意字符串和 Google Consent Mode。使用 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']) {
// 自定义分析同意已授权
}
}
});
自定义用途同意状态以 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);
}
})();
您可以使用 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
data-unicscript
unic-cp-id="custom_analytics"
width="560"
height="315"
data-src="https://example.com/widget"
frameborder="0"
></iframe>
在 GTM 中,您可以使用 dataLayer 变量 UNIC_CP_{id} 创建基于自定义用途同意的触发器:
UNIC_CP_custom_analytics。UNIC_CP_custom_analytics 等于 true 时触发。自定义同意数据存储在 localStorage(Web)或原生键值存储(移动应用)中的 __unic_custom_consent 键下。格式为:
{
"custom_analytics": true,
"ab_testing": false
}
当用户通过 CMP 重置同意时,自定义同意数据会被清除。