使用file://的网站上的Google Analytics

时间:2016-04-26 15:37:13

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

我尝试在某种桌面应用中引入Google Analytics,所有加载文件都是通过file:// not http或localhost完成的(因为大部分时间它都是脱机工作)。任何使用Google Analytics或Google跟踪代码管理器跟踪应用程序使用的尝试均无效。

例如,我使用过:

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

正如here所述(添加了ga(' set',' checkStorageTask',null); )没有结果。

有人处理过这种情况吗?

1 个答案:

答案 0 :(得分:4)

我进行了非常快速的测试。 ga('set', 'checkStorageTask', null);对我没有任何作用,相反我发现有必要在跟踪器创建时将存储设置为无(这是有道理的,因为您无法使用文件协议设置cookie)。这也意味着您可能无法进行会话跟踪,因为每次点击都会生成一个新ID。

ga('set', 'checkProtocolTask', null)似乎是必要的 - 否则调试器会自然地抱怨该文件不是有效的协议。

之后数据已成功发送,但未在实时视图中显示。我怀疑报告引擎可能不喜欢文件协议并设置" location"具有正确协议的字段。所以我最终得到了:

  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文件,并且您需要向跟踪服务器发送调用),但您可能已经意识到这一点。