2011-06-24 4 views
0

1ページのWebアプリケーションで、私はGoogleの非同期トラッカーを実装しました。Google非同期トラッカーは「ページビュー」ごとに新しい訪問を記録します

var that = this; 
require(['js/plugins/GoogleAnalytics'],function(ga){ that.ga = GoogleAnalytics; }); 

アプリがロードされ
var GoogleAnalytics = { 
    config : { 
     'account':'UA-XXXXXXXX-X' 
    }, 
    init : function(){ 
     var _gaq = _gaq || []; 
     this.tracker = _gaq; 
     _gaq.push(['_setAccount',this.config.account]); 
     (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); 
      })(); 
    }, 
    doAsyncRequest : function(arr){ 
     if(!this.tracker) this.init(); 
     this.tracker.push(arr); 
    }, 
    trackPageView : function(url){ 
     var args = ['_trackPageview']; 
     if(url) args.push(url); 
     this.doAsyncRequest(args); 
    }, 
    trackEvent : function(category,action,label,value){ 
     var args = ['_trackEvent',category,action]; 
     if(label) args.push(label); 
     if(value) args.push(value); 
     this.doAsyncRequest(args); 
    }, 
    trackCustom : function(index,name,value,scope){ 
     var args = ['_setCustomVar',index,name,value]; 
     if(scope) args.push(scope); 
     this.doAsyncRequest(args); 
    } 
} 

、私は上記のようにのようなのインスタンスを作成します。私は、サイト間でユーザーを追跡できるようにするには、いくつかの単純な呼び出しを行うことができるようにクラスを作成しました

このスクリプトでは、require.jsを使用してthis.gaを割り当てます。

var that = this 
$.each(payload.events,function(index,event){ 
    if(event.eventType == 'page'){ 
     var pagePath = event.currentURL.replace(/^(https?:\/\/[^\/]+)/i,''); 
     that.ga.trackPageView(pagePath); 
    } else { 
     that.ga.trackEvent(event.eventType,event.elementClass); 
    } 
}); 

payload.eventsちょうどイベントの配列が含まれています。私はこれを使用して、ページビューを追跡しようとすると、その後

、。ページビューでは次のようなイベントが表示されます。{'eventType':'page','currentURL':'http://www.testurl.com/#!/testing/test/test'}

これはすべてGoogleが正常に動作しますが、アナリティクスではページビューをユニークなページ訪問として追跡し、ユーザーの訪問を追跡しません。だから私の分析は、私が本当にやっているよりも多くの訪問と、ばかばかしい直帰率を持っているように見えるので、やや役に立たない。

この問題を修正し、通常のアナリティクスインストールのようにページビューを追跡するようなものがありますか?

+0

それは、要素 'that.ga'が設定されている方法と関係するかもしれません。それはクッキーの問題でなければなりません(Googleはすべての訪問が新しい訪問であるようにクッキーを取得していません)。そこからデバッグしてみてください。 – Frankie

+1

フランキー - あなたが正しいと思います。私は

関連する問題