通过Google跟踪代码管理器加载Google Analytics analytics.js上的强制SSL

El *_*obo 13 google-analytics google-tag-manager universal-analytics

我们通过Google跟踪代码管理器加载谷歌分析(通用),我找不到任何方法强制它analytics.js通过SSL 加载脚本本身; 我们forceSSL通过字段设置选项,但是当它应用时,它已经通过普通HTTP加载了初始脚本.

看起来GTM检查它是否在HTTPS URL上,然后通过HTTP加载GA,如果是这样,但我宁愿通过HTTPS强制它.有没有办法做到这一点?

Xan*_*iff 3

不幸的是,查看Google 跟踪代码管理器 - 开发指南 - 安全性最底部段落中提供的文档,内容如下:

虽然 Google 跟踪代码管理器中的大多数标记模板也是与协议相关的,但重要的是要确保在设置自定义标记以在安全页面上触发时,这些标记也是与协议相关的或安全的。

我翻阅了 GTM 配置文件,查看是否有任何公开的配置选项,但我也没有看到任何配置选项。对于您关于使用forceSSL的声明,这不会执行任何操作(正如您所发现的),因为它在已加载的GA脚本中设置配置以用于发送未来的请求(例如综合浏览量和事件)。

因此,我使用 GA 加载了一个安装有 GTM 的页面,并查看了逻辑,直到找到 Google Analytics 的加载位置。如果你看一下,我们有一个函数,它本质上是根据 location.protocol 的值确定是从 HTTP 还是 HTTPS 加载 GA,如下图所示:

HTTP 还是 HTTPS?

这意味着,除非您通过自定义 HTML 标记加载 GA 标记,否则您将无法将其更改为仅从 HTTPS 加载。您提到您正在考虑直接在页面上托管 GA - 您将在那里粘贴与在此自定义 HTML 标记中完全相同的代码段(确保它被标记包围,否则不会执行任何操作),如果您已经将 GTM 用于其他用途,则没有理由将供应商逻辑保留在多个位置。

因此,在一个很长的答案中,不,您不能指定您只想通过 SSL 加载 Google Analytics(分析)而不求助于使用自定义 HTML 标记(然后不幸的是您会失去使用 GA 标记本身的许多映射简单性) )。