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"
If you want to use the asynchronous version of Mixpanel’s javascript API
Rails::Initializer.run do |config| config.middleware.use "MixpanelMiddleware", "YOUR_MIXPANEL_API_TOKEN", :async => true
In your application_controller class add a method to instance mixpanel.
before_filter :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"})
To execute any javascript API call
@mixpanel.append_api("register", {:some => "property"}) @mixpanel.append_api("identify", "Unique Identifier")
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.
-
Alvaro Gil (Author)