我拥有mysite.com
我不拥有othersite.com
,但我可以在那里嵌入javascript代码
如何将分析数据从othersite.com
发送到mysite.com
?
预期:othersite.com
客户 - > mysite.com
服务器
不期望:othersite.com
客户 - > othersite.com
服务器 - > mysite.com
服务器
它的原理似乎与Google Analytics
类似,但我不知道确切的原则
我知道由于跨域问题,ajax无法完成
如果我拥有othersite.com
?
如何在没有响应的情况下发送分析数据?
Heap Analytics
发送无响应的分析数据答案 0 :(得分:1)
Google Analytics(以及我所知道的所有其他网络分析工具)的默认情景是通过动态创建图像来传输数据,该图像的源指向跟踪服务器并附加用户数据(如每个用户的唯一ID)作为图像源的url参数。
除了您通过图像源发送的所有内容之外,您还将从http请求(ip地址,用户代理等)获取数据。
对于一个简单的系统,您可以创建一个脚本,该脚本在返回(1像素透明)图像之前将url和http数据直接存储到数据库。如果您想要可扩展的东西,您可能会将数据写入日志文件并使用一些当前大肆宣传的大数据技术(hadoop,hive等)进行处理。
在任何情况下,解耦数据收集和处理都是一个好主意,因为它允许您更轻松地切换跟踪应用程序的组件以获得改进版本,而不会影响系统的其他部分。
发送图像是可靠的,因为它适用于任何浏览器而不启用任何特殊配置(cors等)。但是它很容易被阻止(用户只需要阻止像素图像或通过主机文件将调用重定向到服务器)。
如果其他域名属于您,您可以
如果您没有物理访问服务器,但所有者允许您配置其名称服务器,则可以通过跟踪脚本运行所有传入的http请求,然后再将其重定向到请求的页面。
我看了一下Heap Analytics。他们像其他工具一样发送图像请求:
https://heapanalytics.com/h?a=236035469&u=4184751431615606&v=2274541888&s=3701858993&b=web&z=2&h=%2F&d=heapanalytics.com&t=Heap%20%7C%20Mobile%20and%20Web%20Analytics&r=https%3A%2F%2Fwww.google.de%2F&k=Screen%20Dimensions&k=1050%20x%201680&k=Window%20Width&k=1973&k=Window%20Height&k=1039&tm=1432884624859
返回http 200响应代码和1像素透明图像,因此看起来它们看起来并没有“无响应地跟踪”。