首页 > 解决方案 > 在 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 存储库中. * 这意味着我们正在禁用协议检查,无论它被调用。而“黑客”我们只在构建移动应用程序时禁用了协议检查(桌面网络在没有这条线的情况下工作)

没有其他解决方案吗?我错了吗 ?

标签: javascriptionic-frameworkgoogle-analyticsgoogle-tag-manager

解决方案


所以...我刚刚意识到使用全局站点标签就像我们以前一样使用 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 初始化后运行。


推荐阅读