[英]Google Event Tracker not firing
我有一個事件跟蹤器(位於main.js中,而不是嵌入式單擊處理程序中),該事件跟蹤器應該在用戶單擊具有特定類的項目時觸發。 但是,我的客戶報告說這些事件跟蹤程序從不觸發,或者至少沒有看到它們的響應。 但是,整個站點中的其他GA事件跟蹤器正在運行。 誰能看到以下與我的代碼有關的任何問題可能導致此問題?
main.js中處理此問題的js函數如下所示:
$('.vote.complete').click(function()
{
whence = "toCompleted";
vote_id = $(this).data('vote_id');
cid = $(this).data('campaign_id');
c_title = $('#outfitPair'+cid).data('campaign_title');
u_id = $('#outfitPair'+cid).data('other_id');
_gaq = window._gaq;
if(_gaq != undefined){
_gaq.push(['_trackEvent', 'ViewPreviousVote', c_title, u_id]);
}
$('#outfitPair'+cid).find('.button.vote').removeClass('to-vote');
$(this).addClass('to-vote');
$.get('/campaigns/new_pair?whence='+whence+'&vote_id='+vote_id)
return false;
});
所單擊的html如下所示:
<a href="#" class="button vote complete" data-vote_id="9490" data-campaign_id="5">
<span>01</span>
</a>
還有我的布局標題中的腳本:
<script>
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-XXXXXXXX-X']);
_gaq.push(['_setDomainName', 'mywebsite.com']);
_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);
})();
window._gaq = _gaq;
</script>
加載網頁后,GA Debugger在我的js控制台中返回了此信息,盡管當我嘗試觸發事件跟蹤器時,沒有發現新的內容:
Registered new plugin: "linker" analytics_debug.js:5
Creating new tracker: t0 analytics_debug.js:5
Sent beacon:
v=1&_v=j11d&a=XXXXXXXXX&t=pageview&_s=1&dl=http%3A%2F%2Fapp.website.com%2Fcampaigns%2Fvote&dr=&ul=en-us&de=UTF-8&dt=Website&sd=32-bit&sr=1366x768&vp=1349x667&je=1&fl=11.8%20r800&_u=MAC~&cid=XX.XX&tid=UA-XXXXXXX-X&z=812880404
analytics_debug.js:5
adSenseId (&a): XXXXXXXXXX analytics_debug.js:5
apiVersion (&v): 1 analytics_debug.js:5
clientId (&cid): XXX.XXX analytics_debug.js:5
encoding (&de): UTF-8 analytics_debug.js:5
flashVersion (&fl): 11.8 r800 analytics_debug.js:5
hitType (&t): pageview analytics_debug.js:5
javaEnabled (&je): 1 analytics_debug.js:5
language (&ul): en-us analytics_debug.js:5
location (&dl): http://app.website.com analytics_debug.js:5
referrer (&dr): analytics_debug.js:5
screenColors (&sd): 32-bit analytics_debug.js:5
screenResolution (&sr): 1366x768 analytics_debug.js:5
title (&dt): Website analytics_debug.js:5
trackingId (&tid): UA-XXXXXXXX-X analytics_debug.js:5
viewportSize (&vp): 1349x667 analytics_debug.js:5
分配給u_id
的other_id
值是數字嗎? jQuery .data()
會嘗試_trackEvent
轉換為Javascript值,如果opt_label
參數為整數,則_trackEvent
可能會靜默失敗。
您可以使用.attr()
來獲取屬性值,而無需進行轉換。 嘗試:
u_id = $('#outfitPair'+cid).attr('data-other_id');
我知道這是一個老問題,但是根據調試器的輸出,看起來有些期待新的“ Universal Analytics”跟蹤代碼。 我可以知道,因為調試器輸出顯示的是“ analytics_debug.js”而不是“ ga_debug.js”。
您在標頭中提供的腳本使用的是舊的異步語法。 也許您在Google Analytics(分析)中創建了一個媒體資源,然后選擇了Universal Analytics(而不是Classic)。 如果是這樣,則應嘗試升級到新代碼:
<!-- Google Analytics -->
<script>
(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-XXXX-Y');
ga('send', 'pageview');
</script>
<!-- End Google Analytics -->
https://developers.google.com/analytics/devguides/collection/analyticsjs/
然后您的事件代碼將為ga('send', 'event', category, action, label, value);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.