Google Analytics代码:可以在文档中使用吗?

时间:2009-11-10 15:23:58

标签: javascript google-analytics analytics

Google建议将分析代码放在<body>标记之前。我正在尝试将电子商务集成到我的网站中,并且从页脚以外的地方调用pageTracker._addTrans会更容易。

如果我改变

会没问题
...
<script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script type="text/javascript">
try{
var pageTracker = _gat._getTracker("UA-xxxxxx-x");
pageTracker._trackPageview();
} catch(err) {}</script>
</body>

更喜欢

<body>
<script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script type="text/javascript">
try{
var pageTracker = _gat._getTracker("UA-xxxxxx-x");
} catch(err) {}</script>
...
<p>Thanks for your purchase!</p>
<script type="text/javascript">
try{
pageTracker._addTrans(...);
pageTracker._trackTrans();
} catch(err) {}</script>
...
<script type="text/javascript">
try{
pageTracker._trackPageview();
} catch(err) {}</script>
</body>

5 个答案:

答案 0 :(得分:3)

它肯定可以在网站的其他代码之前发布,但javascript会阻止加载其余页面。这就是为什么他们经常建议如果你必须加载javascript文件并且在其他所有文件(或<head>)之前加载它们并不重要,将脚本标记放在页面底部。

答案 1 :(得分:2)

使用jQuery时,我在ready事件中包含了Google Analytics代码,但它也能正常运行。

$(document).ready(function () {
  var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
  document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));

  try{
    var pageTracker = _gat._getTracker("UA-xxxxxx-x");
  } catch(err) {};

  try{
    pageTracker._addTrans(...);
    pageTracker._trackTrans();
  } catch(err) {};

  try{
    pageTracker._trackPageview();
  } catch(err) {};
});

答案 2 :(得分:0)

将跟踪代码放在结束正文标记之前只是一个推荐。您也可以将它放在头部或其他地方。

谷歌推荐这一点,因为在页脚中,其他脚本出现问题的可能性更小。但是如果你把try {} catch(e){} arround它会保存在每个地方。如果将触发跟踪Ajax请求,只需检查firebug。

答案 3 :(得分:0)

将代码放在正文末尾之前只是为了加载网页的性能,这是一个很好的做法!

答案 4 :(得分:0)

此代码可放置在可接受JavaScript代码的任何位置。这里是他们的帮助文档的链接,该文档应该放在哪里,以及它可以去的地方:

http://www.google.com/support/analytics/bin/answer.py?hl=en_US&answer=55488&utm_id=ad

希望这有帮助,

谢谢!