EU user consent policy

Ad code examples for ads personalisation settings

If you've met the requirements of our Consent Policy and you want to serve non-personalised ads to all users located in the European Economic Area who visit your site, no changes to your ad tagging are needed. You can enable non-personalised ad serving in the AdSense or Google Ad Manager UIs.

However, if you have specific requirements, for example, you want to serve some users personalised ads and other users non-personalised ads, you might want to consult the examples below.

Note that the following code samples are not working examples. They're meant as hints to show how you can implement ads personalisation settings.

Ad code for non-personalised ads

If you'd like to serve non-personalised ads on a per-page basis, consult the example below:

<html>
<head>
<title>Your site title</title>
</head>
<body>

<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<script>(adsbygoogle=window.adsbygoogle||[]).requestNonPersonalizedAds=1;</script>
// The line above makes sure that you are requesting non-personalised ads. It needs to come before you use <script>(adsbygoogle = window.adsbygoogle || []).push({});</script> and it suffices to have one such line per page.
<!-- One test unit for GDPR -->
<ins class="adsbygoogle"     style="display:inline-block;width:970px;height:250px"
     data-ad-client="ca-pubxxx"
    data-ad-slot="slot_id">
</ins>

<!-- Another test unit for GDPR -->
<ins class="adsbygoogle"     style="display:inline-block;width:250px;height:250px"
     data-ad-client="ca-pubxxx"
    data-ad-slot="slot_id">
</ins>
<script>(adsbygoogle = window.adsbygoogle || []).push({});</script>
// This triggers the ad request.

</body>
</html>

Ad code for personalised ads

If you want to serve some users personalised ads and other users non-personalised ads, consult the example below:

<html>
<head>
<title>Your site title</title>
</head>
<body>

<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<script>(adsbygoogle=window.adsbygoogle||[]).pauseAdRequests=1;</script>
// This will pause ad requests, so users have time to interact with your consent solution.

/* Set up the consent solution and act according to the user choice. 

If the user declines personalised ads, make sure that you call (adsbygoogle=window.adsbygoogle||[]).requestNonPersonalizedAds=1;
Remember that you need user consent for using cookies even for non-personalised ads in countries where the EU ePrivacy Directive requires it.

Later, you can call (adsbygoogle=window.adsbygoogle||[]).pauseAdRequests=0 to resume sending ad requests. Without making this call, no ads will be shown.

*/

<!-- One test unit for GDPR -->
<ins class="adsbygoogle"     style="display:inline-block;width:970px;height:250px"
     data-ad-client="ca-pubxxx"
    data-ad-slot="slot_id">
</ins>

<!-- Another test unit for GDPR -->
<ins class="adsbygoogle"     style="display:inline-block;width:250px;height:250px"
     data-ad-client="ca-pubxxx"
    data-ad-slot="slot_id">
</ins>
<script>(adsbygoogle = window.adsbygoogle || []).push({});</script>
// This usually triggers the ad request, but you have paused these.

</body>
</html>
 

Auto ads: Ad code for non-personalised ads

If you'd like to serve non-personalised Auto ads on a per-page basis, consult the example below:

<html>
<head>
<title>Your site title</title>
<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<script>
(adsbygoogle=window.adsbygoogle||[]).requestNonPersonalizedAds=1;
(adsbygoogle=window.adsbygoogle||[]).push({google_ad_client: "ca-pubxxx", enable_page_level_ads: true});
</script>
</head>
<body>

</body>
</html>
 

Auto ads: Ad code for personalised ads

If you want to serve some users personalised Auto ads, and other users non-personalised Auto ads, consult the example below:

<html>
<head>
<title>Your site title</title>
<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<script>
(adsbygoogle=window.adsbygoogle||[]).pauseAdRequests=1;
// This will pause ad requests, so users have time to interact with your consent solution.
(adsbygoogle=window.adsbygoogle||[]).push({google_ad_client: "ca-pubxxx", enable_page_level_ads: true});
// This usually triggers the ad request, but you have paused these.
</script>
</head>
<body>

<script>
/* Set up the consent solution and act according to the user choice. 

If the user declines personalised ads, make sure that you call (adsbygoogle=window.adsbygoogle||[]).requestNonPersonalizedAds=1;
Remember that you need user consent for using cookies even for non-personalised ads in countries where the EU ePrivacy Directive requires it.

Later, you can call (adsbygoogle=window.adsbygoogle||[]).pauseAdRequests=0 to resume sending ad requests. Without making this call, no ads will be shown.

*/
</script>

</body>
</html>
Was this helpful?
How can we improve it?