GTM容器的放置与GA容器的放置相矛盾

时间:2016-04-20 16:48:44

标签: google-analytics google-tag-manager

Google支持建议将其Google Analytics跟踪代码设置为“before the closing </head> tag on every web page on your site you wish to track”。它还建议使用Google跟踪代码管理器更有效地为动态网站实施Google Analytics跟踪代码。但是,它说要将Google代码管理器代码“immediately after the opening <body> tag on every page on your site”放置,这似乎与自己相矛盾。

因此,如果我使用Google跟踪代码管理器来安装Google Analytics(正如它所建议的那样),那么Google关键字管理器容器的正确位置 - 在结束</head>标记之前或开放之后{{1}标签?

2 个答案:

答案 0 :(得分:1)

放置GA跟踪代码段的位置并不重要。官方GA文档建议将其放在<head>中的原因是因为您可以将其放在<head>中并且它会起作用。并且尽可能在文档的早期包括片段是有利的,原因有两个:

  1. 因此analytics.js脚本会尽快下载,因此可以尽快进行跟踪。 (注意:下载analytics.js所需的时间越长,访问您网站然后立即离开的人就越有可能被跟踪。也许您关心这一点,也许您不会这样做&#39} ; t - 我不是。
  2. 因为代码段定义了ga() command queue function,并且您定义的越早,您就越早使用它。如果您只在代码段中使用它,那么在您定义它的位置并不重要。
  3. 另一方面, GTM代码段无法放入<head> 。我的意思是,可以,但它可能会破坏事物。

    如果您查看GTM代码段,则会注意到<iframe>代码中包含<noscript>。如果您在HTML文档的<iframe>中放置<head>,则HTML解析器会假设您忘记添加结束</head>标记并为您关闭标记。这意味着,如果之后的标题中有任何东西(例如<link>标签,<meta>标签等),那么这些内容现在将在{{ 1}},这可能会导致错误。

    所有这一切,如果您将GTM标记添加为<body>中的最后一个标记,将HTML解析器关闭<head>并提前启动</head>将完全没有区别。

    简而言之,对于大多数用例而言,它可能并不重要。此外,我强烈建议您actually read the contents of the snippets添加到您的网站以了解他们的工作。他们并不那么可怕。

    在评论中回答您的问题:

      

    是的,但是如果GTM加载到正文中,它会将GA跟踪代码放在正文中,这与放置GA代码的位置相矛盾

    这不是真的,也不重要。如果您查看what the tracking script actually does,您会发现它主要只是下载<body>,而analytics.js标记下载<script>是否属于analytics.js<head>

答案 1 :(得分:0)

GA和GTM是两种不同的实现&#34;方法&#34;,因此并不是真正矛盾的。正如GTM文档所指定的那样,您应该在任何包含标记的开放<body>标记 之后立即放置GTM引导程序(即。<div><p>,{ {1}}等。)。

这是一个很好的参考:http://www.simoahava.com/analytics/container-snippet-gtm-secrets-revealed/

当GTM加载时,它将调用analytics.js库,并创建跟踪对象(模仿GA代码段的前几位)。然后,您可以创建您的综合浏览量标记并开始基本跟踪。