簡體   English   中英

Google Event Tracker無法啟動

[英]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_idother_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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM