Правила программ Ad Manager и Ad Exchange

Настройки персонализации рекламы в тегах объявлений издателя Google

Согласно обновленным Правилам Google в отношении согласия пользователей из ЕС, в предусмотренных законодательством случаях необходимо сообщать пользователям из Европейской экономической зоны (ЕЭЗ) и Великобритании о том, что для персонализации рекламы используются файлы cookie или другие средства сбора, хранения и передачи персональных данных, а также получать согласие пользователей на использование таких средств. Эти правила отражают требования, изложенные в Директиве ЕС о конфиденциальности и электронных средствах связи и Генеральном регламенте ЕС о защите персональных данных (GDPR).

Заданные вами настройки персонализации рекламы на уровне запроса будут распространяться на пользователей со всего мира. Если добавить эти параметры в запрос для пользователя за пределами ЕЭЗ и Великобритании, то будет показана неперсонализированная реклама.

Настройки персонализации рекламы для страниц с тегами GPT и AdSense

Отправка запросов объявлений

Google в ответ на запросы объявлений по умолчанию предлагает персонализированную рекламу, в которой учитывается не только контент веб-страницы, но и история ее посещений пользователем. При этом также возможен показ неперсонализированной рекламы. Подробнее…

Если вы соблюдаете Правила в отношении согласия пользователей из ЕС и хотите показывать неперсонализированную рекламу всем пользователям из стран ЕЭЗ и Великобритании, которые посещают ваш сайт, то изменять теги не нужно. Включить показ неперсонализированных объявлений можно в интерфейсе Google Менеджера рекламы или AdSense.

Если вы хотите показывать персонализированную рекламу некоторым пользователям, настройте для остальных показ неперсонализированной рекламы на каждой странице сайта с помощью тегов Google Publisher Tag (GPT), а также асинхронных тегов объявлений AdSense и Ad Exchange. Такой подход удобен, если вы хотите предоставить всем или некоторым пользователям возможность выбора между двумя видами рекламы.

В неперсонализированной рекламе файлы cookie не используются при выборе объявлений, но служат для ограничения частоты показов, подготовки сводных отчетов, а также защиты от мошенничества и других противоправных действий. Поэтому вам необходимо получать согласие на установку файлов cookie для этих целей у пользователей из стран, в которых действует Директива ЕС о конфиденциальности и электронных средствах связи. Подробнее…

Для тега GPT:

Воспользуйтесь методом googletag.pubads().setRequestNonPersonalizedAds(1).

Метод setCookieOptions() не обеспечивает соблюдение Генерального регламента ЕС о защите персональных данных (GDPR).

Для асинхронного тега объявлений AdSense или Ad Exchange:

Задайте значение (adsbygoogle=window.adsbygoogle||[]).requestNonPersonalizedAds=1.

В результате со страницы в дальнейшем будут отправляться запросы на показ неперсонализированной рекламы. Это касается запросов к Google, которые выполняются следующими поддерживаемыми тегами объявлений: GPT, асинхронными тегами AdSense или Ad Exchange (adsbygoogle.js), а также IMA SDK. Чтобы убедиться, что тег объявления запрашивает неперсонализированную рекламу, найдите параметр &npa=1 в запросе объявления с помощью встроенных в браузер инструментов разработчика.

Чтобы снова включить персонализацию, вызовите метод setRequestNonPersonalizedAds(0) или присвойте нулевое значение атрибуту requestNonPersonalizedAds=0. Если на странице есть теги объявлений Google разных типов (например, Google Publisher Tag и асинхронный тег AdSense или Ad Exchange), не всегда можно предсказать, какой из них сработает первым. Поэтому лучше настроить запрос неперсонализированной рекламы для всех типов тегов.

Приостановка запросов объявлений

Теги GPT и асинхронные теги AdSense или Ad Exchange позволяют загружать страницы, не отправляя запросы объявлений до получения определенного сигнала. Это удобно, когда вам необходимо предварительно получить согласие пользователя.

Если вы работаете с тегами Google Publisher Tag, задержка запросов объявлений возможна в асинхронном режиме.

  • Чтобы тег не отправлял запросы объявлений при первоначальной загрузке страницы, используйте функцию disableInitialLoad(). Ее необходимо вызвать до отправки запросов с помощью функции display().
  • Настройте рекламные места как обычно, с помощью вызовов к googletag.cmd.push(...).
  • После того как пользователь даст согласие или отказ, вы можете вызвать метод setRequestNonPersonalizedAds(1).
  • Чтобы возобновить отправку запросов объявлений, используйте функцию refresh().
  • Без выполнения функции refresh() объявления показываться не будут. При использовании метода enableSyncRendering() задержка запросов объявлений будет невозможна.

Если вы работаете с асинхронными тегами AdSense или Ad Exchange:

  • Чтобы тег не отправлял запросы объявлений, присвойте атрибуту pauseAdRequests значение 1: (adsbygoogle=window.adsbygoogle||[]).pauseAdRequests=1. Это необходимо сделать до отправки запросов с помощью метода adsbygoogle.push(…).
  • Настройте рекламные места как обычно, с помощью вызовов к adsbygoogle.push(...).
  • После того как пользователь даст согласие или отказ, присвойте атрибуту requestNonPersonalizedAds значение 1: requestNonPersonalizedAds=1.
  • Чтобы возобновить отправку запросов, присвойте атрибуту pauseAdRequests значение 0: (adsbygoogle=window.adsbygoogle||[]).pauseAdRequests=0.
  • В противном случае объявления показываться не будут.

Таким образом вы заблокируете отправку запросов объявлений, но это не помешает загрузке различных скриптов. Файлы cookie в доменах Google останутся доступными для считывания, но новые устанавливаться не будут. Никакие данные, связанные с имеющимися файлами cookie, не будут использоваться для показа или отслеживания рекламы.

Если в инструменте для получения согласия пользователя реализована возможность отложить загрузку скриптов, пока пользователь не даст ответ, достаточно просто задержать загрузку скриптов gpt.js и adsbygoogle.js. Теги объявлений Google других типов не поддерживают приостановку отправки запросов. Поэтому вам не следует загружать их, пока вы не определите, какую рекламу показывать – персонализированную или неперсонализированную.

Настройки персонализации рекламы для AMP-страниц

Для запросов объявлений с AMP-страниц доступны те же настройки персонализации рекламы, что и для запросов с описанных выше обычных страниц: издатели могут показывать или неперсонализированную рекламу всей аудитории из ЕЭЗ и Великобритании, или любую рекламу отдельным пользователям при их согласии. Ниже приведены инструкции по настройке каждого варианта для AMP-страниц, с которых отправляются запросы объявлений, с помощью тега <amp-ad type="doubleclick"> или <amp-ad type="adsense">.

Показ неперсонализированной рекламы всем пользователям из ЕЭЗ и Великобритании

Если в ваших тегах AMP-объявлений не используется конфигурация RTC, достаточно включить показ неперсонализированной рекламы в Google Менеджере рекламы или AdSense. Никакие другие изменения на AMP-страницах вносить не нужно.

Если в тегах AMP-объявлений применяется конфигурация RTC, на странице можно задать настройки так, чтобы запросы RTC не отправлялись от пользователей, которым будет показываться неперсонализированная реклама (то есть от тех, кто находится в ЕЭЗ или Великобритании). Для этого вам понадобятся компоненты и конфигурации (amp-geo и amp-consent), о которых рассказывается ниже. 


<!-- First we need to set up the amp-geo extension. We define a group: `eea` which includes all European Economic Area countries. You will need to keep this list up-to-date as membership in the EEA may change over time. -->
<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>

<!-- Next we need to set up a consent component for end users in EEA countries. We'll later configure it to be auto-rejected, so it doesn't actually prompt for consent. This halts RTC callouts and signals Ad Manager/AdSense to serve non-personalized ads. -->
<amp-consent layout="nodisplay" id="consent-element">
  <script type="application/json">
    {
      "consents": {
        "my_consent": {
          "promptIfUnknownForGeoGroup": "eea"
        }
      }
    }
  </script>
</amp-consent>

Во все компоненты amp-ad на странице необходимо добавить атрибут data-block-on-consent, как показано ниже:

<!-- Finally we set up the ad tag, directing it to automatically reject consent -->
<amp-ad data-block-on-consent="_auto_reject"
    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 настроен неправильно, запросы объявлений отправляются в обычном режиме.

Ниже представлен пример конфигурации, при которой у всех пользователей из ЕЭЗ запрашивается согласие, а поведение совпадает с описанным выше:

<!-- First we need to set up the amp-geo extension. We define a group: `eea` which includes all European Economic Area countries. You will need to keep this list up-to-date as membership in the EEA may change over time. -->
<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>
 
<!-- Next we need to setup the consent for users in the “eea” country group -->
<amp-consent layout="nodisplay" id="consent-element">
  <script type="application/json">
    {
      "consents": {
        "my_consent": {
          "promptIfUnknownForGeoGroup": "eea",
          "promptUI": "myConsentFlow"
        }
      }
    }
  </script> 
</amp-consent>
 

<!-- Finally we set up the ad tag, directing it to wait for consent when necessary -->
<amp-ad data-block-on-consent
    width=320 height=50
    type="doubleclick"
    data-slot="/4119129/mobile_ad_banner">
</amp-ad>
 

Существуют и другие способы запрашивать согласие отдельных пользователей. Например, можно настроить страницу так, чтобы с нее отправлялся запрос CORS POST в конечную точку, заданную в поле checkConsentHrefПодробнее…

Настройки персонализации рекламы для других тегов

Теги возврата GPT

Если вы работаете с тегами возврата GPT, то можете пометить запрос объявления как неперсонализированный, включив в вызов API следующую строку:

googletag.pubads().setRequestNonPersonalizedAds(int options);

Для запроса неперсонализированной рекламы присвойте параметру options значение 1. В остальных случаях используйте значение 0.

Если этот параметр не задан, будет показываться персонализированная реклама.

Пример:

<script src="https://securepubads.g.doubleclick.net/tag/js/gpt.js">
googletag.pubads().setRequestNonPersonalizedAds(1);
googletag.pubads().definePassback("123456/ad/unit", [100,200])
    .display();
</script>

Запросы без тегов

Если вы используете функцию "Запрос без тегов", то можете помечать запросы объявлений как неперсонализированные, добавляя параметр npa=[int] непосредственно в URL запроса тега, желательно ближе к началу (так параметр не будет утерян вследствие усечения URL). Чтобы запросить неперсонализированную рекламу, присвойте параметру значение 1: npa=1. Если параметр не указан, будут возвращаться персонализированные объявления. Пример:

https://securepubads.g.doubleclick.net/gampad/ad?iu=/12345/adunit&sz=728x90&npa=1&c=12345

AdSense для поиска

Google в ответ на запросы объявлений по умолчанию предлагает персонализированную рекламу с учетом не только конкретного поискового запроса, но и прежних действий пользователя. При этом также возможен показ неперсонализированной рекламы. Подробнее…

Если вы хотите показывать персонализированную рекламу только некоторым пользователям, настройте для остальных показ неперсонализированной рекламы на каждой странице сайта с помощью тегов AdSense для поиска. Такой подход удобен, если вы хотите предоставить всем или некоторым пользователям возможность выбора между двумя видами рекламы. 

Для веб-тега объявлений пользовательского поиска добавьте в раздел pageOptions следующую строку:
personalizedAds: false,


Для тега Рекламы в приложении:
builder.setAdvancedOptionValue("personalizedAds", "false");


Для тега iOS:
[request setAdvancedOptionValue:@"false" forKey:@"personalizedAds"];

В результате будет отправлен запрос на показ неперсонализированного объявления. Состояние указанного параметра не сохраняется: если не задать параметр в последующих запросах для того же пользователя, возобновится отправка запросов персонализированных объявлений.

Google Mobile Ads SDK

Подробную информацию об SDK можно найти на сайте для разработчиков приложений (iOS GMA SDK, Android GMA SDK).

Google Interactive Media Ads SDK (для видео)

Чтобы сообщить Google, что для вашего видеоконтента нужна неперсонализированная реклама, добавьте в тег объявления параметр npa=1. Это можно сделать при создании основного тега видео вручную или с помощью IMA SDK (HTML5 IMA SDK, iOS IMA SDK, Android IMA SDK или Google Cast IMA SDK).

Если в вашем проигрывателе используется динамическая вставка объявлений, параметр npa=1 можно добавить в любой запрос для видео по запросу или прямой трансляции (с помощью DAI HTML5 SDK, DAI Cast SDK, DAI iOS SDK, DAI Android SDK, DAI Roku SDK или DAI tvOS SDK).

Устаревшие теги объявлений издателя Google

Теги объявлений Google других типов, например GAM, GUT и синхронные теги AdSense или Ad Exchange (show_ads.js), не позволяют запрашивать неперсонализированные объявления. Поэтому рекомендуем загружать их, только когда вы будете готовы показывать персонализированную рекламу. Возможно, вам будет проще обеспечивать соблюдение Правил в отношении согласия пользователей из ЕС, если вы станете использовать теги подходящего типа с полнофункциональной поддержкой персонализированной и неперсонализированной рекламы. В этом случае вам потребуется реализовать приостановку отправки запросов до получения согласия пользователей.

Эта информация оказалась полезной?
Как можно улучшить эту статью?