为什么谷歌Analytics(分析)不跟踪任何事件?(Why is Google Analytics

2019-09-16 15:10发布

我实现了非常标准的例子:

        <script>

            var _gaq = _gaq || [];
            _gaq.push(['_setAccount', 'UA-mycode']);
            _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);
            })();

        </script>

        <script>

            function recordOutboundLink(link, category, action) {
                try {
                    var myTracker=_gat._getTrackerByName();
                    _gaq.push(['myTracker._trackEvent', category ,  action ]);
                    setTimeout('document.location = "' + link.href + '"', 100)
                }catch(err){}
            }

        </script>

并链接有这个onclick事件:

<a id="latestDownload" href="https://example.com" onClick="recordOutboundLink(this, 'newDownloads', 'latest');return false;">Download latest version</a>

没有事件已经追踪了过去3天,这只是听起来我错了。 我已经与GA调试插件铬,这表明事件发送测试页。

有我在这里做了一些错误呢?

编辑:

页面是: refreshless.com/nouislider/download/

编辑2:

该谷歌GA调试插件显示(字面意思,而不是模糊的):

Account ID : UA-XXXXX-X

&utmac=UA-XXXXX-X

我是否需要再次按下“_setAccount”?

Answer 1:

TL;博士...离开了_getTrackerByName()调用,只需使用

_gaq.push(['myTracker._trackEvent', category ,  action ]);

较长的解释:异步跟踪允许推命令多个跟踪器(见跟踪基础 )使用像语法

_gaq.push(['_setAccount', 'UA-XXXXX-1']);
_gaq.push(['_trackPageview']);
_gaq.push(['b._setAccount', 'UA-XXXXX-2']);
_gaq.push(['b._trackPageview']);

所述_gaq.push(['myTracker._trackEvent', category , action ]); 代码假定你已经初始化myTrackerb跟踪器上面。

由于myTracker从未有过的帐户ID设置,它显示了UA-XXXXX-X在调试帐户ID。

在分析代码专门跟踪/出站链接是错误的,或者,如果设置代码名为只会工作myTracker



Answer 2:

myTracker是一个变量,所以你不能确指它在字符串中。 下面应该工作:

_gaq.push(['_trackEvent', category ,  action ]);


Answer 3:

该setTimeout的东西似乎有点冒险,我 - 它假设谷歌Analytics(分析)呼叫已被100毫秒之内。

我喜欢这样的:

function trackOutboundLink(url) {
    _gaq.push(['_trackEvent', 'outbound', 'click']);

    _gaq.push(function() {
        window.location = url;
    });
}

这排队重定向,直到谷歌Analytics(分析)异步调用完成后。

挂钩:

<a href="#" onclick="trackOutboundLink('your-url');return false;">Link</a>


文章来源: Why is Google Analytics not tracking any events?