Rubyでmixpanelのイベントをtrackしたり、データをexportする術
こんにちは。最後の100円玉をつかってしまいました、きたけーです。
仕事で最近mixpanelを扱う必要がでてきたので、Rubyのclientライブラリを触ってみました。
mixpanel-ruby
公式のライブラリ mixpanel/mixpanel-ruby · GitHub
イベントのtrackとか属性の設定とかをするんだったら、これを使う(ドキュメントはこれ http://mixpanel.github.io/mixpanel-ruby/)。Railsのアプリケーションとか属性の初期設定、再設定とかで使いそう。
イベントをtrackする場合はこんなかんじ。
require 'mixpanel-ruby' require 'dotenv' Dotenv.load tracker = Mixpanel::Tracker.new(ENV["PROJECT_TOKEN"]) tracker.track('kitak', 'Send Message')
keolo/mixpanel_client
keolo/mixpanel_client · GitHub
Data Export API (https://mixpanel.com/docs/api-documentation/data-export-api) が叩けるラリブラリ、mixpanelの管理画面で分析するときに、ちょっとかゆいところを解消するために使えそう。
「Send Message」イベントが起きた回数を一時間ごとに集計する場合はこんなかんじ
require 'mixpanel_client' require 'dotenv' Dotenv.load client = Mixpanel::Client.new( api_key: ENV["API_KEY"], api_secret: ENV["API_SECRET"] ) data = client.request( 'events', event: ['Send Message'], type: 'general', unit: 'hour', interval: 1, ) puts data.class puts data.inspect
所感
言語によって、APIのインターフェイスとか、(多分同じことしているはずなのに)メソッド名が違っていたりするので少し混乱する。 使い方がまだいまいちわからないので自分の検証環境でAPI叩いたり、Data Export API - Mixpanel | Help のドキュメントの用語を把握する。
追記
同僚の @hisaichi5518 氏にRailsのアプリケーションだったら doorkeeper/event_tracker · GitHub がよいのでは、とおしえてもらった。コードをざっと読んだかんじだと、ヘルパーを呼んだときにセッションに値をいれておいて、ビューを生成するタイミングでtrackとか属性を設定するJSコードを生成するかんじ。便利そう!