Javascript 谷歌分析应该放在HTML页面的顶部还是底部?

Javascript 谷歌分析应该放在HTML页面的顶部还是底部?,javascript,html,google-analytics,html-head,Javascript,Html,Google Analytics,Html Head,谷歌建议在关闭之前将谷歌分析脚本放在正确的位置 然而,我更愿意将它与我的javascript的其余部分结合在一起,这些javascript现在都集中在一个缓存的外部文件中,该文件加载在我的HTML文件的底部。我能按我的方式做吗?如果是这样的话,那么我冒着什么风险/将下面的代码不放在HTML的头部而是放在HTML的底部的成本是多少 <script type="text/javascript"> var _gaq = _gaq || []; _gaq.push(['_setAcco

谷歌建议在关闭
之前将谷歌分析脚本放在正确的位置

然而,我更愿意将它与我的javascript的其余部分结合在一起,这些javascript现在都集中在一个缓存的外部文件中,该文件加载在我的HTML文件的底部。我能按我的方式做吗?如果是这样的话,那么我冒着什么风险/将下面的代码不放在HTML的头部而是放在HTML的底部的成本是多少

<script type="text/javascript">
 var _gaq = _gaq || [];
  _gaq.push(['_setAccount', 'UA-22180365-1']);
  _gaq.push(['_setDomainName', 'none']);
  _gaq.push(['_setAllowLinker', true]);
  _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';
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
  })();
</script>

var _gaq=_gaq | |[];
_gaq.push([''u设置帐户','UA-22180365-1']);
_gaq.push([''u setDomainName','none']);
_gaq.push([''设置Allowlinker',true]);
_gaq.push([''u trackPageview']);
(功能(){
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';
var s=document.getElementsByTagName('script')[0];s.parentNode.insertBefore(ga,s);
})();

你可以把它放在
之前,我认为这不会有任何问题。

你真的没有什么风险。建议将
标记放在
的末尾,因为在执行它所包含的Javascript时具有阻塞性。由于GA的Javascript是动态插入的,因此是非阻塞的,因此可以将其放在任何地方

我猜谷歌看到的唯一“问题”是,当把代码放在你网站的底部时,你可能无法捕获访问者/页面加载,在完成之前取消请求。如果有人调用您的HTML文档并取消请求,GA代码可能不会遇到(因此不会执行)。

实现代码 找到代码片段后,将其复制并粘贴到内容的底部,紧靠计划跟踪的每个页面的
标记之前。如果使用公共包含或模板,则可以在其中输入。要实现安全页面的跟踪代码(例如https://),请阅读如何获取安全页面的跟踪代码


你真的没有什么风险。建议将
标记放在末尾,因为执行它所包含的Javascript时具有阻塞性

那根本不是真的,詹迪

除非代码位于
中,否则您将无法获得某些功能,如实时报告或谷歌网站管理员工具验证。异步代码的全部要点在于它确实可以在加载页面其余部分时加载它。将其放在
中没有UX风险,这样做是最佳做法。资料来源:


@Stratboy我怀疑是GA代码破坏了布局。正确标记的脚本——特别是不显示任何内容的脚本,如GA脚本——不会影响布局。我会在别处寻找你的布局问题。也许可以尝试与W3C验证一下,以获得一些线索?

我同意公认的答案。我想补充一点,我注意到Google Webmaster Tools(GWT)要求跟踪代码(异步版本)在头部,以便能够通过同一站点的现有Google Analytics注册为您站点的管理员。因此,如果JS跟踪代码不在
中,则此注册选项不可用


这可能是谷歌强迫更多网站这么做的方式。也许谷歌可以更准确地跟踪那些在页面加载过程中取消访问的访问者。这些可能会为他们提供有趣的分析,以优化他们的搜索结果(例如,为他们的统计数据维护“早期反弹”事件)。

来自谷歌分析设置:

将您的代码片段(未更改,全部)粘贴到每个网页中 你想追踪的。在关闭前立即粘贴它
标签

如果您的网站使用模板生成页面,请输入 它位于包含


在结束body标签之前,我在body部分有脚本,它总是显示我的站点缺少跟踪代码分析管理面板,所以我转到head部分,它工作正常

谷歌的跟踪代码段是非阻塞的,即使在本节中使用。这不再正确。Google建议将代码放在Google的结尾标记之前:“将您的代码片段(未更改,全部)粘贴到您要跟踪的每个网页中。将其立即粘贴到结尾标记之前。”-jAndy的评论适用于“传统”脚本,但您是对的,Google Analytics已努力使其脚本无阻塞,因此在这种情况下,建议是错误的。@Analyticus“Google网站管理员工具验证”的好处是什么,或者我如何找到有关“实时报告”的更多信息。谷歌在
(在你的链接中找到)中引用的原因对我来说似乎很薄弱,“这增加了在用户离开页面之前发送跟踪信标的可能性。”如果用户在1-2秒内离开页面,我甚至还想数一数吗?这取决于你的网站。如果你的页面平均需要20秒才能加载(上帝禁止!),那么这肯定会影响你收集数据的方式。实时报告——对大多数人来说——并不是一种很好的时间利用方式。如果有其他实时事件影响您的决策,那么是的,一定要看一看。然而,对于我的客户来说,我最值得注意的一点是,如果没有明确的目标,就不要进入分析领域。这有点像去杂货店购物时没有列出清单:你总是会花费比你预期的更多的时间。