2013-04-15 22 views
8

Ho creato il mio account Google Analytics. E copiato e incollato il codice fornito nel mio file index.php. Mi sembra che funzioni come posso vedere le chiamate a www.google-analytics.com da firebug.Come impostare il monitoraggio delle chiamate AJAX in Google Analytics?

Ora voglio monitorare quante volte il 'functions.php' viene chiamato tramite ajax dal file di indice.

Ho provato a utilizzare _gaq.push(['_trackPageview', 'functions.php']); ma mi ha dato Uncaught ReferenceError: _gaq is not defined. Quindi ho aggiunto var _gaq = _gaq || []; al mio codice. L'errore è sparito ma non riesco a vedere nessuna chiamata a www.google-analytics.com dopo che l'ajax è terminata.

Qualcuno potrebbe aiutarmi a configurarlo in modo che l'analisi tenga traccia delle chiamate ajax?

mio codice è simile

<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

aver mescolato i asincroni e Universal Analytics sintassi. Devi usare l'uno o l'altro, non entrambi. – Eduardo

risposta

3

sembra che si sta mescolando Universal Analytics (analytics.js e ga() chiamate asincrone) con Analytics (ga.js e _gaq.push()), ma non vedo alcun codice per inizializzare ga.js.

Prova a cambiare

var _gaq = _gaq || []; 

a

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

Funziona ora. Grazie. – Radek

1

Sì, basta aggiungere questo dopo lo script di Google Analytics per definire il _gaq matrice:

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

Se stai usando universale Analytics (analytics.js) quindi cambiare:

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

a questo:

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

Credo che al check-in Google Analytics si seleziona "Universal Analytics", e utilizza un nuovo contatore codice. Cerca nel DOM del browser, non esiste alcun oggetto "_gaq" - ed è quindi un errore. Hai provato a risolverlo con l'array vuoto (_gaq).
vecchio codice:

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

Non utilizzare il vecchio codice! (E non è possibile utilizzare i codici multipla contatore 'UA-XXXXXX-1' - è errore)
Nuovo codice:

ga ('creare', 'UA-XXXXXXX-1', 'mysite.com');
ga ('invia', 'visualizzazione di pagina');

Il nuovo contatore Google ha una nuova sintassi.
documentazione sull'uso di eventi:https://developers.google.com/analytics/devguides/collection/analyticsjs/events
Esempio di utilizzo:
ho una calcolatrice sulla pagina e voglio tenere traccia degli eventi da pressione di un pulsante su di esso.
Categoria - "Utilizzo della calcolatrice";
Evento - "Calcolo del costo".
vecchio codice:

_gaq.push ([ '_ trackEvent', 'Con il calcolatore', 'Calcolando il costo');

Nuovo codice:

ga ('inviare', 'evento', 'Con il calcolatore', 'Calcolando il costo');

Categoria ed eventi - è necessario!
P.S.:Sorry. Ho povero inglese e ho usato il traduttore di 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> 
Problemi correlati