创建内部分析Rails 3应用程序的最佳方法是什么?

7
我有一个Rails 3应用程序,想为其创建内部分析工具。我需要跟踪的项目是展示量(和唯一展示量)、来自这些展示量的点击以及来自这些点击的转化。这些都是用户特定的,因此每个用户都可以看到他们收到了多少展示量、点击量和转化量。
最好的方法是什么?我是否应该创建一个单独的Rails应用程序并使用像素调用它?还是应该将所有分析代码包含在同一个应用程序中?
另外,是否已经存在任何分析平台,我可以根据自己的需求进行自定义?
谢谢!
提姆

2
你看过Google Analytics了吗? - Kevin Sylvestre
3个回答

6
在你开始重新发明轮子之前,Google Analytics提供了一个开发者API(通过OAuth等选择),可以为你提供所需的功能(为每个用户提供他们自己数据的视图)。 http://code.google.com/apis/analytics/docs/gdata/home.html 尽管构建自己的工具可能一开始看起来很基础,但它可能会在今后产生严重的性能影响,并且Google提供了非常详细的数据视图。
如果你真的想要编写自己的工具,我强烈建议你不要为要跟踪的每个请求访问数据库。将数据保存在Redis或其他替代品中,并定期通过后台任务将其持久化到数据库中。

哇,我不知道有GA开发者API。我可以通过API跟踪所有需要的特定事件并生成报告。太棒了,谢谢! - Tim
GA API 的唯一问题是,如果您不想将自己的帐户绑定到应用程序中,那么进行信用卡交易比获得 GA 认证更容易。 - David

4
如果你不想把数据交给我们的谷歌霸主,那么你可能确实考虑自己开发一个。我之前做过两次,现在又在做:当然这次会更好!如果你的流量不是非常高并且你正在任何一个像样的服务器平台上运行,那么添加跟踪系统不会对你的Rails应用程序造成明显的负担(我知道这取决于“像样的服务器平台”的含义,但如今这些东西非常便宜)。写入数据库通常非常快速-你必须有大量的点击才不想立即这样做。你可能可以绕过大部分或全部的before_filters等,以获得快速响应。例如,一个运行2.3.9的应用程序使用Metal来完成此操作。在我的新跟踪系统中,我有一个STI表,与从Activity模型派生的模型一起使用;在这里,你可以记录印象和点击。印象是在构建页面时记录的,而使用AJAX记录点击。我不打算费心制作花哨的图表等-我满意于原始数字-但当然可以添加这些功能。目前,我的系统只是在通常的app/文件夹中,但我可能会将其移动到一个引擎中,以便更轻松地重用它。希望这有所帮助!顺便说一句,我也为一系列网站使用Google Analytics,它还不错-我只是喜欢自己做这一部分。

1

根据您将如何将Google Analytics数据与特定用户关联,您可能需要仔细检查隐私影响。 Google不允许将其数据与正在跟踪的用户的任何身份信息相关联。

如果有问题,您可以尝试使用Piwik,因为它是开源的,您可以随心所欲地使用它。它是用PHP编写的,而不是Ruby,因此可能会有问题。正如@d11wtq所提到的,如果没有以正确的方式构建,则跟踪系统可能会出现性能问题,因此如果可能的话,最好从已经被证明有效的东西开始。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接