由于重新加载页面,网站丢失了谷歌分析引荐来源

时间:2018-03-02 16:03:55

标签: javascript google-analytics reload traffic

我已经走到了一个死胡同。问题是我们的网站第一次加载时,需要重新加载一次以获得正确的宽度和高度(来自在javascript中创建的cookie)并显示相应的图像。我尝试使用location.reload()或添加元刷新标记,但在这两种情况下,来自谷歌的所有传入流量都归类为"直接"而不是"有机"在查看此处的文档https://support.google.com/analytics/answer/3198398?hl=en

之后,这似乎是合理的
  

元刷新和基于javascript的重定向非服务器端调用   重定向,如元刷新html标记或JavaScript   window.location方法可能隐藏或隐藏引用者信息   分析,因此我们不建议在任何页面上使用此类方法   这可能是一个登陆页面

有没有人对如何实现这一点有任何想法,而不会丢失谷歌分析中的推荐人?任何想法都将不胜感激。

提前致谢,

埃莱尼

1 个答案:

答案 0 :(得分:0)

如果您真的必须坚持这种情况,那么我根本不会重新加载。我会使用唯一的ID /会话Cookie来响应缺少该Cookie的初始请求。我将发送最少的<head>(视口元,标题,编码)和一小段JS代码,然后立即刷新输出并休眠服务器端处理一秒钟。在JS代码段中,设置cookie并通过XHR或new Image将单独的请求发送回服务器,无论什么可行,然后针对该唯一ID /会话存储。然后,当初始页面处理恢复时,请检查存储中是否有刚发送回的数据。如果还没有到达,请再次入睡。继续进行恢复,检查和休眠,直到获取数据或超时(5秒?)并恢复为默认值为止。

这是脆弱,易破解的,您必须确保没有任何东西可以缓冲需要执行的初始输出,但是页面只能加载一次。