Отслеживание событий в ГА не стреляет - PullRequest
9 голосов
/ 20 июня 2011

Я добавил следующий код в 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>

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

Ответы [ 3 ]

2 голосов
/ 15 августа 2013

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

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

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

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

0 голосов
/ 12 октября 2017

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

Подумал, что это может кому-нибудь помочь!

0 голосов
/ 21 июня 2011

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

Очевидное решение состоит в том, чтобыпереместите скрипт:

<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>

Up в теге <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>

...