So far Google Analytics has been part of the scaffolding application for 
quite some time.

I'm guessing it was put there to remind you that a good web application 
should be data-driven.

My project is to help direct new users towards this goal, while still 
preserving an agnostic framework.


Most data marketing services revolve around tracking events or triggering 
actions based on these events.

The most basic of these is the "Signed up" event, which most people would 
be interested in tracking.

Of course, one could simply put some javascript in the view and track the 
event in GA... but then what happens when you track dozens of events 
throughout your app and into multiple analytics services (Google Analytics, 
Mixpanel, KissMetrics...) ?

Services like Segment.io provide a unified tracking system with free 
quotas, and offers a Python SDK. Mixpanel <http://mixpanel.com> also 
provides a Python SDK. 

For example, to track the "Signed up" event, one would use 
mixpanel.track(auth.user_id, 
'Signed up') in Mixpanel and analytics.track(auth.user_id, 'Signed up') in 
Segment.
Both syntaxes are very similar.

I already see fingers pointed at me for promoting these so please know 
that, although it requires a butt-load of work, *server-sided Google 
Analytics tracking is also possible*. I'm hoping this project would get to 
that eventually.


Web2py packs the Auth module, which is a very decent starting kit.
I think it could be improved with some kind of agnostic logic for tracking 
events.


I am not sure exactly how to go about this, but I was considering altering 
Auth functions like this :
if log is DEFAULT:
    log = self.messages['login_log']

if event is DEFAULT:
    event = self.messages['login_event']
    analytics_provider.track(self.user_id, event);

Alternatively, a decorator could provide some way to wrap actions and 
declare events.


Another interesting feature would be some kind of appadmin.py panel that 
tracks all the currently-implemented events running in the applications.
This would be very handy in order to track API usage and get the exact 
nomenclature of your events to connect them with other services.


What do you guys think ?

-- 
Resources:
- http://web2py.com
- http://web2py.com/book (Documentation)
- http://github.com/web2py/web2py (Source code)
- https://code.google.com/p/web2py/issues/list (Report Issues)
--- 
You received this message because you are subscribed to the Google Groups 
"web2py-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to web2py+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to