网络服务器是否必须公开可供Google Universal Analytics使用?

时间:2016-03-04 11:16:46

标签: google-analytics universal-analytics

我正在使用Google的“双向跨域跟踪”脚本来跟踪第二个域名中的访问者。

这是我正在使用的脚本:

ga('create', 'UA-xxxxxx-1', 'auto', { 'allowLinker': true });
ga('require', 'linker');
ga('linker:autoLink', ['main.com', 'secondary.com']);
ga('send', 'pageview', window.location.pathname);

脚本可以在这里找到: Analyics.js Linker

我还确保两个域都包含在“推荐排除列表”中。

我已经安装了Google Tag Assistant(Chrome扩展程序),它的工作方式与预期相符。我得到一个绿色图标,还有1个请求的消息。但我没有在Google Analytics中看到任何点击。

我打电话给谷歌服务台,直到那时我才意识到'secondary.com'是一个只能在我们内部网络上访问的服务器(用于测试)。

这就是Google Analytics中没有结果的原因吗?

更新

当我们将代码投入生产时,我们确实在Google Analytics中获得了结果。

但这并不意味着服务器应该可公开访问以使代码正常工作,因为问题可能是测试服务器位于子域中。

为了说清楚,我们有:

companyname.nl (main.com in code)
mycompanyname.nl (secondary.com in code)
test.companyname.nl (the server that is not accessible from the outside)

根据文件:

  

自动cookie域配置会在最高级别的域上设置_ga cookie。

所以我假设test子域名也可以。

我不会接受@ eike-pierstorff的回答,因为目前还不清楚究竟发生了什么。

1 个答案:

答案 0 :(得分:1)

要完全回答您的问题,不,网络服务器不能公开访问Google Universal Analytics。在Google浏览器(或其他客户端程序)中运行时,Google Analytics网络跟踪代码不会在网络服务器上运行。因此,如果客户端可以访问内部网络和公共互联网,这应该有效(

这或多或少是答案的结尾,我会添加一些东西,希望它会有所帮助。

要使Google跟踪代码生效,它必须能够设置Cookie(或配置为'storage': 'none'并且您的应用程序设置了客户端ID),因此您必须检查您的内部网址是否为实际上是一个完全合格的域名(所以可以设置js cookies;我不确定secondary.com只是一个例子,或者这是否是内部域名中使用的实际格式)。但即便如此,你至少应该看到来自公共网址的流量。事实上你没有(加上你从Tag助手那里收到绿灯)表明问题不在收集端。

您是否偶然设置了可能影响数据收集方式的过滤器?特别是包括过滤器是棘手的(因为它们删除了与模式不匹配的所有数据,因此如果模式错误则删除所有内容)。如果您还没有这样做,那么创建一个没有任何过滤器的视图,以便在过滤器配置错误时始终备份您的数据。

由于您在帖子中提到了这些内容,因此引荐排除列表和链接器都不可能与您的问题有任何关系;当人们在域之间切换时,第一个维护原始频道归属,第二个向链接添加参数并形成允许其他域获取客户端ID并因此继续会话的动作。最糟糕的情况是跨域跟踪不起作用,但两个域上的会话仍将(单独)跟踪。