我应该将Google Analytics JS放在<head>还是在<body>的末尾吗?


123

Google给了我一段JavaScript,并告诉我将其包含在中<head>

我可以把它放在结尾<body>吗,否则会出现一些副作用吗?


3
他们不是说要把它放在结束</ body>标记之前吗?还是改变了?
Marko

Answers:


155

将其放在本<head>节的末尾可帮助确保即使用户不让页面完成加载也可以跟踪您的指标。

他们以前告诉您将其放在页面底部,然后才添加了对处理部分页面加载的支持。

直接来自Google:

异步代码段的主要优点之一是您可以将其放在HTML文档的顶部。这增加了在用户离开页面之前发送跟踪信标的可能性。通常将JavaScript代码放在该<head>部分中,我们建议将代码段放在该部分的底部,以实现最佳性能。

请参阅Google Analytics(分析)帮助将跟踪代码直接添加到您的网站


8
所以,如果我把它放在底部,那很好吗?我宁愿通过将所有内容放在底部(将css放在顶部以进行正确渲染)来快速加载页面-edit-将其总值放在js位置。

2
是的,这样做很好。我实际上有一个混合,但是由于提到的原因,大多数已经迁移到了将其置于顶部的位置。
克里斯·阿金

6
为什么这是优势?在我看来,我不想统计部分页面加载,因为此类用户本质上是在说他们首先犯了一个错误。即使它们确实意味着要在那里,我也不想让他们等待额外的毫秒才能看到我的内容。
梅琳达·格林

3
页面部分加载可能也意味着他们需要修复的网站所有者。想象有人走进您的商店,只是意识到外面的误导他们进入了商店。您想纠正您的广告以解决此问题。
Optimus

2
对此进行了一个小更新:而不是在末尾<head>,链接到的页面现在显示“在每个页面上打开<head>标记之后添加标记”。
布兰登

6

您可以将其放置在任何位置。我总是将跟踪代码放在页面的末尾,而且从来没有任何问题。


2
为什么要检测一个部分加载页面并在几毫秒内离开的用户?
若奥·皮门特尔·费雷拉

@JoãoPimentelFerreira,因为它也是有价值的信息,所以您可能想要衡量视图的百分比是多少
jangorecki

3

您可以将其放在页面上想要的任何位置,无论页面在头部还是身体上,都可以在页面上的任何位置运行。但是,根据Google支持(将跟踪代码直接添加到您的网站),建议您将其添加到head标签中,然后将其粘贴在结束</head>标签之前。

下一篇好的文章的段落解释了为什么将代码放在head标签中

仅在加载该代码后才记录浏览量。因此,您越早加载代码,就越早记录Pageview。假设您的博客页面很大,而且加载速度很慢,甚至需要10到20秒才能加载所有内容。如果您的Google代码直到页面末尾才开始运行,则可以保留它,就像用来保留其他代码行的旧的非异步代码一样。除了现在,它保留了跟踪代码。如果您网站的访问者访问了该页面,然后在跟踪代码触发网页浏览器之前将其离开,则您将失去该访问者。现在,他们可以直接访问所访问网站的任何页面。这会使您网站上的各种数据不正确。


0

在头部,紧接在</ head>标记之前,那么使用网站站长工具验证网站不会有任何问题。


0

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

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

<!-- 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(分析)。


让我们仔细看看,因为将其称为“命令队列”会给它带来太多的荣誉。压缩的uglified代码接受一些参数,用于解压缩一些东西并获取绑定Array.push函数的句柄。在ga“功能”是完全是束缚push。因此,可以立即优化立即调用:与其构建一个没有找到的空数组([]),不如为每个ga调用填充“参数”数组:[['create', 'UA-XXX', 'auto'], ['send', 'pageview']]
amcgregor

-3

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


2
这不能回答问题。问题是问按您所说做的副作用是什么。
彼得·霍尔
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.