javascript - Google 跟踪代码管理器包括旧版 Analytics (GA) 和 Universal Analytics (UA) 脚本
问题描述
我正在为我们的在线商店提供更好的性能和加载时间,我们在上面使用 Google 跟踪代码管理器。但默认情况下,包含 google tag manager 的脚本也会加载 Google Analytics(旧版ga.js
)和 Universal Google Analytics(analytics.js
)。我不需要他们两个,但如果有必要我只需要通用谷歌分析。
那么为什么谷歌标签管理器同时包含这两个脚本呢?
作为编码简历,这是标签管理器包含:
<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
})(window,document,'script','dataLayer','GTM-XXXX');</script>
-
在网络选项卡上,它出现了包含,在它之后,它会自动加载两个脚本:
-
如果我分析 Google 跟踪代码管理器脚本 ( gtm.js
),我会看到以下内容:
else if (!a) {
var N = c["60"] ? ".google-analytics.com/u/ga_debug.js" : ".google-analytics.com/ga.js";
a = !0;
u(x("https://ssl", "http://www", N, r), O, c["66"])
}
和这个:
if (!a) {
var M = b["60"] ? "u/analytics_debug.js" : "analytics.js";
b[""] && !b["60"] && (M = "internal/" + M);
a = !0;
bb(x("https:", "http:", "//www.google-analytics.com/" + M, d && d.forceSSL), function() {
var a = $a();
a && a.loaded ||
b["66"]();
}, b["66"])
}
-
所以谷歌标签管理器包含这两个脚本。我可以假设通用谷歌分析,但遗留ga.js
脚本为什么?
我可以避免包含两个或仅包含旧ga.js
脚本吗?
谢谢你。
编辑
我开始赏金是因为我需要解释为什么会发生这种情况,以及是否有可能避免这种行为。
解决方案
推荐阅读
- amazon-web-services - 线程“JavaFX 应用程序线程”com.amazonaws.services.s3.model.AmazonS3Exception 中的异常:访问被拒绝
- php - 数据表 SQL Server UI 输出
- dask - 如何在分布式 dask 数组中找到最小的 n 值
- java - 在值为空的情况下从 Java 流中过滤值
- javascript - 我应该对这些使用 else-if 语句吗?
- scala - 将日期从一种格式解析为另一种格式
- python-2.7 - 在 div 类中获取MYTEXT之间的文本
- azure - Azure dns 将 www 转发到裸 no-www
- eclipse - STS 在一个干净的新 Maven 项目中显示错误
- android-studio - 从 Android Studio 3 到带有 Android 9 的三星的 APK 安装卡住了