【问题标题】:Google Analytics code: can it go before in the document?谷歌分析代码:它可以放在文档中吗?
【发布时间】:2009-11-10 15:23:58
【问题描述】:

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>

【问题讨论】:

    标签: javascript google-analytics analytics


    【解决方案1】:

    它当然可以先于网站的其余代码,但 javascript 会阻止页面其余部分的加载。这就是为什么他们经常建议如果您必须加载 javascript 文件并且在其他所有内容之前加载它们(或在 &lt;head&gt; 中)并不重要,将脚本标签放在页面底部。

    【讨论】:

    • 我猜这是可能的,但它必须有一些副作用,谢谢:)
    【解决方案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) {};
    });
    

    【讨论】:

    • +1 很酷的解决方案,我会使用 $('').attr("type","text/javascript").attr("src",gaJsHost + "google- analytics.com/ga.js”);而不是 document.write 虽然...
    • 根据code.google.com/apis/analytics/docs/tracking/…,这可能不是一个好主意。
    • 豪尔赫,我明白你的意思了。除了 jQuery.ready() 在加载 DOM 时触发,而不是在加载所有图像之后触发。但是,我的解决方案可能还有其他相关问题。最好把它放在
    【解决方案3】:

    仅建议将跟踪代码放在结束正文标记之前。你也可以把它放在头上或其他地方。

    Google 建议这样做,因为在页脚中,其他脚本造成问题的机会更少。但是如果你把 try {} catch (e) {} 放在周围,它将被保存在每个地方。如果跟踪 Ajax 请求将被触发,只需检查 firebug。

    【讨论】:

      【解决方案4】:

      将代码放在正文末尾之前是一种很好的做法,仅出于网页加载性能的考虑!

      【讨论】:

        【解决方案5】:

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

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

        希望对你有帮助,

        谢谢!

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2011-08-02
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多