如果通过 Google 标签管理器自定义 HTML 将 JavaScript 标签插入到页面中,它们会有多延迟?
How delayed are JavaScript tags if they are inserted onto page via Google Tag Manager's custom HTML?
我正在尝试将一些自定义 JS 放入公司网站,该网站因平台而受到严格限制(例如,我们的供应商提供的网站编辑器会自动删除任何 "script" 标签)。出于这个原因,我尝试通过带有自定义 HTML 的标签管理器插入我的自定义 js 脚本。
虽然不可靠,但它确实有效。有时我的脚本会加载,但大多数时候不会。值得注意的一点是,我们的供应商只允许我们将标签容器插入 "body" 的顶部,并在 "head" 中有一个 "script asyn"。此外,我们的 GTM 容器在没有适当调整的情况下在单独的数据层上设置不正确。所以我的问题是:
1) 有没有办法让我在瀑布式分析(或其他任何替代方法)中检查我自己的脚本加载需要多长时间?
2) 跟踪代码管理器加载的脚本是否仅在页面上的所有内容都加载完毕后才会触发?
3) 将代码粘贴到外部 js 中还是内联是加载我的自定义标签的可靠方式?修复 dataLayer 问题是否也会提高发射速度?
提前致谢!
使用 GTM、使用外部文件甚至内嵌代码之间实际上并没有太大区别。与其他一些标签管理器不同,GTM 不从远程服务器获取标签;相反,它将所有标签打包成一个 javascript 函数并将其链接到您的页面(您可以通过调用 http://www.googletagmanager.com/gtm.js?id=GTM-XXXXXX 来测试它,其中 xxxxx 是您容器的 ID,制作本地副本并重定向 GTM 请求到该本地副本 - 标签将像以前一样触发)。
js文件也包含了所有配置的规则,正是这些规则决定了标签何时被触发。
触发标记的最早时间点是页面加载 - 即您的浏览器呈现 GTM 代码的时刻。下一个(默认)点是 DOM 就绪,当所有结构元素都已创建但不一定所有资产都已加载时,然后是 window.loaded 一切就绪时。页面加载后,您可以有自定义事件或 click/submit 等事件。
关于您的问题:
1) 您可以像调试任何其他 JS 标签一样调试 GTM 标签(例如,在浏览器开发控制台中使用瀑布图)
2) 否。何时触发脚本由配置的规则决定。触发标签的最早时刻是加载 GTM 代码时。但是,标签不会(默认情况下)以任何特定顺序触发。
3) 任何在 GTM 中有问题的脚本在内联粘贴时也可能会出现问题。使用GTM与使用外部js文件没有太大区别,只是GTM包含了很多代码来评估规则和触发器。
我正在尝试将一些自定义 JS 放入公司网站,该网站因平台而受到严格限制(例如,我们的供应商提供的网站编辑器会自动删除任何 "script" 标签)。出于这个原因,我尝试通过带有自定义 HTML 的标签管理器插入我的自定义 js 脚本。
虽然不可靠,但它确实有效。有时我的脚本会加载,但大多数时候不会。值得注意的一点是,我们的供应商只允许我们将标签容器插入 "body" 的顶部,并在 "head" 中有一个 "script asyn"。此外,我们的 GTM 容器在没有适当调整的情况下在单独的数据层上设置不正确。所以我的问题是:
1) 有没有办法让我在瀑布式分析(或其他任何替代方法)中检查我自己的脚本加载需要多长时间?
2) 跟踪代码管理器加载的脚本是否仅在页面上的所有内容都加载完毕后才会触发?
3) 将代码粘贴到外部 js 中还是内联是加载我的自定义标签的可靠方式?修复 dataLayer 问题是否也会提高发射速度?
提前致谢!
使用 GTM、使用外部文件甚至内嵌代码之间实际上并没有太大区别。与其他一些标签管理器不同,GTM 不从远程服务器获取标签;相反,它将所有标签打包成一个 javascript 函数并将其链接到您的页面(您可以通过调用 http://www.googletagmanager.com/gtm.js?id=GTM-XXXXXX 来测试它,其中 xxxxx 是您容器的 ID,制作本地副本并重定向 GTM 请求到该本地副本 - 标签将像以前一样触发)。
js文件也包含了所有配置的规则,正是这些规则决定了标签何时被触发。
触发标记的最早时间点是页面加载 - 即您的浏览器呈现 GTM 代码的时刻。下一个(默认)点是 DOM 就绪,当所有结构元素都已创建但不一定所有资产都已加载时,然后是 window.loaded 一切就绪时。页面加载后,您可以有自定义事件或 click/submit 等事件。
关于您的问题:
1) 您可以像调试任何其他 JS 标签一样调试 GTM 标签(例如,在浏览器开发控制台中使用瀑布图)
2) 否。何时触发脚本由配置的规则决定。触发标签的最早时刻是加载 GTM 代码时。但是,标签不会(默认情况下)以任何特定顺序触发。
3) 任何在 GTM 中有问题的脚本在内联粘贴时也可能会出现问题。使用GTM与使用外部js文件没有太大区别,只是GTM包含了很多代码来评估规则和触发器。