0

事件跟踪不适用于我的 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 -->

谢谢!

4

1 回答 1

0

您可能在 Firebug 中看不到它,因为它执行得非常快。我建议通过代理工具或 Live HTTP Headers 插件进行测试。请参阅此处推荐的工具。

你的语法是正确的。

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

<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>
于 2012-05-18T15:31:59.730 回答