Как упоминалось ранее, есть встроенные переменные cookie для использования в GTM, таким образом вы можете ссылаться на них в операторе if, используя {{cookieVar_Name}} в коде GTM.
Однако, чтобы ответить на ваш вопрос о подсказкев GTM об этих файлах cookie один из способов - это, вероятно, отправить событие dataLayer.push с необходимыми данными.
Например, вы можете адаптировать свой текущий код для отправки события, когда эти файлы cookie установлены:
...
if (e.detail.performance) {
setCookie('cookie_performance', e.detail.performance, 365);
window.dataLayer.push({
event: 'performanceEvent',
cookie_performance: true
});
}
if (e.detail.analytics) {
setCookie('cookie_analytics', e.detail.analytics, 365);
window.dataLayer.push({
event: 'analyticsEvent',
cookie_analytics: true
});
}
if (e.detail.marketing) {
setCookie('cookie_marketing', e.detail.marketing, 365);
window.dataLayer.push({
event: 'marketingEvent',
cookie_marketing: true
});
}
...
На этом этапе вы можете создать собственный триггер события с именем marketingEvent, затем вы можете использовать этот триггер для запуска тега, когда этот dataLayer.push действует / соглашается.
ВЧто касается чтения файлов cookie возвращающихся клиентов, вы можете использовать тег customHTML с функцией чтения файлов cookie:
//This function can be used to retrieve a cookie and its value by its key(name)
function getCookie(name) {
var nameEQ = name + "=";
var ca = document.cookie.split(';');
for(var i=0;i < ca.length;i++) {
var c = ca[i];
while (c.charAt(0)==' ') c = c.substring(1,c.length);
if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
}
return null;
}
getCookie(cookie_marketing);
Или сохранить значение файла cookie во встроенной переменной cookie GTM и написать оператор if:
if({{cookie_marketing}} == true){
// fire code here
}
Надеюсь, это поможет вам встать на правильный путь.