Google Analytics事件跟踪无法使用Magento 1.5.0.1

时间:2012-05-18 14:43:52

标签: magento google-analytics magento-1.5

事件跟踪不适用于我的Magento 1.5.0.1 CE安装。我已将代码app / code / local / Mage / GoogleAnalytics / Block / GA.php更新为:

 <!-- BEGIN GOOGLE ANALYTICS CODE v2 -->
<script type="text/javascript">
//<![CDATA[

var _gaq = _gaq || [];
' . $this->_getPageTrackingCode($accountId) . '
' . $this->_getOrdersTrackingCode() . '
_gaq.push(["_trackPageLoadTime"]);

(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\';
    (document.getElementsByTagName(\'head\')[0] || document.getElementsByTagName(\'body\')[0]).appendChild(ga);
})();

//]]>
</script>
<!-- END GOOGLE ANALYTICS CODE -->';

然后我在我的主页上添加了一个事件跟踪链接:

<a href="/page-to-link-to" onClick="_gaq.push(['_trackEvent', 'Homepage Events', 'Category Headings', 'Event Im Tracking']);">LINK</a>

所以我通过firebug在firefox中测试了这个,事件不起作用。有人可以帮助兄弟出去吗?

此外,代码也会在开始标记之后插入。

这是它呈现的方式:

<!-- BEGIN GOOGLE ANALYTICS CODE v2 -->
<script type="text/javascript">
//<![CDATA[
    var _gaq = _gaq || [];

_gaq.push(['_setAccount', 'UA-XXXXXX-X']);
_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';
    (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(ga);
    })();
//]]>
</script>
<!-- END GOOGLE ANALYTICS CODE -->

谢谢!

1 个答案:

答案 0 :(得分:0)

你可能在Firebug中看不到它,因为它执行得那么快。我建议通过代理工具或Live HTTP Headers插件进行测试。 See the tools recommended here.

您的语法是正确的。

此外,您可能需要添加500ms左右的setTimeout()来延迟点击,这样您就不会遇到在完成跟踪调用执行之前浏览器转到该链接的竞争条件。我在blog post写了一个例子:

<a href="/page-to-link-to" onclick="var that=this;_gaq.push(['_trackEvent', 'Homepage Events', 'Category Headings', 'Event Im Tracking']);setTimeout(function(){location.href=that.href;},500);return false;">LINK</a>