首页 > 解决方案 > 如何使用 Quantcast Choice 根据 IAB TCF v2.0 的同意显示或阻止个性化 Adsense 广告?

问题描述

我选择 Quantcast Choice 作为我网站的同意管理平台。然而,在访问者同意相关供应商 (Google) 之前,他们的基本解决方案仍会向访问者投放 Google Adsense 广告。由于 2 天后,Adsense 中会收到确认此问题的通知,并且在 90 天的宽限期后将不再提供广告。错误消息:“ 2.1a:标签或 SDK 未收到 TC 字符串,因为 CMP 状态为存根、加载或错误。

我对脚本一点也不熟悉,但似乎我必须使用一些脚本才能使 Quantcast Choice 真正起作用。基本上我需要知道如何:

到目前为止我学到了什么:

在访问者同意之前,我可以将此脚本添加到我的 Google Adsense 代码中以不显示任何广告:

<script>(adsbygoogle=window.adsbygoogle||[]).pauseAdRequests=1;</script>

到目前为止没有问题。但是,我应该能够知道访问者是否已同意供应商 Google。Google 在 TCF v2.0 中的供应商 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

但是我该如何做这些“电话”呢?

所以我想我理解要遵循的步骤,只是我不知道如何实施这些步骤并连接点。任何帮助将非常感激!

我用过的来源:

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

标签: javascriptadsensegdprconsentform

解决方案


我会推荐一个非常简单的解决方案。使用 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>

推荐阅读