Как загрузить Google Tag Manager и записать просмотр страницы через Javascript - PullRequest
0 голосов
/ 27 января 2020

У меня есть веб-сайт, который должен соответствовать требованиям 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.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...