google-analytics - 使用文件 ://的站点上的 Google Analytics

标签 google-analytics google-tag-manager offline-mode

我正在尝试在一种桌面应用程序中引入 Google Analytics,所有加载文件都是通过 file://而不是 http 或 localhost 完成的(因为大多数情况下它都是离线工作的)。任何使用 Google Analytics 或 Google Tag Manager 跟踪应用程序使用情况的尝试均无效。

例如,我使用过:

ga('create', 'UA-XXXXX-Y', 'auto');
ga('set', 'checkProtocolTask', null);
ga('set', 'checkStorageTask', null);
ga('send', 'pageview');

如解释 here (添加 ga('set', 'checkStorageTask', null);
) 没有结果。

有人处理过这种情况吗?

最佳答案

我运行了一个非常快速的测试。 ga('set', 'checkStorageTask', null);对我没有任何帮助,相反,我发现有必要在创建跟踪器时将存储设置为无(这是有道理的,因为您不能使用文件协议(protocol)设置 cookie)。这也意味着您可能不会进行 session 跟踪,因为每次点击都会生成一个新 ID。
ga('set', 'checkProtocolTask', null)似乎有必要 - 否则调试器会(自然地)提示该文件不是有效的协议(protocol)。

之后,数据成功发送,但未显示在实时 View 中。我怀疑报告引擎可能不喜欢文件协议(protocol)并使用正确的协议(protocol)设置“位置”字段。所以我最终得到:

  ga('create', 'UA-XXXXXX-5' , {'storage':'none'});
  ga('set', 'checkProtocolTask', null);

   ga('send', 'pageview' , {'location' : document.location.href.replace('file','http') });

并显示在实时报告中。这是一个真正的快速测试,因此您需要独立验证这一点。请注意,您不需要设置 cookie 域(代码示例中的“auto”参数),因为在任何情况下都无法设置 cookie(没有域可以设置 cookie)。

此外,如果您在大部分时间离线工作,GA 将无法工作(您需要加载 analytics.js 文件,并且需要向跟踪服务器发送调用),但您可能已经意识到这一点。

关于google-analytics - 使用文件 ://的站点上的 Google Analytics,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36869569/

相关文章:

javascript - 添加 Bokeh curdoc 的自定义脚本

google-analytics - 谷歌标签管理器 - 复制前一页源/媒体的标签

javascript - 我应该手动向 Google Analytics 发送 JS 异常吗?

javascript - _googWcmGet 回调无法通过具有动态电话号码的 GTM 工作

javascript - 当连接可用时,将我的网页与服务器同步(也称为离线模式)

php - 实现使网站离线?

javascript - 谷歌分析如何生成唯一 ID?

angularjs - Angular Analytics Splunk日志记录

javascript - Google Analytics 在一个网站中使用 2 个 ID