javascript - 如何使用 Quantcast Choice 根据 IAB TCF v2.0 的同意显示或阻止个性化 Adsense 广告?

标签 javascript adsense gdprconsentform

我选择 Quantcast Choice 作为我网站的同意管理平台。然而,在访问者同意相关 vendor (Google) 之前,他们的基本解决方案仍会向访问者转换 Google Adsense 广告。由于 2 天后,Adsense 中会收到确认此问题的通知,并且在 90 天的宽限期后,将不再提供广告。错误消息:“2.1a:标签或 SDK 未收到 TC 字符串,因为 CMP 状态为 stub 、加载或错误。”
我对脚本一点也不熟悉,但似乎我必须使用一些脚本才能使 Quantcast Choice 真正起作用。
基本上我需要知道如何:

  • 在访问者同意 Google
  • 之前不得转换任何 Google 广告
  • 征得同意后转换个性化广告
  • 在未经同意的情况下转换非个性化广告

  • 到目前为止我学到了什么:
    在访问者同意之前,我可以将此脚本添加到我的 Google Adsense 代码中以不显示任何广告:
    <script>(adsbygoogle=window.adsbygoogle||[]).pauseAdRequests=1;</script>
    
    到目前为止没有问题。但是,我应该能够知道访问者是否已同意 vendor Google。 Google 在 TCF v2.0 中的 vendor ID 是 755。我在 Quantcast 页面之一上发现了以下代码和文本的混合,但我不知道如何使用它。我应该把它放在我的网页上的 Quantcast Choice 脚本中还是...? (来源链接如下)
    {{QC - __cmpConsents.iabVendorConsentIds}} matches the regular expression (^|,)755(,|$).
    
    因此,如果找到 ID 755,我应该调用:
    (adsbygoogle=window.adsbygoogle||[]).pauseAdRequests=0
    
    如果找不到 ID 755,我应该调用:
    (adsbygoogle=window.adsbygoogle||[]).requestNonPersonalizedAds=1
    (adsbygoogle=window.adsbygoogle||[]).pauseAdRequests=0
    
    但是我该如何做这些“电话”呢?
    所以我想我理解要遵循的步骤,只是我不知道如何实现这些步骤并连接点。任何帮助将非常感激!
    我用过的来源:
  • https://support.google.com/adsense/answer/9042142
  • https://help.quantcast.com/hc/en-us/articles/360051794434

  • 似乎可以实现我想要实现的网站示例:carscoops.com

    最佳答案

    我会推荐一个非常简单的解决方案。使用 TCF 2.0,您不必根据给定的同意手动配置 Adsense 参数(个性化广告等)。您只需保证,在成功加载同意后开始加载广告。 Adsense 库自动读取同意字符串并根据给定的同意显示广告。
    将 Quantcast Choices 与 Adsense 集成的示例代码:

    <!-- Quantcast Choice. Consent Manager Tag v2.0 (for TCF 2.0) -->
    ...
    <!-- End Quantcast Choice. Consent Manager Tag v2.0 (for TCF 2.0) -->
    
    <script>
    __tcfapi('addEventListener', 2, function(tcData, success) {
        if (success) {
            if (tcData.eventStatus == 'useractioncomplete' || tcData.eventStatus == 'tcloaded') {
                var hasStoreOnDeviceConsent = tcData.purpose.consents[1] || false;
    
                if (hasStoreOnDeviceConsent) {
                    var adsbygoogle_script = document.createElement('script');
                    adsbygoogle_script.src = 'https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js';
                    document.head.appendChild(adsbygoogle_script);
                }
            }
        }
    });
    </script>
    

    关于javascript - 如何使用 Quantcast Choice 根据 IAB TCF v2.0 的同意显示或阻止个性化 Adsense 广告?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63440572/

    相关文章:

    javascript - 为什么与 moment.js 比较时间失败?

    javascript - 退出当前调用堆栈 Javascript

    amp-html - 如何让 AMP Cookie 同意模式对话框背景正常工作?

    cookies - 开始使用 Google Funding Choices 后,网站会分发一个奇怪的 "FCCDCF"cookie,破坏其他网站

    javascript - 带有 JS 装饰器(第 3 阶段)和 Babel 的 NodeJS JavaScript 项目不起作用

    javascript - 如何增加 Firestore 中的字段?

    android - RecyclerView 重新附加所有 View ,ViewHolder 中的 PublisherAdView 闪烁(重新加载)。这是正常的吗?我怎样才能避免这种广告闪烁?

    html - 在图像上重叠 Google Adsense

    javascript - 如何识别是否提交了Google Adsense代码?