javascript - 在 ionic/cordova Web 应用程序上从 GA 迁移到 GTAG 的问题
问题描述
描述
由于旧的 GA SDK 已经过时,我们正在迁移到 GTAG。迁移时,我发现了这一行:
ga('set', 'checkProtocolTask', null);
它禁用协议检查,以便 GA 脚本在 web 视图中工作(cordovafile://
显然使用协议)
我试过的
我浏览了互联网(大约 2-3 页“相似但不完全相同”的问题)
我找到的唯一解决方案是:https ://support.google.com/analytics/answer/7475953?hl= uk TLDR:在谷歌标签管理器中添加一个脚本,这将禁用谷歌分析中所有跟踪器的协议检查并使用谷歌分析设置中的那个脚本。
但是 : * 我们目前还没有使用 Google 跟踪代码管理器,所以我们必须为此进行设置。* 这对我来说似乎是一个肮脏的黑客......但我猜它并不比旧版本更好...... * 我认为在跟踪代码管理器中拥有这段代码并不好,而其他一切都在 GIT 存储库中. * 这意味着我们正在禁用协议检查,无论它被调用。而“黑客”我们只在构建移动应用程序时禁用了协议检查(桌面网络在没有这条线的情况下工作)
没有其他解决方案吗?我错了吗 ?
解决方案
所以...我刚刚意识到使用全局站点标签就像我们以前一样使用 ga。所以我实际上最终使用了我找到的页面中的解决方案:https: //support.google.com/analytics/answer/7475953?hl=uk
只有我在我的页面中使用了该代码片段,而不是在 GTM 变量中。所以每当我加载我的页面时,我都会这样做
ga(function() {
var trackers = $window.ga.getAll();
trackers.forEach(function(tracker) {
tracker.set('checkProtocolTask', null);
});
});
我将片段包装在 afunction() {...}
中,这样它显然在 ga 初始化后运行。
推荐阅读
- python - 如何在熊猫中按组计算开始时间和结束时间之间的时间差?
- python - IndexError:PyCharm 中的列表索引超出范围
- python - 如何使 QCombobox 可扩展用于分层项目?
- r - 为什么在尝试创建平衡数据时 smote 不起作用?
- angularjs - Angular 6 中的 Chart.js 画布在将鼠标悬停在画布上时显示上一个图表
- python - json列表中的值列表
- configuration - 如何在本地开发环境和 CI/CD 管道中运行 .NET Core 项目而不进行任何配置?
- typescript - 打字稿中奇怪的类型检查
- apache - htaccess 重定向到 https 排除一个 url
- pandas - 通过取两个现有列的比率在数据框中添加新列