谷歌分析事件跟踪

5

我正在尝试将Google事件跟踪API实现到HTML5播放器中,但出于某种原因它无法工作。这是我的做法:

var _gaq = _gaq || [];
    _gaq.push(['_setAccount', 'UA-myid-1']);
    _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//u/ga_debug.js';
        var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
    })();


    if (typeof _gaq != undefined){
        _gaq.push(['_trackEvent', 'krusty-player', eventName, 'demo', 1]);
    }

我从谷歌文档页面复制了代码,所以我想这一定是正确的。在开发者控制台中,当代码运行时我没有看到任何HTTP请求发生,但当我执行以下操作:

console.log(_gaq.push(['_trackEvent', 'krusty-player', eventName]));

每次调用这部分代码时,我会得到一个计数器,它会自动加1。在这里没有错误。

我还尝试使用以下方法:

_trackEvent('krusty-player', eventName);

这会返回错误"_trackEvent未定义"。你有什么想法吗?

看起来没问题。_trackPageview 是否正确触发了? - Tchoupi
@MathieuImbert 不,我也没有看到这个请求。 - tk66
你要找什么请求(request)?它应该是一个名为__utm.gif的图片文件。 - Tchoupi
我正在清除控制台,当我触发事件时没有新的请求进来。无论如何,我正在寻找像这里发布的内容一样的东西:http://pranshuarya.com/jaal/Development/how-to-check-google-analytics-event-tracking.html - tk66
没有代码访问权限时调试非常困难。您的网站是公开的吗?我们可以看一下吗? - Tchoupi
显示剩余2条评论
2个回答

7
你是否在本地主机或内部网络上进行测试?请参见Google Analytics GIF请求未发送了解详情。
简而言之:默认情况下,本地主机服务器不会进行跟踪GIF请求。
关于“_trackEvent未定义”: _trackEvent()不是一个独立的函数,需要通过_gaq.push调用。
_gaq.push(['_trackEvent', category, action])

或通过pageTracker对象(旧样式、非异步分析)进行。
pageTracker._trackEvent(category, action)

谢谢!这解决了我的问题。@tk66:我觉得这应该被接受为答案... - tony722
1
请确保您已安装异步跟踪代码... https://developers.google.com/analytics/devguides/collection/gajs/asyncTracking - ATSiem

1
_gaq.push操作绑定到事件上。
例如:
<span onClick="_gaq.push(['_trackEvent', EVENT_NAME, EVENT_ACTION, EVENT_DESCRIPTION]);">Click me</span>

将大写字母名称重命名为普通/动态生成的文本,它应该可以工作。


然后只需在键盘事件上放置 _gaq.push(['_trackEvent', EVENT_NAME, EVENT_ACTION, EVENT_DESCRIPTION]);$('#target').keydown(function() { _gaq.push(['_trackEvent', EVENT_NAME, EVENT_ACTION, EVENT_DESCRIPTION]); });),最终如果您想要过滤所需的键盘事件 - http://api.jquery.com/keydown/ - Cosmin
这是一个大项目,键盘事件的结构已经存在,所以我不能改变它的方式。但是在JavaScript中,它不应该以同样的方式工作吗? - tk66
是的,应该可以。我在所有项目中都有完全相同的代码,并且它们都能正常工作。很抱歉我无法提供更多帮助。 - Cosmin

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接