Отслеживание событий в GA не срабатывает

Я добавил следующий код в свой JS для отслеживания нажатия кнопки:

_gaq.push(['_trackEvent', 'category', 'action', 'label']);

Я наткнулся на точку останова с помощью инструментов разработчика Chrome, и _gaq определенно разрешает объект GA, и я даже могу перейти к (уменьшенному) push-событию в коде GA.js. Однако, несмотря на то, что это срабатывает без ошибок, я не вижу GET или POST, зарегистрированных в Fiddler/firebug/Chrome, и ничего не регистрируется в моей аналитике. Обычная аналитика страницы у меня работает нормально, а внизу страницы работает следующее:

<script type="text/javascript">
        var _gaq = _gaq || [];
        _gaq.push(['_setAccount', 'XXXXXXXXX']);
        _gaq.push(['_setDomainName', '.Domain.com']);
        _gaq.push(['_trackPageview']);

        (function() {
            var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
            ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
            var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
        })();
    </script>

У кого-нибудь есть идеи, почему приведенный выше код не работает?


person LDJ    schedule 20.06.2011    source источник
comment
Эй, что с этим случилось? Действительно ли ответ Рембо решил эту проблему или это было что-то еще? Если первое, можете ли вы принять ответ Рембо с зеленым флажком слева от ответа? Если последнее, можете ли вы задокументировать решение как ответ? У меня точно такая же проблема. Спасибо!   -  person jmort253    schedule 05.05.2012


Ответы (3)


Распространенной причиной являются неправильные типы параметров (в этом случае GA завершается без ошибок).

Для _trackEvent параметры должны быть:

  • Категория = string
  • Действие = string
  • Метка (необязательно) = string
  • Значение (необязательно) = integer

Не используйте целые числа, когда ожидается строка, и наоборот.

person smhg    schedule 15.08.2013

Я так понимаю, у вас trackevent во внешнем .js-файле, а вызов стандартного скрипта внизу <body>-тега?

Очевидное решение - переместить скрипт:

<script type="text/javascript">
    var _gaq = _gaq || [];
    _gaq.push(['_setAccount', 'XXXXXXXXX']);
    _gaq.push(['_setDomainName', '.Domain.com']);
    _gaq.push(['_trackPageview']);

    (function() {
        var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
        ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
        var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
    })();
</script>

Вверху в теге <head>, а вызов внешнего js-файла ниже этого фрагмента.

Нравится:

<html>
<head>
    <script type="text/javascript">
            var _gaq = _gaq || [];
            _gaq.push(['_setAccount', 'XXXXXXXXX']);
            _gaq.push(['_setDomainName', '.Domain.com']);
            _gaq.push(['_trackPageview']);

            (function() {
                var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
                ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
                var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
            })();
    </script>   
    <script type="text/javascript" src="ext.js"></script>
</head>
<body>

</body>

person bskard    schedule 21.06.2011
comment
Переместил код в шапку и внешний JS файл после него (в шапку). Хотя _gaq.push(['_trackEvent', 'category', 'action', 'label']); срабатывает при нажатии на ссылку, я все еще не вижу GET в скрипаче и ничего в GA - person LDJ; 22.06.2011
comment
Найдите вкладку изображений в сети. События отслеживания GA запускаются как изображения. - person Moe Sweet; 03.04.2012

Для меня это была довольно глупая ошибка. У меня был собственный IP-адрес, отфильтрованный в GA.

Подумал, может кому поможет!

person Phil LaNasa    schedule 12.10.2017