
2020年3月13日
什么是Google跟踪代码管理器Noscript?
更新时间:2020年5月13日。 创建新的Google跟踪代码管理器容器后,界面要求在您的网站上放置两个代码,其中一个<head>开幕之后<body>标签。但是您是否想过为什么为什么要用两个代码而不是一个?
通常,跟踪工具(例如Google Analytics(分析),Mixpanel或其他工具)需要在所有页面上放置一个代码,那么GTM有何不同?
在这篇博客中,我’ll解释什么是Google跟踪代码管理器Noscript以及为什么需要它(毕竟不需要)。
两个代码
该视图看起来很熟悉,没有’t it?
顶级(又称 <script> 部分)是Google跟踪代码管理器的本质。 您将其放在代码中的较高位置,它将尽快加载,因此您的营销和跟踪代码将更快地捕获数据。结果,您的数据将更加准确。
此代码负责所有的跟踪魔术’发生在网站上。它创建了 资料层,启动触发器,发送标签等。
的 <script> 一部分做很多的重型起重器。没有它,您的GTM实施将毫无价值。
现在,第二代码背后的故事完全不同, <noscript>。如果我告诉你呢’是不必要的吗?看完无数的Google跟踪代码管理器容器后,我可以说95%的常规日常营销人员(#madeUpStatistics)就不要’不需要它(甚至更多)。但是他们仍然使用它(因为Google’的说明是这样)。
为什么?
Google Tag Manager 没有 script works only in browsers when JavaScript is off
不幸的是,我没有’没有找到有关有多少人在没有JavaScript的情况下浏览网络的任何相关统计信息,但我没有’认为其中有很多(即使我’我看到其他人在说不同的话)。只需尝试禁用JavaScript一段时间,然后浏览您喜欢的网站。仔细看看会发生什么。
扰流板警报:很多事情根本不起作用。和我’我不仅在谈论精美的动画。一世’我谈论的是诸如cookie之类的实际功能。在没有JS的情况下,网络上存在一些严重的局限性,因此没有多少人应该选择此选项。
无论如何,现在对您来说可能很有意义,为什么第二个代码被<noscript>。因为它仅在禁用JavaScript时起作用。
Â
Â
Google跟踪代码管理器Noscript如何工作?
关闭JS并加载页面后,<noscript>启动一个iFrame.iFrame是在网页内使用的嵌入式框架,用于在网页内加载另一个HTML文档(例如,网页内的网页)。
它们用于许多方面,例如网络分析,广告定位和嵌入式第三者内容。 Adsense横幅广告? iFrame。嵌入的生成形式?大概是iFrame。在线上有很多东西可以利用iFrame。
反正回到<noscript>。加载页面时,也会加载iFrame,并通过它触发代码。那’就像非JavaScript环境的解决方法一样。如果启用了JavaScript,则<noscript>标签会被忽略,所有标签都会根据其标准规则正常触发。
但是,那里’一个但。禁用JS时仅支持一种标记类型, 自定义图片标签。一世’我写了广泛的 关于它的指南Â但这里’s a quick recap.
自定义图片标签
自定义图片标签从特定的网址请求图片。有趣的是,通过发出请求,您实际上是 将信息传输到服务器.
例如,如果您通过URL请求图像 //www.example.com/something?参数1 =好&参数2 = 123,接收服务器处理 参数1和 参数2并采取相应措施(例如,将这些参数注册为事件)。
换句话说,当页面加载时,将触发包含特定参数(例如,页面URL)的“自定义图像”标记。这些参数是传输到接收服务器(例如Google Analytics(分析))的数据点。
但是,并非一切都那么简单。有很多限制。
关闭JavaScript后的Google跟踪代码管理器限制
忘记所有触发器,例如“表单提交”,“ YouTube跟踪”,“滚动”,“跟踪”等。当JS处于关闭状态时,只有“页面视图”触发器(“页面视图”,“ DOM已就绪”和“加载窗口”)才起作用’我们对此无能为力。
至于变量,大多数变量在这种情况下也没有用。一世’ve prepared a 所有GTM变量的备忘单 +哪些需要JavaScript,而另一些则需要JavaScript才能正常运行。
内置变量 | 没有JS的作品? | 评论 |
点击元素 | 没有 | |
点击编号 | 没有 | |
点击目标 | 没有 | |
点击文字 | 没有 | |
点击网址 | 没有 | |
货柜编号 | 是 | |
容器版本 | 是 | |
调试模式 | 是 | |
环境名称 | 是 | |
错误线 | 没有 | |
错误信息 | 没有 | |
错误网址 | 没有 | |
事件 | 部分地 | 仅返回与浏览量相关的事件的值 |
表格类 | 没有 | |
表单元素 | 没有 | |
表格编号 | 没有 | |
表单目标 | 没有 | |
表格文字 | 没有 | Â |
表格网址 | 没有 | |
历史资料 | 没有 | |
HTML ID | 没有 | |
新历史片段 | 没有 | |
新历史状态 | 没有 | |
旧历史片段 | 没有 | |
旧历史州 | 没有 | |
屏幕持续时间 | 没有 | |
页面主机名 | 是 | |
页面路径 | 是 | |
页面网址 | 是 | |
可见百分比 | 没有 | |
随机数 | 是 | |
推荐人 | 没有 | |
滚动深度阈值 | 没有 | |
滚动深度单位 | 没有 | |
滚动方向 | 没有 | |
视频当前时间 | 没有 | |
影片百分比 | 没有 | |
视频提供商 | 没有 | |
影片状态 | 没有 | |
影片标题 | 没有 | |
影片网址 | 没有 | |
视频可见 | 没有 | |
用户定义的变量 | ||
HTTP引荐来源网址 | 没有 | |
网址 | 是 | |
第一方Cookie | 没有 | |
自定义JavaScript | 没有 | |
数据层变量 | 部分地 | 需要将它们添加为查询参数。 阅读更多. |
JavaScript变数 | 没有 | |
自动事件变量 | 没有 | |
DOM元素 | 没有 | |
元素可见性 | 没有 | |
不变 | 是 | |
自订活动 | 部分地 | 仅返回与浏览量相关的事件的值 |
环境名称 | 是 | |
Google Analytics(分析)设置 | 没有 | |
查找表 | 部分地 | 仅适用于不依赖JS的那些变量 |
随机数 | 是 | |
正则表 | 没有 | |
货柜编号 | 是 | |
容器版本号 | 是 | |
调试模式 | 是 |
So, when exactly do I need to use Google Tag Manager 没有 script?
您需要放置<noscript>网站上的代码,如果:
- 您计划跟踪已在其浏览器上禁用JavaScript的访问者。
- 或者你想 在Google 搜索 Console中验证网站的所有权 通过选择“使用Google跟踪代码管理器进行验证” option.
- 或者你不’现在不打算做上述活动, 但也许将来会成为优先事项。
在 all other cases (as far as I know), Google Tag Manager 没有 script is unnecessary so feel free to ignore it. If you think that I’m wrong, I’我会很高兴听到您的意见并学习新知识。

进一步阅读
This is not my first blog post related to Google Tag Manager 没有 script, so if you want to learn more on how to use it, here are a couple of guides:
Google跟踪代码管理器Noscript:常见问题解答+结论
本部分适用于那些急于想快速学习一切的人。一世’列出了与Google跟踪代码管理器noscript相关的最常见问题,希望您’会找到所需的答案。这也可以作为这篇文章的结论:
#1是<noscript>必须将GTM代码段的一部分放置在页面上。 不会啦’不是。如果您愿意,可以将其忽略’对以下内容不感兴趣:
- 禁用JavaScript的访客跟踪
- 通过Google跟踪代码管理器在Google 搜索 Console中进行网站验证。
#2。我应该放置<noscript> only 在里面<body>网站的一部分? 是。<noscript>应该放在<body>或根本不放在网站上。以来<noscript>启动iFrame,并且<head>, your website’的代码将无效。
#3。在浏览器中禁用JavaScript时,所有标签都能工作吗? 那时几乎没有标签会起作用,除了 自定义图片标签.
#4。数据层呢? 关闭JavaScript会怎样? 由于数据层完全依赖JavaScript,因此禁用JS时它将无法正常工作,除非开发人员使用查询参数修饰iframe链接。 在这里了解更多.
#5。那么“自定义图像”标签中没有数据层变量吗?Â如果您只是简单地粘贴<noscript>对于网站,数据层变量将不起作用。但是,如果您知道如何编码或可以访问开发人员,则可以要求他/她在开发人员内部装饰iframe链接。<noscript>与查询参数。然后,如果您的容器包含数据层变量,则GTM将获取这些查询参数。 在此处详细了解.
#6。如果在浏览器中启用了JavaScript,则<noscript> snippet active? 不。只要打开JavaScript,它就保持不活动状态。
#7。因此,“自定义图片”标记仅在禁用JavaScript时有效吗? 自定义图像标签可在JS和非JS环境中使用。启用JavaScript后,会通过触发“自定义图片”代码<script> snippet, and via <nosript> when JS is off.
#8。禁用JS后,哪个触发工作<noscript> is active? 仅基于页面视图的触发器,例如页面视图,DOM就绪和窗口加载。所有其他触发器均无法正常运行。
#9。禁用JavaScript时,哪些GTM变量仍可以起作用? 简而言之,所有与页面相关的变量,例如页面路径,页面URL等。此外,还有实用程序,例如包含的ID,调试模式。也是一个常数和一个随机数。有关完整列表,请参见本章 关闭JavaScript时的Google跟踪代码管理器限制。
#10. 等等,GTM预览模式如何? Isn’它也基于JavaScript吗?那我该如何调试我的跟踪? 是的,预览模式也无法使用。浏览器’的“网络”选项卡将是您最好的朋友。一世’ve 在本指南中解释了该问题.
#11。在Google Tag Assistant中,出现以下错误:找不到gtm no-script代码:缺少或不在<body>. What should I do? As you already know after reading this blog post, GTM 没有 script is not essential for GTM to work. You need it only if you plan to track users who have JavaScript disabled or if you want to verify your 搜索 Console属性.
For 搜索 Console verification to work it is crucial to have the 没有 script part placed RIGHT AFTER the opening <body>您网站的标签。
为了跟踪已禁用JavaScript的访问者, ’s completely enough to have the 没有 script code placed 任何地方 在里面<body>.

你好朱利叶斯,
在您的常见问题中,#4部分不正确,而#5完全不正确。 :)
数据层变量s work with 没有 script tags - they just need to be passed as query parameters. See:
//developers.google.com/tag-manager/devguide#adding-data-layer-variables-for-devices-without-javascript-support
有趣的:)尽快更新FAQ。谢谢。
他们是否有理由说将noscript代码段放在body标签后,而不是它可以加载的最早?不久前,当V2代码要求两个代码段都放在开头body标签之后时,如果该代码是另一个元素的子元素(例如, div元素。如果noscript代码不是body标签的直接子代,还会有问题吗?我知道这是一个深奥的问题,但很好奇是否仍然适用。
的 main reason why GTM asks you to add the 没有 script part immediately after the opening 身体 tag is 搜索 Console属性 verification. If you don't plan to use it, then you can add the 没有 script 任何地方 you want 在里面身体.
你好朱利叶斯,
What if I just have the 没有 script on the website, no 脚本 part. What will be the difference?
Your regular tags will not work if the 脚本 part is missing. 的 脚本 part is a must-have.
你好朱利叶斯,
您如何在GDPR中使用GTM-noscript?从我的角度来看,未经用户的Cookie同意,不得开始任何跟踪。没有Java语言-> 没有 cookie consent ->没有追踪!你怎么看?
如果您通过自定义图片标记传递PII,则可以,您需要对此表示同意。
GDPR不仅与Cookie有关,而且与PII有关。
朱利叶斯,尽管我的任务是了解和评估我们当前GA实施的效率,但我不是数字营销商或数据分析师。我会告诉你这有点混乱,但是我确实在您的网站上学到很多东西,谢谢!
因此,我认为我们不需要网站上的零件,但是删除它有任何好处吗?我能否以任何方式证明删除它会带来某种程度的效率提高,而为了删除它而将其删除。如果我不能证明删除它,也不能真正证明拥有它,那么我会立即对此有所回击,但是它已经存在,因此很难证明删除它是合理的。
If there is an improvement in performance (after removing the 没有 script), most likely, it will be very minimal.
我有一个网络媒体资源,由于情况恶化,我们无法将任何内容插入body标签。结果,预览模式根本无法在该网站上使用。窗口加载为空白,然后继续尝试加载。我不能肯定这是否会发生在每个人身上,所以我很想听听其他人是否遇到了不同的事情。
这可能是由于您网站上的内容安全政策(您需要与开发人员交谈)引起的,或是网站上的某些代码与预览模式发生冲突。在这种情况下,您需要登录到GTM界面,然后在右上角单击“发送反馈”,并提供有关该问题的所有详细信息。