Compliant with GDPR, CCPA, COPPA, LGPD, PECR, PDPA, PIPEDA, and more.
UniConsent CMP 支持全球隐私平台(GPP),该平台允许数字广告行业的广告商、发布商和技术供应商遵守各个市场的法规要求。GPP 协议简化了隐私、同意和消费者选择信号从站点和应用程序传输到广告技术提供商的过程。IAB Tech Lab 监督 GPP 技术规范的开发。
IAB 全球隐私平台(GPP)提供了几个 API,可用于检索与各种隐私和同意框架相关的数据。这些 API 包括:
您必须在 UniConsent 控制台中启用 GPP,才能使用 GPP API 1.1。
GPP API 1.1 已移除 getGPPData 命令,您可以从 ping 命令的响应中获取 GPP 数据。从 GPP 1.1 开始,只能通过回调函数获取 GPP API 的响应。为兼容旧的集成,UniConsent 仍会通过回调响应 getGPPData,但新的集成应使用 ping 或 addEventListener。
获取 GPP 同意数据的可靠方式是使用 addEventListener 回调。它不要求 CMP 标签已加载,也不要求页面上的 GPP API 已就绪,是获取当前同意状态的推荐方式。
__gpp("addEventListener", (data, success) => {
if (success && data.pingData && data.pingData.signalStatus === 'ready') {
console.log(data);
// 只需获取一次数据时移除监听器
__gpp('removeEventListener', () => {}, data.listenerId);
}
});
__gpp("ping", function (data, success) {
console.log(data);
});
// 响应
{
"gppVersion": "1.1",
"cmpStatus": "loaded",
"cmpDisplayStatus": "hidden",
"signalStatus": "ready",
"supportedAPIs": ["2:tcfeuv2","5:tcfcav1","6:uspv1","7:usnat","8:usca","9:usva","10:usco","11:usut","12:usct","13:usfl","14:usmt","15:usor","16:ustx","17:usde","18:usia","19:usne","20:usnh","21:usnj","22:ustn","23:usmn","24:usmd","25:usin","26:usky","27:usri"],
"cmpId":68,
"sectionList":[2,6],
"applicableSections":[2,6],
"gppString":"xxxx",
"parsedSections": {"xxx": "xxx"},
}
此 API 检查 GPP 数据对象中是否存在特定部分。要检查 IAB EU TCF v2 部分是否存在,可以使用以下命令:
__gpp("hasSection", function (data, success) {
console.log(data, success);
}, 'tcfeuv2');
此 API 检索 GPP 数据对象中的特定部分。要检索 IAB EU TCF v2 部分,可以使用以下命令:
__gpp("getSection", function (data, success) {
console.log(data, success);
}, 'tcfeuv2');
此 API 检索 GPP 数据对象部分中的特定字段。要检索 IAB EU TCF v2 的已同意供应商 ID 列表,可以使用以下命令:
__gpp("getField", function (data, success) {
console.log(data, success);
}, 'tcfeuv2.VendorConsents');
对于美国访客,UniConsent 会发送美国全国部分(usnat),对于拥有独立 GPP 部分的州,还会发送该州的部分:加利福尼亚州(usca)、弗吉尼亚州(usva)、科罗拉多州(usco)、犹他州(usut)、康涅狄格州(usct)、佛罗里达州(usfl)、蒙大拿州(usmt)、俄勒冈州(usor)、得克萨斯州(ustx)、特拉华州(usde)、艾奥瓦州(usia)、内布拉斯加州(usne)、新罕布什尔州(usnh)、新泽西州(usnj)、田纳西州(ustn)、明尼苏达州(usmn)、马里兰州(usmd)、印第安纳州(usin)、肯塔基州(usky)和罗得岛州(usri)。
请在 hasSection、getSection 和 getField 中使用上述部分名称。usnatv1 或 uscav1 等旧名称不属于 GPP 规范,不会返回数据。
__gpp("getField", function (data, success) {
console.log(data, success); // 1 = 已选择退出,2 = 未选择退出
}, 'usnat.SaleOptOut');
当美国访客的浏览器发送全球隐私控制(GPC)信号时,UniConsent 会自动记录对出售、共享和定向广告的退出选择,并在包含该字段的部分中将 Gpc 设为 true。即使未启用任何美国隐私选项,此规则同样适用。此时网站的标签仍会加载,分析功能保持开启:只有个性化广告会停止(Google Consent Mode 的 ad_user_data 和 ad_personalization 设为拒绝)。如果访客之后在横幅中保存了选择,则以该选择为准,优先于 GPC。在 同意类别横幅中,GPC 会关闭“定向或广告”类别,直到访客保存选择。GPC 不会改变欧盟或加拿大的 IAB TCF 同意。
请在 UniConsent 控制台的 US State Privacy and GPP 中选择适用的州、GPP 部分以及您的 MSPA 状态。
仅启用 CCPA 时,UniConsent 会发送 US Privacy 部分(uspv1),同时发送 usnat,对加利福尼亚访客还会发送 usca,三者都使用相同的 CCPA 选择。IAB 已于 2024 年 1 月弃用 US Privacy 字符串,因此 GPP 读取方可以使用 usnat 和 usca,而 uspv1 和 __uspapi 仍为旧合作伙伴保留。
Uncaught TypeError: p is not a function
at window.__gpp_stub (stub.min.js:3:519)
从 GPP 1.1 开始,只能通过回调函数获取 GPP API 的响应。请将您的集成升级为使用 GPP 1.1 API。
GPP 1.0 命令会直接返回结果,并接受以 null 代替回调。这些写法已不再返回数据,请使用上面的 GPP 1.1 写法。为兼容旧的集成,getGPPData 仍可通过回调使用:
__gpp('getGPPData', function (data, success) {
console.log(data);
});
此 API 用于检查 GPP 数据对象中是否存在某个部分。以前使用以下命令检查是否存在 IAB EU TCF v2 部分:
__gpp('hasSection', null, 'tcfeuv2')
此 API 用于获取 GPP 数据对象中的某个部分。以前使用以下命令获取 IAB EU TCF v2 部分:
__gpp('getSection', null, 'tcfeuv2')
此 API 用于获取 GPP 数据对象某个部分中的字段。以前使用以下命令获取已同意 IAB EU TCF v2 的供应商 ID 列表:
__gpp('getField', null, 'tcfeuv2.VendorConsents')
__gpp('getField', null, 'tcfeuv2.VendorLegitimateInterests')
这些 API 允许检索与各种隐私和同意框架相关的重要数据,广告商、发布商和数字广告行业的技术供应商可以利用这些数据来适应各个市场的法规要求。IAB Tech Lab 负责这些技术规范的开发。
全球隐私平台(GPP)API和IAB TCF EU v2 API 都旨在使其符合欧盟 TCF 框架,但它们在以下方面存在差异:
范围:GPP API 是一个单一的协议,旨在简化从站点和应用程序向全球广告技术提供商传递隐私、同意和消费者选择信号的过程。另一方面,IAB TCF EU v2 API 专门设计用于传递与欧盟 TCF 框架相关的信号。
管理:GPP 协议由 IAB Tech Lab 监督,该实体还负责监督 IAB TCF EU v2 API。然而,GPP 协议涵盖了欧盟 TCF 以外的其他技术规范,而 IAB TCF EU v2 API 仅专注于欧盟 TCF。
功能:GPP API 提供了超出欧盟 TCF 范围的一系列功能,例如检索 CCPA 数据,而 IAB TCF EU v2 API 仅专注于检索与欧盟 TCF 框架相关的数据。
语法:GPP API 和 IAB TCF EU v2 API 在检索数据时具有不同的语法。例如,要在 GPP 数据中检索欧盟 TCF v2 部分,使用以下命令:
__gpp('getSection', function (data, success) {
// 处理响应的代码
}, 'tcfeuv2')
而要使用 IAB TCF EU v2 API 检索相同的数据,使用以下命令:
__tcfapi('getTCData', 2, function (tcData, success) {
// 处理响应的代码
})
尽管 GPP API 和 IAB TCF EU v2 API 都旨在使其符合欧盟 TCF 框架,但 GPP API 是一个更全面的协议,旨在简化全球传递隐私、同意和消费者选择信号的过程,而 IAB TCF EU v2 API 专门设计用于传递与欧盟 TCF 框架相关的信号。