Как настроить получение согласия пользователей в TrustArc

Собирайте согласие посетителей вашего сайта, чтобы защитить их конфиденциальность и при этом собирать ценную статистику. Рекомендуем использовать платформу для запросов согласия (CMP) или систему управления контентом (CMS), чтобы собирать согласие и отправлять его в Google.

Шаг 1. Настройте баннер с запросом согласия

  1. Если вы работаете с CCM Advanced (под управлением менеджера), то технический менеджер аккаунта настроит для вас баннер в соответствии с вашими требованиями и стилистическими рекомендациями.
  2. Если вы работаете с CCM Pro (CMP для самостоятельного использования), то TrustArc предоставит вам URL для входа на портал. Там вы сможете воспользоваться мастером с готовыми шаблонами баннеров.
  3. Баннер должен соответствовать правилам Google в отношении согласия пользователей из ЕС (EUUCP). Подробную информацию о баннерах TrustArc вы можете найти в разделе Начало работы нашего руководства для пользователей.
  4. Добавьте в код сайта элементы <div>, которые отвечают за обработку баннера, и ссылку на CMP. Можете также воспользоваться Google Менеджером тегов.

Шаг 2. Настройте режим согласия

Google Менеджер тегов

  1. Откройте Google Менеджер тегов и найдите контейнер.
  2. В разделе "Теги" нажмите "Новый" и введите название тега.
  3. Нажмите Конфигурация тега и выберите "В галерее общедоступных шаблонов вы сможете найти ещё больше типов тегов". В галерее выполните поиск по запросу TrustArc CMP (Consent Mode), а затем установите TrustArc CMP (Consent Mode) от TrustArc.
  4. Задайте подходящие вам настройки по умолчанию в разделе "Настройки режима согласия по умолчанию".
  5. Выберите вариант Deploy CMP Script using the template (Реализовать скрипт CMP с помощью шаблона).
    1. В поле CMP ID (Идентификатор CMP) укажите идентификатор экземпляра, полученный на шаге 4 на портале CCM Pro. Если вы работаете с CCM Advanced, эту информацию можно получить у технического менеджера аккаунта.
    2. В поле Additional parameters (Дополнительные параметры) укажите дополнительные настройки для экземпляра. Эта конфигурация будет переопределять серверные настройки, такие как язык, геолокация, политика конфиденциальности, ссылки и т. п.
  6. Настройте интеграцию, включив настройку Integrate CMP with Google Consent Mode (Интегрировать CMP с режимом согласия Google).
  7. Укажите данные о сопоставлении типов согласия и предпочтений пользователя в соответствии с вашими настройками. Для каждого типа согласия, который вы используете, задайте соответствующий идентификатор сегмента согласия на использование файлов cookie (обязательные, функциональные, рекламные). В поле Preferences Cookie (Файл cookie для предпочтений) укажите собственный файл cookie для cmapi_cookie_privacy. В поле Behavior Cookie (Файл cookie для поведения) укажите собственный файл cookie для notice_behavior.
  8. Нажмите Triggering > Consent Initialization - All Pages > Save (Триггеры > Инициализация согласия > Все страницы > Сохранить).
  9. Нажмите Предварительный просмотр в правом верхнем углу, чтобы протестировать контейнер. Инструкции по тестированию вы найдете ниже.
  10. Опубликуйте контейнер.

Другие платформы или редактирование кода на сайте

  1. Войдите на портал поддержки TrustArc, откройте руководство TrustArc Google Consent Mode Implementation Guide по этой ссылке и следуйте инструкциям в разделе Integrating the Consent Mode Using JavaScript (Интеграция режима согласия при помощи JavaScript).
  2. Если вы используете конструктор сайтов, ознакомьтесь с документацией к нему, чтобы узнать, как добавить код в тег <head> на каждой странице. В противном случае перейдите к шагу 3.
  3. Если вы работаете с CCM Advanced, выполните этот шаг. В противном случае перейдите к шагу 4. Вставьте код, скопированный на шаге 2 (если вы использовали конструктор сайтов), в самое начало раздела <head> на каждой странице. После него вставьте также скрипт CMP, полученный на шаге 1. Этот шаг необходим для правильной работы функций CMP.

    <script>

    window.dataLayer = window.dataLayer || [];

    function gtag(){dataLayer.push(arguments);}

     

    gtag('js', new Date());

    gtag('config', 'AW-YYYYYY');

     

    // Типы согласия по умолчанию – denied в качестве плейсхолдера.

    // Определите фактические значения с учетом ваших требований.

    // Пропустите типы согласия, которые не используете.

    gtag('consent', 'default', {

    'ad_storage': 'denied',

    'ad_user_data': 'denied',

    'ad_personalization': 'denied',

    'analytics_storage': 'denied',

    'functionality_storage': 'denied',

    'personalization_storage': 'denied',

    'security_storage': 'denied',

    'wait_for_update': 500

    });

    gtag('set', 'ads_data_redaction', true);

    gtag('set', 'developer_id.dNTIxZG', true);

    </script>

    <!--Вставьте скрипт баннера!-->

  4. Если вы работаете с CCM Pro, выполните этот шаг. Вставьте код, скопированный на шаге 2 (если вы использовали конструктор сайтов), в самое начало раздела <head> на каждой странице. После него вставьте также скрипт CMP, полученный на шаге 1. Этот шаг необходим для правильной работы функций CMP. Обязательно настройте связь между сегментами CMP и типами согласия.

    window.dataLayer = window.dataLayer || [];

    function gtag() { dataLayer.push(arguments); }

    gtag('js', new Date());

    gtag('config', 'GA_MEASUREMENT_ID');

    gtag('set', 'developer_id.dNTIxZG', true);

    // ДЕЙСТВИЕ: Можно изменить в соответствии с потребностями клиента и конфигурацией.

    gtag('set', 'ads_data_redaction', true);

    gtag('set', 'url_passthrough', true);

    //Статус режима согласия.

    const ConsentType = {

    DENIED: 'denied',

    GRANTED: 'granted',

    };

     

    const convertBooleanToGrantedOrDenied = (boolean) => boolean ? ConsentType.GRANTED : ConsentType.DENIED;

     

    /*

    ДЕЙСТВИЕ: Здесь вы можете настроить режим согласия Google, а также сопоставить категоризацию CMP и значения по умолчанию для инициализации согласия.

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

    */

    const domain = 'your_domain.com'; // ДЕЙСТВИЕ: обновить

    // Сопоставление сегментов.

    const REQUIRED = 1;

    const FUNCTIONAL = 2;

    const ADVERTISING = 3;

    const consentTypesMapped = {

    'ad_storage': ADVERTISING,

    'ad_user_data': ADVERTISING,

    'ad_personalization': FUNCTIONAL,

    'analytics_storage': FUNCTIONAL,

    'functionality_storage': FUNCTIONAL,

    'personalization_storage': FUNCTIONAL,

    'security_storage': REQUIRED

    }

    const getConsentState = (prefCookie) => {

    var consentStates = {};

    var noticeBehavior = window.truste.util.readCookie("notice_behavior");

    /*

    ДЕЙСТВИЕ: Можно изменить в соответствии с потребностями клиента и конфигурацией.

    */

    var impliedLocation = noticeBehavior && noticeBehavior.includes("na");

    for (const consentType in consentTypesMapped) {

    var id = consentTypesMapped[consentType];

     

    if(prefCookie && !prefCookie.includes(0)) {

    console.log("Existing consent..");

    consentStates[consentType] = convertBooleanToGrantedOrDenied(prefCookie && prefCookie.includes(id));

    } else {

    console.log("Non Existing consent..");

    consentStates[consentType] = convertBooleanToGrantedOrDenied(impliedLocation);

    ;}

    ;}

    consentStates['wait_for_update'] = 500;

    console.log(consentStates);

    return consentStates;

    };

    /*

    Вспомогательная функция для отправки события GCM на основе предпочтений пользователя в скрипте TrustArc.

    Объект consent представляет собой массив значений [1, 2, 3, n], 1 означает, что пользователь согласился принимать обязательные файлы cookie, 2 – функциональные и т. д.

    Эту функцию необходимо настроить в соответствии с требованиями клиента. Например, 'ad_storage': returnGrantedOrDenied(advertisingAccepted) сопоставляется с рекламными настройками. Если мы бы хотели сопоставить этот параметр с функциональными настройками, то нам нужно было бы изменить переменную сегмента, на которую ссылается параметр. 

    */

     

    var runOnceGCM = 0;

    function handleConsentDecisionForGCM(consent) {

    //Этот код инициализирует режим согласия.

    const consentStates = getConsentState(consent.consentDecision);

    var defaultOrUpdate;

    if (runOnceGCM == 0) {

    defaultOrUpdate = 'default';

    runOnceGCM++;

    } else {

    console.log('consent is being updated');

    defaultOrUpdate = 'update';

    }

    console.log(consentStates);

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

    gtag('consent', defaultOrUpdate, {

    consentStates

    });

    }

     

    // Этот код отвечает за прослушивание любых изменений согласия через экземпляр CCM TrustArc.

    // Также этот код отвечает за передачу изменений согласия на уровень данных в соответствии с сопоставлением.

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

    // После загрузки CCM. 

    var interval = setInterval(() => {

    if (window.truste) {

    var consentDecision = truste.cma.callApi("getGDPRConsentDecision", domain);

    handleConsentDecisionForGCM(consentDecision);

    clearInterval(interval);

    console.log("running once...");

    }

    }, 100);

     

    // Начать прослушивание предпочтений пользователей.  

    window.addEventListener("message", (event) => {

    let eventDataJson = null;

    // На данный момент нас интересуют только события TrustArc. Такие события закодированы в JSON.

    try {

    eventDataJson = JSON.parse(event.data);

    } catch {

    // Другое событие, которого нет в JSON. 

    // TrustArc кодирует данные в формат JSON.

    // console.log(event.data);

    }

     

    // Так мы гарантируем, что получаем события только от TrustArc.

    if (eventDataJson && eventDataJson.source === "preference_manager") {

    // Это означает, что пользователь сообщил о своих предпочтениях.

    if (eventDataJson.message === "submit_preferences") {

    console.log("Event Data: ", eventDataJson);

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

    setTimeout(() => {

    var consentDecision = truste.cma.callApi("getGDPRConsentDecision", domain);

    console.log("Consent Decision: ", consentDecision);

    handleConsentDecisionForGCM(consentDecision);

    }, 500);

    }

    }

    }, false);

    <!--Вставьте скрипт баннера!-->

Эта информация оказалась полезной?

Как можно улучшить эту статью?
true
Поиск
Очистить поле поиска
Закрыть поиск
Главное меню
4934367356449295078
true
Поиск по Справочному центру
true
true
true
true
true
69256
false
false