Не удается запустить событие Google Analytics 50% времени - PullRequest
0 голосов
/ 14 апреля 2020

Я хочу отслеживать свои регистрации в Google Analytics, чтобы отслеживать мои цели. Для этого я беру новых пользователей, которые регистрируются на промежуточной странице, а оттуда go на свою панель инструментов. На этой промежуточной странице я запускаю событие аналитики Google. Вот код для этой страницы.

<!doctype html>
<html lang="en">
    <head>
        <title>My Site</title>
        <script>
            (function (i, s, o, g, r, a, m) {
                i['GoogleAnalyticsObject'] = r;
                i[r] = i[r] || function () {
                    (i[r].q = i[r].q || []).push(arguments)
                }, i[r].l = 1 * new Date();
                a = s.createElement(o),
                        m = s.getElementsByTagName(o)[0];
                a.async = 1;
                a.src = g;
                m.parentNode.insertBefore(a, m)
            })(window, document, 'script', 'https://www.google-analytics.com/analytics.js', 'ga');

            ga('create', 'UA-XXXXXXX-YY', 'auto');
            ga('send', 'pageview');
            ga('send', 'event', { eventCategory: 'registration', eventAction: 'submit', eventLabel: 'newuser', eventValue: 1});
        </script>
        <script src="<path to jquery>/jquery-3.3.1.min.js"></script>
        <script> var BASE_URL = "mysite.com"</script>
        //some PHP code here to set a variable MYVAR    
        <script>
            jQuery(document).ready(function () {
                setTimeout(function () {
                    window.location.replace(BASE_URL + 'MYVAR');
                }, 5);                
            });
            
        </script>
    </head>
    <body>
    </body>
</html>

Проблема в том, что событие происходит только примерно в 50% времени. Можете ли вы придумать причину, почему? Если он перенаправляется до ga (send, ..), тогда есть ли какие-либо предложения по его асинхронности?

1 Ответ

0 голосов
/ 14 апреля 2020

Попробуйте отправить событие с этим синтаксисом:

ga('send', 'event', 'Videos', 'play', 'Fall Campaign');

или с этим синтаксисом:

ga('send', {
  hitType: 'event',
  eventCategory: 'Videos',
  eventAction: 'play',
  eventLabel: 'Fall Campaign'
});

https://developers.google.com/analytics/devguides/collection/analyticsjs/events?hl=it

Или попробуйте поместить код события в тело вместо головы.

...