Как да блокирате скриптове до получаване на съгласие: сравнение на три метода
Проблемът: таговете се задействат твърде рано
Банерът за съгласие работи само ако таговете зад него уважават избора на посетителя. Най-честият проблем е прост: банерът се появява, но скриптовете за анализ и реклама вече са се заредили и са задали идентификатори, преди някой да е кликнал. Поправянето му означава блокиране на скриптове до получаване на съгласие. Има три практични начина да го направите.
Метод 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 преди да заредите страницата.
- Заредете страницата и не пипайте банера. Уверете се, че не се изпращат заявки за анализ или реклама и не се появяват свързани бисквитки или записи в хранилището.
- Приемете само една категория и се уверете, че се зареждат само съответните скриптове.
- Откажете всичко, презаредете и повторете първата проверка.
- Оттеглете съгласието и проверете поведението, описано по-горе.
Къде се вписва FlexyConsent
FlexyConsent поддържа IAB TCF 2.4 и Google Consent Mode v2 и е CMP, сертифицирана от Google (CMP ID 317). Който и метод за блокиране да изберете, задачата на банера е да даде на кода ви ясен сигнал какво е избрал посетителят. Вашата задача е да се уверите, че всеки скрипт му се подчинява.
Ключови изводи
- Скриптовете, които се зареждат, преди посетителят да е избрал, обезсмислят банера.
- Подмяната на типа, тригерите в мениджър на тагове и динамичното зареждане подхождат на различни видове сайтове.
- Скриптовете, вмъкнати от други скриптове, са най-честата пролука.
- Обработвайте върналите се посетители и оттеглянето, а не само първото посещение.
- Тествайте в чист частен прозорец с отворени инструменти за разработчици, преди да пипнете банера.