2013-04-15 11 views
8

Ich habe mein Google Analytics-Konto erstellt. Und kopierte und klebte den bereitgestellten Code in meine index.php-Datei. Es scheint mir, dass es funktioniert, da ich Aufrufe von www.google-analytics.com von Firebug sehen kann.Wie konfiguriere ich die AJAX-Anrufverfolgung in Google Analytics?

Jetzt möchte ich verfolgen, wie oft die 'functions.php' über Ajax aus der Indexdatei aufgerufen wird.

Ich habe versucht, _gaq.push(['_trackPageview', 'functions.php']); zu verwenden, aber es gab mir Uncaught ReferenceError: _gaq is not defined. Also habe ich meinen Code var _gaq = _gaq || []; hinzugefügt. Der Fehler ist verschwunden, aber ich sehe nach dem Beenden des Ajax keinen Anruf bei www.google-analytics.com mehr.

Könnte mir jemand helfen, es einzurichten, damit Analytics Ajax-Anrufe verfolgen kann?

Mein Code sieht aus wie

<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

Sie haben die Asynchron-und Universal-Analytik Syntaxen gemischt. Sie müssen auf oder die andere, nicht beide verwenden. – Eduardo

Antwort

3

Sieht aus wie Sie Universal Analytics abmischen (analytics.js und ga() Anrufe) mit Async Analytics (ga.js und _gaq.push()), aber ich sehe keinen Code ga.js zu initialisieren.

Try

var _gaq = _gaq || []; 

zu

Wechsel
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

Funktioniert jetzt. Vielen Dank. – Radek

1

Ja, fügen Sie einfach diese nach dem Skript Google Analytics die _gaq Array zu definieren:

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

Wenn Sie Universell verwenden Analytics (analytics.js) dann schalten Sie diese:

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

dazu:

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

Ich denke, dass Sie beim Check-in Google Analytics wählen Sie "Universal Analytics" und verwendet einen neuen Code-Zähler. Schauen Sie im Browser DOM, gibt es kein Objekt "_gaq" - und ist daher ein Fehler. Sie haben versucht, es mit einem leeren Array (_gaq) zu beheben.
Alter Code:

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

Verwenden Sie keinen alten Code! (Und Sie können nicht mehr Codes Zähler 'UA-XXXXXX-1' verwenden - es ist Fehler)
Neuer Code:

ga ('schaffen', 'UA-XXXXXXX-1', 'mysite.com');
ga ('senden', 'Seitenaufruf');

Der neue Zähler Google hat eine neue Syntax.
Dokumentation über die Verwendung von Veranstaltungen:https://developers.google.com/analytics/devguides/collection/analyticsjs/events
Beispiel:
Ich habe einen Rechner auf der Seite und ich möchte ihm durch Knopfdruck den Überblick über Ereignisse halten.
Kategorie - "Verwenden des Rechners";
Ereignis - "Berechnung der Kosten".
Alter Code:

_gaq.push ([ '_ trackEvent', 'Mit dem Rechner', 'Berechnung der Kosten');

Neuer Code:

ga ('senden', 'Ereignis', 'Mit dem Rechner', 'Berechnung der Kosten');

Kategorie und Veranstaltung - ist Pflichtfeld!
PS: Sorry. Ich habe schlecht Englisch und ich Google Übersetzer :)

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