Mixpanel is a real-time analytics service that helps companies understand how users interact with web applications. mixpanel.com
-
Track events with properties directly from your backend.
-
Track events with properties through javascript using a rack middleware.
gem install mixpanel
In your environment config file add this.
Rails::Initializer.run do |config| config.middleware.use "MixpanelMiddleware", "YOUR_MIXPANEL_API_TOKEN"
In your application_controller class add a method to instance mixpanel.
before_filer :initialize_mixpanel def initialize_mixpanel @mixpanel = Mixpanel.new("YOUR_MIXPANEL_API_TOKEN", request.env) end
Then in each request you want to track some event you can use:
To track events directly from your backend…
@mixpanel.track_event("Sign in", {:some => "property"})
To track events after response with javascript…
@mixpanel.append_event("Sign in", {:some => "property"})
It is strongly recommended to call Mixpanel#track_event using an async lib like delayed job or similar, otherwise you will delay your server responses with mixpanel responses.