2012-09-21 14 views
0

這裏後反映是我的代碼:我的一些谷歌分析事件都沒有在24小時

HTML部分:

<div class="subscribe"> 
    <a href="#' title="library_membership">Subscribe for a Month</a> 
    <a href="#' title="library_membership">Subscribe for a Year</a> 
</div> 

的Javascript:

$js('div.subscribe a').live('click', function(e) { 
    var This = $(this); 
    e.preventDefault(); 
    if(This.html().indexOf("Month") != -1) 
     _gaq.push(["_trackEvent", "Subscriptions", "Clicked Month", This.attr("title")]); 
    else 
     _gaq.push(["_trackEvent", "Subscriptions", "Clicked Year", This.attr("title")]); 

}); 

我試圖ga_debug.js進行確認如果我的事件被推送到谷歌分析,他們確實顯示在鉻控制檯。

但是,即使在24小時後,我的點擊「訂閱一年」也沒有顯示在谷歌分析上。我點擊「訂閱一個月」已經出現。任何人都可以幫助我,爲什麼我沒有得到谷歌分析的準確數據。

回答

2

清理您的JavaScript/jQuery和它應該工作:

$('div.subscribe a').live('click', function(e) { 
    e.preventDefault(); 
    if ($(this).html().indexOf("Month") != -1) { 
     alert("month"); 
    } else { 
     alert("year"); 
    } 

});​ 

當然,你的GA代碼替換alerts

http://jsfiddle.net/8EJMK/

而且,由於live is deprecated,您可以使用on

從jQuery 1.7開始,不推薦使用.live()方法。使用.on()附加事件處理程序。老版本的jQuery用戶應優先使用.delegate(),而不要使用.live()。

取決於你使用的是什麼版本的jQuery:

$('div.subscribe a').on('click', function(e) { 
    e.preventDefault(); 
    if ($(this).html().indexOf("Month") != -1) { 
     alert("month"); 
    } else { 
     alert("year"); 
    } 

});​ 

http://jsfiddle.net/8EJMK/1/

你也可能要改變這一點:

_gaq.push(["_trackEvent", "Subscriptions", "Clicked Month", This.attr("title")]); 

要這樣:

_gaq.push(["_trackEvent", "Subscriptions", "Clicked Month", $(this).attr("title")]); 

This不起作用。應該是$(this)

+0

對不起,我有一個聲明這= $(this),這是我在寫在stackoverflow上的代碼時錯過了..我更新了上面的代碼。我沒有任何javasript錯誤。基本上,我所有的事件似乎都沒有在GA上註冊。有些是。 – ddb