Як блокувати скрипти до отримання згоди: порівняння трьох методів
Проблема: теги спрацьовують надто рано
Банер згоди працює лише тоді, коли теги за ним поважають вибір відвідувача. Найпоширеніша помилка проста: банер з'являється, але скрипти аналітики та реклами вже завантажилися й встановили ідентифікатори до того, як хтось щось натиснув. Виправити це означає блокувати скрипти до отримання згоди. Є три практичні способи.
Метод 1: підміна типу скрипта
Браузери виконують елемент script лише тоді, коли його тип — це тип JavaScript. Якщо змінити тип на text/plain, браузер проігнорує скрипт. Потім ви додаєте атрибут data, що фіксує, до якої категорії згоди належить скрипт:
- Замініть
type="text/javascript"наtype="text/plain". - Додайте атрибут, наприклад
data-category="analytics". - Коли відвідувач дає згоду на цю категорію, невеликий завантажувач повертає тип назад і вставляє скрипт, щоб він запустився.
Підходить для: кількох відомих вбудованих або зовнішніх скриптів у ваших шаблонах. Остерігайтеся: скриптів, які впроваджують інші скрипти: вони не проходять через ваші шаблони й тому ніколи не переписуються.
Метод 2: керування тегами в менеджері тегів
Якщо ваші теги містяться в Google Tag Manager або подібному інструменті, контейнер можна залишити на сторінці та керувати спрацьовуванням за допомогою тригерів з урахуванням згоди. Кожному тегу задається вимога згоди, і менеджер тегів запускає його лише тоді, коли відповідний стан згоди надано. Головна перевага — централізований контроль: маркетинг може додавати теги, не чіпаючи шаблони, а правило подорожує разом із тегом.
Підходить для: сайтів із безліччю маркетингових тегів. Остерігайтеся: жорстко прописаних скриптів поза контейнером і користувацьких HTML-тегів, які самі завантажують інші скрипти.
Метод 3: динамічне завантаження скриптів після згоди
Тут ви повністю прибираєте теги script зі сторінки й пишете функцію, яка впроваджує їх лише після події згоди. Це найчистіший варіант для односторінкових застосунків і для розробників, яким потрібен повний контроль:
- Підпишіться на callback згоди від вашої CMP.
- Перевірте, які категорії було дозволено.
- Створіть елемент script, задайте його джерело й додайте до документа.
- Виконайте код ініціалізації в обробнику завантаження скрипта.
Підходить для: сучасних застосунків із етапом збірки. Остерігайтеся: забути про відвідувача, що повернувся, чий збережений вибір має запускати завантаження під час відкриття сторінки без нового кліку.
Обробка відкликання згоди
Блокування до згоди — лише половина роботи. Якщо відвідувач пізніше відкликає згоду, припиніть викликати інструменти й переконайтеся, що вони не продовжують читати чи записувати ідентифікатори. Видалення скрипта зі сторінки не видаляє код, що вже перебуває в пам'яті, тому перезавантаження після відкликання часто є найпростішим надійним рішенням.
Який метод обрати?
- Мало скриптів, шаблони рендеряться на сервері: метод 1.
- Багато маркетингових тегів, які редагують не розробники: метод 2.
- Односторінковий застосунок або нестандартний фронтенд: метод 3.
- У змішаних системах часто поєднують два методи. Головне, щоб жоден тег не залишився без покриття.
Як це протестувати
- Відкрийте приватне вікно з очищеним кешем.
- Відкрийте інструменти розробника браузера на вкладках Network і Application до завантаження сторінки.
- Завантажте сторінку й не чіпайте банер. Переконайтеся, що запити аналітики та реклами не надсилаються, а пов'язані cookie чи записи сховища не з'являються.
- Прийміть лише одну категорію й переконайтеся, що завантажуються тільки відповідні скрипти.
- Відхиліть усе, перезавантажте сторінку й повторіть першу перевірку.
- Відкличте згоду й перевірте поведінку, описану вище.
Де місце FlexyConsent
FlexyConsent підтримує IAB TCF 2.4 і Google Consent Mode v2 та є CMP, сертифікованою Google (CMP ID 317). Який би метод блокування ви не обрали, завдання банера — дати вашому коду чіткий сигнал про вибір відвідувача. Ваше завдання — забезпечити, щоб кожен скрипт йому підкорявся.
Ключові висновки
- Скрипти, що завантажуються до вибору відвідувача, позбавляють банер сенсу.
- Підміна типу, тригери менеджера тегів і динамічне завантаження підходять для різних типів сайтів.
- Скрипти, які впроваджують інші скрипти, — найпоширеніший витік.
- Враховуйте відвідувачів, що повернулися, і відкликання згоди, а не лише перший візит.
- Тестуйте в чистому приватному вікні з відкритими інструментами розробника, перш ніж чіпати банер.