生成Google Analytics事件(__ utm.gif请求)服务器端

时间:2009-06-22 14:52:27

标签: google-analytics

我愿意使用Google Analytics跟踪有关我的客户端/服务器应用程序使用情况的统计信息(用户计算机上没有浏览器!)。

所以我想如果有人试图从服务器端代码处理__utm.gif的请求。

我在google website找到了有关请求和相关Cookie的一些信息,但没有关于“utmcc”变量中传递的Cookie值的详细信息。

据我所知,我无法“制作”分析服务器从请求本身派生的一些信息(一个是所有人:源IP地址!)。我无法从客户端计算机生成请求。

有没有人有这种情况的经验?任何详细信息或资源?任何有效的代码片段(任何语言都可以!:)?

7 个答案:

答案 0 :(得分:30)

我最近问了一个类似的问题,有人给了我一个链接,我在同一个网站找到了另一个:

http://www.vdgraaf.info/wp-content/uploads/image-url-explained.txt
http://www.vdgraaf.info/wp-content/uploads/urchin-image.txt(此处包含)

Google的Google Analytics代码以JS库ga.js的形式提供。从此库调用跟踪功能时,会在以下任一URL上的GA服务器上向gif文件发出请求:

http://www.google-analytics.com/__utm.gif //from http pages
https://ssl.google-analytics.com/__utm.gif //from https pages

以下是在向GA提供详细信息的请求中可能使用的参数:

?utmwv=1 //Urchin/Analytics version
&utmn=634440486
&utmcs=UTF-8 //document encoding
&utmsr=1440x900 //screen resolution
&utmsc=32-bit //color depth
&utmul=nl //user language
&utmje=1 //java enabled
&utmfl=9.0%20%20r28 //flash
&utmcr=1 //carriage return
&utmdt=Linklove » The optimum keyword density //document title
&utmhn=www.vdgraaf.info //document hostname
&utmr=http://www.google.nl/search?q=seo+optimal+keyword+density&sourceid=navclient-ff&ie=UTF-8&rlz=1B3GGGL_nlNL210NL211 //referer URL
&utmp=/the-optimum-keyword-density.html //document page URL
&utmac=UA-320536-6 //Google Analytics account
&utmcc= //cookie settings
    __utma=
                    21661308. //cookie number
                    1850772708. //number under 2147483647
                    1169320752. //time (20-01-2007) cookie first set
                    1172328503. //time (24-02-2007) cookie previous set
                    1172935717. //time (03-03-2007) today
                    3;+
    __utmb=
                    21661308;+ //cookie number
    __utmc=
                    21661308;+ //cookie number
    __utmz=
                    21661308. //cookie number
                    1172936273. //time (03-03-2007) today
                    3.
                    2.
        utmccn=(organic)| //utm_campaign
        utmcsr=google| //utm_source
        utmctr=seo+optimal+keyword+density| //utm_term
        utmcmd=organic;+ //utm_medium

请记住,&utmcc值需要进行网址编码。


这个答案中的链接已被证明有点不可靠,所以这里有一些其他可能有用的资源:

答案 1 :(得分:5)

您可能想尝试http://code.google.com/p/serversidegoogleanalytics/。 它为我工作(与http请求的zend框架结合使用)。

答案 2 :(得分:3)

在发布此问题多年后,出现了一种新方法。

Google Analytics现在有一个测量协议。您应该支持这一点,因为它支持并记录在案,与尝试模拟不完全支持的协议的其他解决方案不同。

要使用它,您需要创建一个启用了Universal Analytics的新网络媒体资源。

Measurement Protocol in the developer docs

的完整详情

答案 3 :(得分:1)

从我在Firefox浏览器中检查我的cookie是一个已知谷歌分析用户的网站,我发现它存储了3个值(所有3个值都以2个下划线开头):

  • __ utmc - 9位整数(可能)
  • __ utma - 非常长的整数,其中包含句点(以9位数字开头)
  • __ utmz - 长字符串句点分隔(从utmc开始的9位数字)

我猜是utmc是您的跟踪会话ID。

答案 4 :(得分:1)

作为替代方案,如果您在AWS上,您可以在CloudWatch中使用自定义指标,非常易于使用,但您需要处理所有事情,具体取决于您希望通过“服务器端”指标实现的目标可能正是你所需要的。

答案 5 :(得分:0)

有趣的要求......

你最好的选择可能是尝试对谷歌分析javascript进行一些反向工程......

使用firefox和firebug,转到使用谷歌分析的网站,然后打开firebug并查看提交给谷歌分析的GET。如果您可以使用相同的参数和标题创建HttpRequest,那么您应该能够欺骗Google Analytics以为您来自网页。

答案 6 :(得分:0)

将脚本嵌入到具有页面标题等可变占位符的HTML页面中,然后在嵌入式IE实例服务器端加载页面。 GA脚本允许您通过为主跟踪功能指定参数来跟踪页面事件,因此您所要做的就是将模板HTML页面保留在内存中,替换占位符,并在嵌入式IE实例中加载页面。 IE实例将解析并执行javascript,就像它是普通页面和宾果游戏一样,你有跟踪。

这当然是理论上的,未经过测试。