1

我正在尝试设置 Prebid 以向 SSP 发送 GDPR 同意值。我已经实现了 CMP,但在控制台中我可以看到 Prebid 只是忽略了它

警告:找不到 CMP。根据同意管理配置在没有同意数据的情况下恢复拍卖。不明确的

我不知道为什么 Prebid 不识别 CMP,它符合 IAB,所以一切都应该没问题。我犯错的任何想法?

编辑:问题是我实施了从 prebid.org 到我的网站的设置

        pbjs.que.push(function() {
          pbjs.setConfig({
      consentManagement: {
        cmpApi: 'iab',
        timeout: 5000,
        allowAuctionWithoutConsent: true
      }
    }); 

还对现在包含许可管理适配器的 prebid.js 文件进行了更改。

脚本类型="text/javascript" src="http://testowa.epizy.com/prebid2.9.0.js" async>

我从https://github.com/adform/cmp构建了一个 digi-trust cmp,并在我的网站上实现了它。

一切看起来都很好,CMP 工作正常,我得到了同意,我可以在我的控制台中看到它。然而,Prebid 并没有看到有 CMP,它会用我之前提到的信息发出警告。

因此,即使我获得同意并看到 cookie,广告请求也没有它,因为 prebid 无法识别它。

我需要获得同意才能向 SSP 提出广告请求。

希望我让我更容易理解我的问题是什么。如果需要,我可以提供一个测试页。

4

3 回答 3

2

无论出于何种原因它无法识别 cookie,一个可能的解决方法就是将 cookie 作为静态发送:

{
  cmpApi: 'static',
  timeout: 5000,
  allowAuctionWithoutConsent: true,
  consentData: {
    getConsentData: {
      gdprApplies: true,
      hasGlobalScope: false,
      consentData: 'COOKIE CONTENT'
    },
    getVendorConsents: {
      metadata: 'COOKIE CONTENT',
      gdprApplies: true
    }
  }
}

这样,您将发送整个 cookie,因此它应该可以工作,但请注意,您需要我上面提到的所有属性(与此无关的预投标问题)。确保您验证了 cookie,只是为了确定。

于 2019-06-26T13:55:18.970 回答
1

我有同样的问题。当我在 prebid.js 库之前同步加载 CMP 脚本时,我得到了它,其中包括许可管理模块。

也改变了:allowAuctionWithoutConsent: false

于 2019-07-30T06:14:29.297 回答
1

听起来您还没有实现 __cmp 存根函数。这是您的页面上应该发生的事情:

  • 定义 window.__cmp() 函数(内联或同步)
  • 异步加载 CMP (cmp.bundle.js),它将 window.__cmp() 替换为实际的 CMP。
  • 异步加载 Prebid

Prebid.js 调用 __cmp().ping() 来查看真正的 __cmp() 是否已经加载。如果 __cmp() 根本不存在,它只是假设您尚未实施 CMP 并继续进行拍卖。

查看 DigiTrust CMP 文档的“设置脚本”一章。所需的代码也在这里: https ://github.com/InteractiveAdvertisingBureau/GDPR-Transparency-and-Consent-Framework/blob/master/CMP%20JS%20API%20v1.1%20Final.md#CMP-stub-sample

于 2019-10-07T13:47:39.307 回答