Using Google Ads and got an alert from Google? Here’s how to troubleshoot
In order to comply with Google’s updated EU Consent policy, publishers wishing to run personalized ads via Google services like Adsense are required to ensure that explicit consent to ad personalization is collected before displaying personalized ads for end-users based in the EAA (European Union member states and Iceland, Liechtenstein, and Norway).
Please note that where this requirement is not met (where consent is not collected for the personalization of ads), Google will serve your EEA end-users with non-personalized ads by default, potentially impacting your ad revenue.
View a live demo and have your questions answered in real time by attending our free english “Consent management for publishers” webinar. Discover in practice how you can meet both compliance and advertising industry requirements while ensuring that your ad-reach is maximized.
Attend our free webinarTo meet this requirement, you must give users the opportunity to consent to or reject processing for Google’s ad personalization. Thanks to our support for the Transparency and Consent Framework v2.0, our Cookie Solution makes this process fairly easy.
Google has officially integrated IAB’s Transparency and Consent Framework v2.0 and is now included on the TCF global vendor lists.
With the TCF v2.0, separate Google ad personalization settings are no longer be needed (or supported). Any related integration (i.e. googleAdsPreferenceManagement
and isGoogleNonPersonalizedAds
) should be removed.
Furthermore, please note that if you’re a publisher serving ads via Google and use the TCF, you must use the first blocking method detailed here (under “Directly blocking the vendor scripts”) in order to avoid error 2.1a (explained in detail here).
If you’d like to manually block Google’s scripts, you can also directly reference the examples here for Google AdSense and Google Publisher Tag.
You can read Google’s release on publisher integration with the IAB TCF v2.0 here.
Read our transition guide to understand all the new features and benefits that come with the new version, and what action you need to take in order to make the switch.
First of all, make sure that you have the Transparency and Consent Framework active. If the TCF is active and you’re getting a specific error, here’s how to solve some of the common error codes:
"invalidateConsentBefore": "2020-08-01"
(available in beta and current, not yet in stable), as per example here.If after applying these fixes the alert does not disappear, don’t hesitate to contact us via our live chat or email if you need any further assistance or clarification. We’re happy to help.
Our Cookie Solution also supports Google’s Additional Consent Mode, which allows you to gather consent for Google ad partners that are not yet part of the Transparency and Consent Framework but are on Google’s Ad Tech Providers (ATP) list. This feature is available via the Current channel.
Similarly to the above, you’ll have to remove any NPA (non-personalized ads, i.e. googleAdsPreferenceManagement
and isGoogleNonPersonalizedAds
) integration if you still have it in place.
To enable this feature, be sure to select the Current channel, then select the following checkbox within the Cookie Solution configurator (in some cases the checkbox will be automatically selected when you enable the TCF for the first time).
This will add "googleAdditionalConsentMode": true
to your code snippet as can be seen in the example snipped below.
<script type="text/javascript">
var _iub = _iub || [];
_iub.csConfiguration = {
"lang": "en",
"siteId": XXXXXX, //use your siteId
"cookiePolicyId": YYYYYY, //use your cookiePolicyId
"enableTcf": true, //enable IAB TCF
"tcfVersion": 2, //TCF v2.0
"googleAdditionalConsentMode": true, //enables Google's Additional Consent Mode
"banner": {
"position": "float-top-center",
"acceptButtonDisplay": true, //explicit accept button, as requested by IAB
"customizeButtonDisplay": true //explicit customize button, as requested by IAB
}
};
</script>
<script type="text/javascript" src="http://cdn.iubenda.com/cs/tcf/beta/stub-v2.js"></script>
<script type="text/javascript" src="http://cdn.iubenda.com/cs/tcf/beta/safe-tcf-v2.js"></script> <!-- add this line if you don't use prior blocking for vendor scripts -->
<script type="text/javascript" src="http://cdn.iubenda.com/cs/beta/iubenda_cs.js" charset="UTF-8" async></script>
Below you’ll find the procedure valid before Google integrated the TCF v2. Keep in mind that on since 15 August 2020 TCF v1.1 is no longer supported by IAB.
First, ensure that you’ve enabled the Cookie Solution’s IAB Advertising Preferences Management option as explained here (you can enable this feature also on Cookie Solution > Edit).
Please note that the “Request new consent” option must be enabled. You can do this by going to Cookie Solution > Edit > Advanced View and selecting the relevant setting under IAB Transparency and Consent Framework section.
Finally, make sure to enable the “Google’s ad preference management” option, adding "googleAdsPreferenceManagement": true
to your code snippet:
<script type="text/javascript">
var _iub = _iub || [];
_iub.csConfiguration = {
"lang": "en",
"siteId": XXXXXX, //use your siteId
"cookiePolicyId": YYYYYY, //use your cookiePolicyId
"enableCMP": true,
"googleAdsPreferenceManagement": true,
"banner": {
"position": "float-top-center",
"acceptButtonDisplay": true,
"customizeButtonDisplay": true
}
};
</script>
<script type="text/javascript" src="http://cdn.iubenda.com/cs/tcf/stub.js"></script>
<script type="text/javascript" src="http://cdn.iubenda.com/cs/iubenda_cs.js" charset="UTF-8" async></script>
In order to complete the installation of these settings, please ensure that you have the latest version of the code snippet embedded on your site header.
When this setting is enabled, end-users will see an additional “Google toggle” that allows them to choose between personalized or non-personalized Google ads as required.
Now, to ensure that non-personalized ads are sent when indicated by the user, you’ll need to modify your Google scripts using the following:
_iub.cs.api.isGoogleNonPersonalizedAds()
The value is set to true where consent has not been given and false where it has been given.
The function is valorized after the consent has been given.
Please note that these instructions assume that you’ve previously set up prior-blocking for these Google services and have therefore modified the scripts as referenced below.
If you’ve instead set-up prior blocking of these scripts using Google features, jump to this section.
In your Publisher Tag embed code, insert the following code snippet
<script type="text/plain" class="_iub_cs_activate">
googletag.cmd.push(function () {
googletag.pubads().setRequestNonPersonalizedAds(_iub.cs.api.isGoogleNonPersonalizedAds() ? 1 : 0);
});
</script>
between lines 16 and 17 of the After section specified here in this post.
In your Adsense Async code, insert the following code snippet
(adsbygoogle=window.adsbygoogle||[]).requestNonPersonalizedAds=_iub.cs.api.isGoogleNonPersonalizedAds() ? 1 : 0;
between lines 8 and 9 of the Asynch > After section specified here in this post.
*The example above uses only the Asynchronous tag as the Synchronous tag does not support non-personalized ads. Read more about that here.
If you’ve instead set-up prior blocking of these scripts using Google features, you can follow Google’s instructions here (under Pausing ad requests).
You’ll need to make adjustments as follows:
setRequestNonPersonalizedAds(1)
should be replaced with setRequestNonPersonalizedAds(_iub.cs.api.isGoogleNonPersonalizedAds() ? 1 : 0)
requestNonPersonalizedAds=1
should be replaced with requestNonPersonalizedAds=_iub.cs.api.isGoogleNonPersonalizedAds() ? 1 : 0
Consent to Google and its partners is collected via a single boolean toggle which works in parallel with the consent collected via the TCF as Google does not currently read TCF consents. For this reason, Google has advised the following in regards to the ATP list.
Do:
Do not:
The list can be download from Google Display Planner and then shared with SSPs – Sell Side Platform – (like FreeWheel) and alike.
If you use a static list with FreeWheel, when the Google toggle is off – meaning that consent has not been given and _iub.cs.api.isGoogleNonPersonalizedAds()
is set to true
– you’ll need to pass _fw_gdpr_consented_providers=216
in the ad request (216 is the Google id for FreeWheel).
This way you can override the hardcoded list in FreeWheel, and more assuredly indicate that consent was not collected. For implementation assistance, reach out to your FreeWheel account team.
If you prefer avoid using the TCF but still need to handle personalised/non-personalised ad requests, please contact us.