使用mixpanel为用户构建自定义分析仪表板

时间:2012-06-17 00:27:15

标签: ruby-on-rails api analytics mixpanel

我喜欢图表

我喜欢抓住一些数据,让它看起来很漂亮。但是,唉,我对最佳做法感到有些失落。

我选择了mixpanel(仅作为示例),因为我似乎非常容易跟踪自定义事件,并且没有任何子域限制,例如Google Analytics。

假设我有100-1000多个拥有帐户(面向公众)的用户,我正在跟踪他们的网页获得的公共互动。使用mixpanel,我可以看到可爱的数据,并将其分割为个人帐户。到目前为止,太棒了!

但是,我想向用户展示这些信息。在这里,我的头开始受伤。我是否安排了cron作业,从mixpanel中提取数据并将其写入各自的帐户?或者,还有更好的方法?我查看了mixpanel的api(我正在使用Ruby),但他们一直告诉我应该使用javascript api。但是在使用JS时,如何防止其他人获取数据(即什么阻止某人在控制台中伪造mixpanel api-posts,或查看我的私钥?)。

在这种情况下,您认为什么是实用的解决方案?

2 个答案:

答案 0 :(得分:5)

您可以通过附加$ bucket属性来存储每个用户的特定用户事件来实现此目的,该属性具有每个用户唯一的值,如mixpanel docs here Mixpanel docs中所述。如果您仍想使用ruby来提供活动,请查看Mixpanel推荐的ruby client libraries mixpanel_client看起来像是上面提到的2个维护得很多的选项。如果您使用它,那么您可以提供用户特定事件,如下面的示例所示(也在gem的自述文件中):

data = client.request do
  # Available options
  resource  'events/properties'
  event     '["test-event"]'
  name      'hello'
  values    '["uno", "dos"]'
  timezone  '-8'
  type      'general'
  unit      'hour'
  interval   24
  limit      5
  bucket    'contents'
  from_date '2011-08-11'
  to_date   '2011-08-12'
  on        'properties["product_id"]'
  where     '1 in properties["product_id"]'
  buckets   '5'
end

答案 1 :(得分:1)

您可以尝试像Keen IO这样的服务,它允许您生成加密的范围写入和读取API密钥。 Keen IO专为可定制和编程分析功能而构建,例如向客户公开分析,而MixPanel则更多地用于在UI中探索数据。使用加密范围密钥的想法是,他们永远无法访问您的帐户,只能访问您希望他们查看的数据。您可以使用客户ID轻松标记您的活动,然后使用Scoped Keys确保您只向客户展示他们自己的数据。

https://keen.io/docs/security/#scoped-key

此外,Keen IO有一个"importer",允许您将mixpanel事件导出到您的Keen IO数据库中。