У меня есть веб-сайт, который должен соответствовать требованиям GDPR. Файлы cookie для отслеживания не могут быть загружены до тех пор, пока посетитель веб-сайта не согласится принять файлы cookie. Я хочу отслеживать первоначальный вид страницы веб-сайта после того, как пользователь нажал кнопку «Принять», без обновления / перезагрузки текущей страницы.
Я добавил код, чтобы попытаться загрузить Google Tag Manager и запустить событие записать просмотр страницы. Я не могу успешно записать просмотр страницы.
Вот фрагмент JavaScript, который я запускаю после нажатия кнопки «Принять»:
window['ga-disable-' + $(".gdpr-cookie-notice").attr("data-gaId")] = false;
(function (w, d, s, l, i) {
w[l] = w[l] || [];
w[l].push({ 'gtm.start': new Date().getTime(), event: 'gtm.js' });
var f = d.getElementsByTagName(s)[0], j = d.createElement(s), dl = l != 'dataLayer' ? '&l=' + l : '';
j.async = true;
j.src = 'https://www.googletagmanager.com/gtm.js?id=' + i + dl;
j.addEventListener('load', function () {
var _ge = new CustomEvent('gtm_loaded', { bubbles: true });
d.dispatchEvent(_ge);
});
f.parentNode.insertBefore(j, f);
})(window, document, 'script', 'dataLayer', $(".gdpr-cookie-notice").attr("data-gtmId"));
console.log('fire gtm event');
window['dataLayer'].push({ 'event': 'VirtualPageview', 'virtualPageURL': window.location, 'virtualPageTitle': document.title });
window.addEventListener('gtm_loaded', function () {
// Google Tag Manager has been loaded
window['dataLayer'].push({ 'event': 'VirtualPageview', 'virtualPageURL': window.location, 'virtualPageTitle' : document.title });
console.log('gtm_loaded');
});
У меня есть переменные GTM: virtualPageTitle & virtualPageURL.
У меня есть событие GTM: VirtualPageview и тег GTM.
Я вижу, как файлы cookie GA загружаются в сеансе браузера после нажатия кнопки «Принять», но нет события или просмотра страницы записывается в Google Analytics.