2013-04-15 11 views
8

Utworzono moje konto google analytics. Skopiowałem i wkleiłem kod podany w moim pliku index.php. Wydaje mi się, że działa tak, jak widzę połączenia z www.google-analytics.com z firebug.Jak skonfigurować śledzenie połączeń AJAX w Google Analytics?

Teraz chcę śledzić, ile razy "functions.php" jest wywoływane przez ajax z pliku indeksu.

Próbowałem użyć _gaq.push(['_trackPageview', 'functions.php']);, ale to dało mi Uncaught ReferenceError: _gaq is not defined. Więc dodałem var _gaq = _gaq || []; do mojego kodu. Błąd już minął, ale nie widzę żadnego połączenia z www.google-analytics.com po zakończeniu ajax.

Czy ktoś mógłby mi pomóc ustawić tak, aby analityka śledziła wywołania ajax?

Mój kod wygląda

<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

Masz mieszane async Universal Analytics i składnie. Musisz użyć jednego lub drugiego, nie obu. – Eduardo

Odpowiedz

3

Wygląda jakbyś mieszanie Universal Analytics (analytics.js i ga() połączenia) z ASYNC Analytics (ga.js i _gaq.push()), ale nie widzę żadnego kodu, aby zainicjować ga.js.

Spróbuj zmienić

var _gaq = _gaq || []; 

do

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

Działa teraz. Dziękuję Ci. – Radek

1

Tak, wystarczy dodać to po skryptu Google Analytics, aby zdefiniować _gaq tablicy:

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

Jeśli używasz Uniwersalny Analytics (analytics.js), a następnie przełącz to:

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

do tego:

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

myślę, że przy zameldowaniu w Google Analytics wybrać "Universal Analytics" i wykorzystuje nowy licznik kodu. Spójrz w DOM przeglądarki, nie ma obiektu "_gaq" - i dlatego jest błąd. Próbowałeś go naprawić pustą tablicą (_gaq).
Stary kod:

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

Nie używaj starego kodu! (I nie możesz korzystać z wielu licznika kodów 'UA-XXXXXX-1' - to pomyłka)
Nowy kod:

GA ('tworzyć', 'UA-XXXXXXX-1', 'mysite.com');
ga ("wyślij", "odsłona strony");

Nowy licznik Google ma nową składnię.
Dokumentacja dotycząca wykorzystania zdarzeń:https://developers.google.com/analytics/devguides/collection/analyticsjs/events
Przykład zastosowania:
mam kalkulatora na stronie i chcę śledzić wydarzenia przez naciśnięcie przycisku na nim.
Kategoria - "Korzystanie z kalkulatora";
Zdarzenie - "Obliczanie kosztu".
Stary kod:

_gaq.push ([ '_ trackEvent' 'Za pomocą kalkulatora', 'Calculating koszt');

Nowy kod:

ga ('send', 'zdarzenie', 'Korzystanie z kalkulatora', 'Obliczanie kosztów');

Kategoria i zdarzeń - jest wymagany! P.S.:Sorry. Mam słaby angielski i użyłem Google Translator :)

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> 
Powiązane problemy