我应该将Google Analytics JS放在最后还是最后?

时间:2010-07-04 02:51:34

标签: google-analytics

Google向我提供了一段javascript,并告诉我将其包含在<head>

我可以把它放在<body>的末尾,或者如果我这样做会产生一些副作用吗?

8 个答案:

答案 0 :(得分:141)

将其放在<head>部分的末尾有助于确保即使用户不让页面完成加载也会跟踪您的指标。

他们过去常常告诉你把它放在页面底部,然后再加上对处理部分页面加载的支持。

直接来自Google:

  

其中一个主要优点   您可以使用异步代码段   将它放在HTML的顶部   文献。这增加了   跟踪信标的可能性   将在用户离开之前发送   这页纸。习惯上放置   <head>部分中的JavaScript代码,   我们建议放置代码段   在该部分的底部   为了获得最佳表现。

请参阅 Google Analytics帮助Add the tracking code directly to your site

答案 1 :(得分:5)

您可以将它放在任何您想要的地方。我总是把跟踪代码放在页面的末尾,我从来没有遇到任何问题。

答案 2 :(得分:3)

2020更新

Google当前建议三个不同的位置,这令人沮丧。我还没有直接从Google找到任何技术理由。

  • 对于静态网站,general help page告诉我们将代码段放置在“ </head>结束标记之前”。

  • 对于动态网站(带有服务器生成的文档),该网站表示要在“ <body>标记后立即放置”。

  • 对于所有站点,developer site仍然需要我们将其放置在“ <head>标记的顶部附近以及任何其他脚本或CSS标记之前”。

这些是实质上不同的位置,对于特定用户而言最佳的选择可能取决于是否需要收集部分页面加载。可能需要进行一些测试。

答案 3 :(得分:2)

您可以将它放在页面上任何您想要的位置,并且无论是在头部还是在身体中,都可以在页面的任何位置运行。但根据Google支持(Add the tracking code directly to your site),建议在标题中添加在结束</head>标记之前立即粘贴。

来自good article的段落解释了为什么要将代码放入头标记

  

只有在加载代码后才会记录网页浏览。所以   越早加载代码,就越早记录Pageview。让我们   说你有一个很棒的博客页面,这是一个缓慢的加载,甚至采取   加载一切都需要10到20秒。如果您的Google代码没有   开始直到页面结束,它可以像旧的一样被举起来   用于保存其他代码行的非异步代码。除了现在   它正在阻止跟踪代码。如果您网站的访问者访问了该网站   页面,然后在跟踪代码触发Pageview之前离开它,   然后你失去了那位访客。他们现在成为新的直接访问   他们登陆的网站的任何页面。这可以做各种各样的   您网站上的数据不正确。

答案 4 :(得分:0)

在头部,就在关闭之前&lt; / head&gt;标记,然后您在网站站长工具中验证您的网站时遇到任何问题。

答案 5 :(得分:0)

将以下代码(称为“JavaScript跟踪代码段”)添加到您网站的模板是开始使用analytics.js的最简单方法。

代码应添加在标记顶部附近和任何其他脚本或CSS标记之前,字符串'UA-XXXXX-Y'应替换为属性ID(也称为“跟踪ID”)您要跟踪的Google Analytics媒体资源。

<!-- Google Analytics -->
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');

ga('create', 'UA-XXXXX-Y', 'auto');
ga('send', 'pageview');
</script>
<!-- End Google Analytics -->

上面的代码主要做了四件事:

  1. 创建一个从https://www.google-analytics.com/analytics.js开始异步下载analytics.js JavaScript库的元素

  2. 初始化一个全局ga函数(称为ga()命令队列),该函数允许您在analytics.js库加载并准备就绪后安排运行命令。

  3. 向ga()命令队列添加命令,为通过“UA-XXXXX-Y”参数指定的属性创建新的跟踪器对象。

  4. 向ga()命令队列添加另一个命令,以向当前页面的Google Analytics发送综合浏览量。

答案 6 :(得分:0)

2021 年关于页面加载速度的补充

在 2021 年之前,答案非常简单。一般来说,谷歌分析在页面加载时尽早运行时收集最可靠的数据。但有两点需要考虑:

  1. 许多 2021 年的 GA 实现都使用 Google 标签管理器,该管理器还会加载其他有时很重的脚本。几年前并非如此。
  2. Google 引入了 Core Web Vitals 和移动优先索引及其对 SEO 的重要性,这意味着 Google Analytics 的准确性不再是放置代码时唯一需要考虑的因素。另一个是页面加载时间。

在某些情况下,当您将 GA 和 GTM 放在脚本繁重的网站上时,很容易影响页面的加载时间和核心 Web Vitals 的实现。您可以在许多热门网站的 Google PageSpeed Insights 中看到这种影响——在 2021 年之前,这几乎无关紧要。现在,改变 GTM(和 GA)的位置可以在 PageSpeed Insights 结果中产生很大的不同。在 PageSpeed Insights 中查看“移除阻止渲染的 javascript”建议包含 GTM 和 GA 标签的频率。

所以,总而言之,在 2021 年,您甚至会希望将 GA 代码放在正文的末尾。您必须格外小心您的决定,尤其是在使用 GTM 和其他脚本实现它时。

答案 7 :(得分:-2)

应始终将代码添加到标记顶部附近以及任何其他脚本或CSS标记之前,并且字符'UA-XXXXX-Y'应替换为属性ID(也称为&# 34;跟踪您要跟踪的Google Analytics(分析)属性的ID和#34 ;.