如何使用Google Analytics捕获网站API流量数据?

时间:2009-07-01 21:00:59

标签: php javascript api google-analytics

我有一个网站,其中大部分流量来自API(http://untiny.com/api/)。我使用Google Analytics收集流量数据,但统计信息不包含API流量,因为我无法将Google Analytics javascript代码包含在API页面中,包括它会影响API结果。 (例如:http://untiny.com/api/1.0/extract/?url=tinyurl.com/123)。

解决方案可能是使用javascript引擎执行javascript。我搜索了stackoverflow并找到了Java和C的javascript引擎/解释器,但除了旧的“J4P5”http://j4p5.sourceforge.net/index.php

之外我找不到PHP的一个

问题:使用javascript引擎会解决问题吗?或者是否有其他原因将API流量包含在Google Analytics中?

4 个答案:

答案 0 :(得分:2)

一般来说,一个简单的问题是,你得到的任何数据都可能会产生误导。

很多时候,可能是其他服务器调用您的服务器。如果这是真的,服务器的位置绝不代表使用它的人的位置,用户代理将是假的,并且您无法分辨有多少不同的人实际使用该服务。没有推荐人,如果有他们可能是假的......等等。在这种情况下,没有多少统计数据是有用的。

也许制作一个记录IP和其他标题信息的PHP后端,这就是你能做的所有事情。您至少可以跟踪对API的总呼叫,以及它们的来源(尽管可能来自服务器,但您可以告诉哪些服务器)。

答案 1 :(得分:2)

我花了很多时间研究这个并最终找到了一个看起来很完美的开源项目,尽管完全不受关注。

http://code.google.com/p/serversidegoogleanalytics/

将报告结果。

答案 2 :(得分:1)

您可能必须使用您正在使用的任何编程语言模拟服务器端的所有http调用.....这不会向您提供有关谁正在使用它的信息,除非通过某种方式提供客户信息标题。

如果你想纯粹为了统计目的而包含它,你可以尝试使用curl(如果使用php)来访问gif文件,如果你在服务器端检测到无法使用

http://code.google.com/apis/analytics/docs/tracking/gaTrackingTroubleshooting.html#gifParameters

答案 3 :(得分:0)

你不能轻易做到这一点,因为最终用户不会运行基于Javascript的Google Analytics脚本(除非他们将API输出完全包含在他们的显示器上给最终用户:这将否定需求一个完全成熟的API [你可能只提供一个iframable代码],可能带来安全风险,并可能与浏览器跨域javascript检查有关。)

您最好的解决方案是使用服务器端分析(例如Apache或IIS的服务器日志与Analog,Webalizer或Awstats)或 - 因为您从API调用获得的大部分信息将是useragent,request和IP address - 只需在调用API时将该信息记录在数据库中。