2013-04-15 6 views
8

Я создал свою учетную запись Google Analytics. И скопировал и вставил код, указанный в моем файле index.php. Мне кажется, что он работает, поскольку я вижу вызовы на www.google-analytics.com из firebug.Как настроить отслеживание AJAX в Google Analytics?

Теперь я хочу отслеживать, сколько раз функция «functions.php» вызывается через ajax из индексного файла.

Я попытался использовать _gaq.push(['_trackPageview', 'functions.php']);, но он дал мне Uncaught ReferenceError: _gaq is not defined. Поэтому я добавил var _gaq = _gaq || []; в свой код. Ошибка исчезла, но я не вижу вызова на www.google-analytics.com после завершения ajax.

Может кто-нибудь помочь мне настроить его, чтобы аналитики отслеживали вызовы ajax?

Мой код выглядит

<script type='text/javascript'> 
    (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','//www.google-analytics.com/analytics.js','ga'); 

      ga('create', 'UA-1234556-1', 'domain.com'); 
      ga('send', 'pageview'); 

     var _gaq = _gaq || []; 

     function submit_data(){ 

       var text_area=$('#textarea').val(); 
       var url ="functions.php"; 
       jQuery.ajax({ 
        type: "get", 
        dataType: "text", 
        url: url, 
        data: { 
         what : "generate", 
         text_area: text_area, 
         t: Math.random() 
        }, 
         success: function(data, textStatus){ 
         $('#textarea').val(data); 
//      _gaq.push(['_setAccount', 'UA-12345-1']); 
         _gaq.push(['_trackPageview', 'functions.php']); 
         } 
       }); 
     } 

     </script> 
+0

Вы перепутали асинхронный и универсальные аналитический синтаксис. Вам нужно использовать то или другое, а не другое. – Eduardo

ответ

3

Похоже, вы смешиваете Universal Analytics (analytics.js и ga() звонки) с асинхронным Analytics (ga.js и _gaq.push()), но я не вижу какой-либо код для инициализации ga.js.

Try изменения

var _gaq = _gaq || []; 

в

var _gaq = _gaq || []; 
_gaq.push(['_setAccount', 'UA-12345-1']); 
_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); 
})(); 
+0

Работы сейчас. Спасибо. – Radek

1

Да, просто добавьте это после того, как ваш скрипт Google Analytics, чтобы определить _gaq массив:

var _gaq = _gaq || []; 
_gaq.push(['_setAccount', 'UA-65432-1']); 
_gaq.push(['_trackPageview']); 
6

Если вы используете Универсальный Аналитика (analytics.js), затем переключите это:

_gaq.push(['_trackPageview', 'functions.php']); 

к этому:

ga('send', 'pageview', 'functions.php'); 
13

Я думаю, что при регистрации в Google Analytics вы выбираете "Universal Analytics", и он использует новый код счетчика. Посмотрите в браузере DOM, нет объекта «_gaq» - и, следовательно, является ошибкой. Вы попытались исправить это с помощью пустого массива (_gaq).
Старый код:

вар _gaq = _gaq | | [];
_gaq.push (['_setAccount', 'UA-XXXXXX-1']);

Не используйте старый код! (И вы не можете использовать несколько счетчик кодов 'UA-XXXXXX-1' - это ошибка)
Новый код:

га ('создать', 'UA-XXXXXXX-1', 'mysite.com');
ga ('send', 'pageview');

Новый счетчик Google имеет новый синтаксис.
Документация по использованию событий:https://developers.google.com/analytics/devguides/collection/analyticsjs/events
Пример использования:
У меня есть калькулятор на странице, и я хочу, чтобы быть в курсе событий с помощью нажатия одной кнопки на нем.
Категория - «Использование калькулятора»;
Событие - «Расчет стоимости».
Старый код:

_gaq.push ([ '_ TrackEvent', 'Использование калькулятора', 'Расчет стоимости');

Новый код:

га ('отправить', 'событие', 'Использование калькулятора', 'Расчет стоимости');

Категория и события - обязательно!
P.S.:Извините. У меня плохой английский язык, и я использовал Google переводчик :)

UPD:

<script type='text/javascript'> 

    (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','//www.google-analytics.com/analytics.js','ga'); 
//Use once per page 
     ga('create', 'UA-1234556-1', 'domain.com'); 
     ga('send', 'pageview'); 
     // 
     function submit_data(){ 

       var text_area=$('#textarea').val(); 
       var url ="functions.php"; 
       jQuery.ajax({ 
        type: "get", 
        dataType: "text", 
        url: url, 
        data: { 
         what : "generate", 
         text_area: text_area, 
         t: Math.random() 
        }, 
         success: function(data, textStatus){ 
         $('#textarea').val(data); 
         ga('send', 'event', 'MyCategory', 'functions.php'); 
         } 
       }); 
     } 

</script> 
Смежные вопросы