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

所以我想是否有人尝试过从服务器端代码编写对 __utm.gif 的请求。

我在以下位置找到了有关该请求和相关 cookie 的一些信息: 谷歌网站 但没有有关“utmcc”变量中传递的 cookies 值的详细信息。

我知道我将无法“制作”分析服务器从请求本身派生的一些信息(一举两得:源IP地址!)。我无法从客户端计算机生成请求。

有人有这种情况的经验吗?有详细的资料或者资源吗?任何工作代码片段(任何语言都可以!:)?

有帮助吗?

解决方案

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

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

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 值需要进行 URL 编码。


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

其他提示

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

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

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

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

有关开发人员文档中的测量协议的完整详情。

通过在 Firefox 中检查我的 cookie 中是否有一个已知的 Google Analytics 用户的网站,我发现它存储了 3 个值(所有 3 个值均以 2 个下划线开头):

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

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

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

有趣的要求......

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

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

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

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top