我有一个网站,其中大部分流量来自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中?
答案 0 :(得分:2)
一般来说,一个简单的问题是,你得到的任何数据都可能会产生误导。
很多时候,可能是其他服务器调用您的服务器。如果这是真的,服务器的位置绝不代表使用它的人的位置,用户代理将是假的,并且您无法分辨有多少不同的人实际使用该服务。没有推荐人,如果有他们可能是假的......等等。在这种情况下,没有多少统计数据是有用的。
也许制作一个记录IP和其他标题信息的PHP后端,这就是你能做的所有事情。您至少可以跟踪对API的总呼叫,以及它们的来源(尽管可能来自服务器,但您可以告诉哪些服务器)。
答案 1 :(得分:2)
答案 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时将该信息记录在数据库中。