Налаштування персоналізації реклами в тегах оголошень видавців Google можна вибрати для будь-якого регіону світу.
- Налаштування персоналізації реклами для сторінок, які використовують GPT й теги AdSense
- Налаштування персоналізації реклами для AMP-сторінок
- Налаштування персоналізації реклами для інших тегів
Налаштування персоналізації реклами для сторінок, які використовують GPT й теги AdSense
Надсилання запитів оголошень
За умовчанням у відповідь на запити оголошень у Google показується персоналізована реклама, яка добирається на основі вмісту сторінки й історії вебперегляду конкретного користувача. Google також підтримує показ неперсоналізованої реклами. Докладніше про персоналізовані й неперсоналізовані оголошення.
Якщо ж ви хочете одним користувачам показувати персоналізовану рекламу, а іншим – неперсоналізовану, скористайтеся тегом GPT й асинхронними тегами оголошень AdSense або Ad Manager. Так ви зможете налаштувати показ неперсоналізованих оголошень відповідно до параметрів сторінки. Це зручний варіант, якщо ви надаєте певним або всім користувачам можливість вибору між персоналізованою і неперсоналізованою рекламою.
Хоча в оголошеннях цього типу файли cookie не використовуються для персоналізації реклами, вони дають змогу обмежувати частоту показів і створювати зведені звіти про оголошення. Якщо ви плануєте використовувати файли cookie таким способом, необхідно отримати відповідний дозвіл від користувачів у країнах, де щодо файлів cookie діють положення Директиви ЄС про конфіденційність і електронні засоби зв’язку. Докладніше про неперсоналізовану рекламу.
Як додати параметр NPA=1
за допомогою тегу GPT
Використовуйте такий метод: googletag.pubads().setPrivacySettings({nonPersonalizedAds: true})
Метод setCookieOptions()
не застосовується до GDPR.
Дізнатися більше можна на сайті Google Developers.
Як додати параметр PPT=1
за допомогою тегу GPT
Використовуйте такий метод: googletag.setConfig({privacyTreatments: { treatments: ["disablePersonalization"]}})
Дізнатися більше можна на сайті Google Developers.
Як додати параметр NPA=1
за допомогою асинхронного тегу оголошень AdSense і Ad Exchange
Задайте таке значення: (adsbygoogle=window.adsbygoogle||[]).requestNonPersonalizedAds=1
Переконайтеся, що тег оголошення надсилає запит на розміщення неперсоналізованої реклами. Для цього перегляньте запит оголошення в інструментах розробника свого вебпереглядача й знайдіть у ньому параметр &npa=1
.
Якщо викликати функцію setPrivacySettings({nonPersonalizedAds: false})
або встановити значення requestNonPersonalizedAds=0
, персоналізація знову активується.
Як додати параметр PPT=1
за допомогою асинхронного тегу оголошень AdSense і Ad Exchange
- Варіант 1. Push API
Використовуйте методpush
:(adsbygoogle=window.adsbygoogle||[]).push({ params: {google_privacy_treatments: 'disablePersonalization'}})
Переконайтеся, що тег оголошення надсилає запит на розміщення неперсоналізованої реклами. Для цього перегляньте запит оголошення в інструментах розробника свого вебпереглядача й знайдіть у ньому параметр&ppt=1
.
- Варіант 2. Header Tag API
Установіть потрібне значенняdata-privacy-treatments
для тегу скриптуadsbygoogle
, наприклад:
<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js" data-privacy-treatments='disablePersonalization'></script>
Як призупиняти надсилання запитів оголошень
Теги GPT й асинхронні теги AdSense/Ad Manager підтримують технологію, яка завантажує сторінку, однак очікує чіткого сигналу, перш ніж активувати запити оголошень. Це чудовий варіант, якщо потрібно дочекатися рішення користувача щодо дозволу й лише потім активувати запити оголошень.
Якщо застосовується тег GPT, можна затримувати запити оголошень, використовуючи асинхронний режим.
- Використовуйте функцію
disableInitialLoad()
, щоб тег не надсилав запити оголошень під час початкового завантаження сторінки. Це слід зробити до активації запитів оголошень за допомогою функціїdisplay()
. - Налаштуйте рекламні місця за допомогою викликів функції
googletag.cmd.push(...)
, як зазвичай. - Отримавши статус згоди користувача, за потреби можна викликати функцію
setRequestNonPersonalizedAds(1)
. - Скористайтеся функцією
refresh()
, щоб відновити надсилання запитів оголошень. - Якщо не викликати функцію
refresh()
, оголошення не відображатимуться. Якщо використовується функціяenableSyncRendering()
, запити не затримуватимуться.
Якщо застосовується асинхронний код оголошення AdSense або Ad Manager
- Використовуйте код
(adsbygoogle=window.adsbygoogle||[]).pauseAdRequests=1
, щоб тег не надсилав запити оголошень. Це слід зробити до активації запитів оголошень за допомогою методуadsbygoogle.push(...)
. - Налаштуйте рекламні місця за допомогою викликів
adsbygoogle.push(...)
, як зазвичай. - Отримавши статус згоди користувача, за потреби можна встановити значення
requestNonPersonalizedAds=1
. - Виконайте
(adsbygoogle=window.adsbygoogle||[]).pauseAdRequests=0
, щоб відновити надсилання запитів оголошень. - Якщо не встановити значення
pauseAdRequests=0
, оголошення не відображатимуться.
Цей спосіб блокує надсилання запитів оголошень, але різні скрипти все одно завантажуються. Хоча система може зчитати наявні файли cookie в доменах Google, нові файли cookie не встановлюватимуться. Дані, пов’язані з наявними файлами cookie, не використовуватимуться для розміщення оголошень або вимірювання їх ефективності.
Якщо ваше рішення для керування згодою дає таку змогу, можна відкласти завантаження скриптів gpt.js
і adsbygoogle.js
, доки користувач не зробить вибір. Інші типи тегів оголошень Google не підтримують призупинення запитів. Тому не завантажуйте їх, доки не будете знати, яку рекламу запитувати: персоналізовану чи неперсоналізовану.
Налаштування персоналізації реклами для AMP-сторінок
Запити оголошень з AMP-сторінок можна налаштовувати так само, як і зі стандартних сторінок, описаних раніше. Видавці можуть вибрати, яку рекламу розміщувати: неперсоналізовану для всіх користувачів у регіоні або персоналізовану чи неперсоналізовану залежно від статусу згоди користувача. Нижче наведено вказівки щодо налаштування обох способів на AMP-сторінках, які запитуватимуть оголошення за допомогою параметра <amp-ad type=”doubleclick”>
або <amp-ad type=”adsense”>
.
Показ неперсоналізованої реклами всім користувачам у регіоні
Якщо ваші теги оголошень AMP не використовують Налаштування в реальному часі (RTC), можна просто ввімкнути показ неперсоналізованих оголошень в інтерфейсі Google Ad Manager або AdSense. Вносити інші зміни на AMP-сторінках не потрібно.
Якщо у ваших тегах оголошень AMP використовується Налаштування в реальному часі (RTC), на сторінці можна вимкнути надсилання запитів RTC для користувачів у Великій Британії, Швейцарії і ЄЕЗ, які бачитимуть неперсоналізовану рекламу. Для цього використовуйте наведені нижче обов’язкові конфігурації і компоненти (amp-geo
й amp-consent
).
<!-- Спершу потрібно налаштувати розширення amp-geo. Відтак визначаємо групу "eea", яка міститиме перелік усіх країн Європейської економічної зони й Велику Британію. Цей список потрібно оновлювати, оскільки перелік країн – членів ЄЕЗ може змінюватися. -->
amp-geo layout="nodisplay"
<script type="application/json"
{
"ISOCountryGroups": {
"eea": [ "at", "be", "bg", "cy", "cz", "de", "dk", "ee", "es", "fi", "fr",
"gb", "gr", "hr", "hu", "ie", "is", "it", "li", "lt", "lu", "lv", "mt", "nl",
"no", "pl", "pt", "ro", "se", "si", "sk"]
}
}
</script>
</amp-geo>
<!-- Тепер слід налаштувати запит на отримання згоди, указавши час очікування, який дорівнює 0 (тобто запит узагалі не відображатиметься), і статус rejected за умовчанням. Запити RTC зупиняться, і до DFP/AdSense надсилатимуться сигнали про те, що потрібно показувати неперсоналізовану рекламу. -->
<amp-consent layout="nodisplay" id="consent-element">
<script type="application/json">
{
"consents": {
"my_consent": {
"promptIfUnknownForGeoGroup": "eea"
}
}
"policy": {
"default": {
"waitFor": {
"my_consent": []
}
"timeout": {
"seconds": 0,
"fallbackAction": "reject"
}
}
}
}
</script>
</amp-consent>
Необхідно додати атрибут data-block-on-consent
у всі наявні компоненти amp-ad
на сторінці, як показано нижче.
<!-- Нарешті, налаштуймо блокування тегу оголошення до отримання згоди -->
<amp-ad data-block-on-consent
width=320 height=50
type="doubleclick"
data-slot="/4119129/mobile_ad_banner">
</amp-ad>
Показ персоналізованої або неперсоналізованої реклами залежно від згоди користувача
Оскільки на AMP-сторінках не можна використовувати спеціальні скрипти JavaScript, надсилання запитів на показ персоналізованої або неперсоналізованої реклами залежить від конфігурації компонента amp-consent
і атрибутів data-block-on-consent
та data-npa-on-unknown-consent
. Якщо ви налаштували компонент amp-consent
і зв’язали його з усіма тегами <amp-ad>
на сторінці за допомогою data-block-on-consent
, діятимуть наведені нижче умови.
- Якщо користувач відповів згодою на запит компонента
amp-consent
(тобто надав дозвіл), запити оголошень надсилатимуться у звичайному режимі. - Якщо користувач відхилив запит компонента
amp-consent
(тобто відмовив у дозволі), запитуватимуться лише неперсоналізовані оголошення. - Якщо відповідь користувача на запит компонента
amp-consent
невідома (тобто він закрив запит):- за умовчанням запити оголошень не надсилатимуться взагалі;
- запитуватиметься неперсоналізована реклама (якщо атрибут
data-npa-on-unknown-consent
має значенняtrue
).
- Якщо відповідно до налаштування компонента
amp-geo
згода користувача буде непотрібна через його географічне місцеположення, запити надсилатимуться у звичайному режимі.
Якщо ваші теги <amp-ad>
не використовують атрибут data-block-on-consent
або компонент amp-consent
налаштовано неправильно, запити надсилатимуться у звичайному режимі.
Нижче наведено приклад конфігурації, яка надсилає запит на отримання згоди всім користувачам у ЄЕЗ й Великій Британії і реалізує описану вище поведінку тегів.
<!-- Спершу потрібно налаштувати розширення amp-geo. Відтак визначаємо групу "eea", яка міститиме перелік усіх країн Європейської економічної зони й Велику Британію. Цей список потрібно оновлювати, оскільки перелік країн – членів ЄЕЗ може змінюватися. -->
<amp-geo layout="nodisplay">
<script type="application/json">
{
"ISOCountryGroups": {
"eea": [ "at", "be", "bg", "cy", "cz", "de", "dk", "ee", "es", "fi", "fr",
"gb", "gr", "hr", "hu", "ie", "is", "it", "li", "lt", "lu", "lv", "mt", "nl",
"no", "pl", "pt", "ro", "se", "si", "sk"]
}
}
</script>
</amp-geo>
<!-- Тепер потрібно налаштувати запит на отримання згоди користувачів у групі “eea” -->
<amp-consent layout="nodisplay" id="consent-element">
<script type="application/json">
{
"consents": {
"my_consent": {
"promptIfUnknownForGeoGroup": "eea",
"promptUI": "myConsentFlow"
}
}
}
</script>
</amp-consent>
<!-- Далі налаштуйте тег оголошення, указавши, що за потреби слід очікувати на згоду користувача -->
<amp-ad data-block-on-consent
width=320 height=50
type="doubleclick"
data-slot="/4119129/mobile_ad_banner">
</amp-ad>
Зверніть увагу, що існують інші способи, якими можна вибірково отримувати згоду користувачів. Наприклад, на сторінці можна налаштувати надсилання запитів CORS POST у кінцеві точки, указані за допомогою checkConsentHref
. Докладніше про це йдеться в документації amp-consent.
Налаштування персоналізації реклами для інших тегів
Теги відкликаних показів GPT
Якщо ви використовуєте теги відкликаних показів GPT, можна позначити запит як запит неперсоналізованого оголошення. Для цього додайте у виклик API такий фрагмент:
googletag.pubads().setRequestNonPersonalizedAds(int options);
Установіть для параметра options
ціле значення 1, щоб указати, що запит стосується неперсоналізованих оголошень, або виберіть 0 для запитів персоналізованої реклами.
Приклад:
<script src="https://googletagservices.com/tag/js/gpt.js">
googletag.pubads().setRequestNonPersonalizedAds(1);
googletag.pubads().definePassback("123456/ad/unit", [100,200])
.display();
</script>
Запити без тегів
Якщо ви використовуєте запити без тегів, можете позначити запит як запит неперсоналізованого оголошення. Для цього додайте параметр npa=[int]
безпосередньо в URL-адресу запиту з тегом. Ми рекомендуємо додавати параметр на початку тегу, щоб можливе скорочення не вплинуло на нього. Додайте параметр npa=1
, щоб позначити запит як запит неперсоналізованого оголошення. Якщо не вказати цей параметр, за умовчанням буде дозволено показ персоналізованої реклами. Приклад:
https://pubads.g.doubleclick.net/gampad/ad?iu=/12345/adunit&sz=728x90&npa=1&c=12345
AdSense для пошуку (AFS)
За умовчанням персоналізована реклама не показується за запитами оголошень AdSense для пошуку (AFS) у Google. Така персоналізація доступна лише в додатку, а не у вебпереглядачі.
Якщо ж ви хочете одним користувачам показувати персоналізовану рекламу, а іншим – неперсоналізовану, скористайтеся тегами AdSense для пошуку. Так ви зможете налаштувати показ неперсоналізованих оголошень відповідно до параметрів сторінки. Це зручний варіант, якщо ви надаєте певним або всім користувачам можливість вибору між персоналізованою і неперсоналізованою рекламою. Докладніше про персоналізовані й неперсоналізовані оголошення.
Для тегу AdMob:
builder.setAdvancedOptionValue("personalizedAds", "false");
Для тегу iOS:
[request setAdvancedOptionValue:@"false" forKey:@"personalizedAds"];
Ці методи активуватимуть запити неперсоналізованої реклами для цього конкретного запиту. Цей параметр не має статусу. Якщо для цього параметра не буде задано значення в наступних запитах для конкретного користувача, діятиме поведінка за умовчанням, тобто надсилатимуться запити персоналізованої реклами.
Google User Messaging Platform SDK
Щоб дізнатися більше про те, як використання пакета User Messaging Platform SDK допомагає виконувати Правила Google щодо отримання згоди користувачів із ЄС, перегляньте документацію на сайті Google Developers (iOS UMP SDK і Android UMP SDK).
Google Interactive Media Ads SDK (для відеореклами)
У запитах відеооголошень можна вказати, щоб система Google розпізнавала ваш відеоконтент як неперсоналізований. Для цього слід додати параметр npa=1
у тег оголошення. Це можна зробити за допомогою створеного вручну тегу основного оголошення або пакетів IMA SDK для певних платформ (HTML5 IMA SDK, iOS IMA SDK, Android IMA SDK, Google Cast IMA SDK).
Якщо у вашому відеопрогравачі використовується функція Google Ad Manager "Динамічна вставка оголошень", у запит на пряму трансляцію або відео за запитом (VOD) також можна додати параметр npa=1
, щоб передати його в усі включені запити оголошень (DAI HTML5 SDK, DAI Cast SDK, DAI iOS SDK, DAI Android SDK, DAI Roku SDK, DAI tvOS SDK).