3 ms·
I record everything to Google App Engine data store, then have a script to export the data into a simple text file on my machine that runs from cron. Then I can
by bemmu 17y ago
I record everything to Google App Engine data store, then have a script to export the data into a simple text file on my machine that runs from cron. Then I can run Python scripts on my own computer to just go through the text. I get about 60MB of events / day. Soon I will have to start deleting old events from App Engine, because I have to pay Google for data store entities stored.
At first I was planning on doing some clever incremental thing to get all the stats on App Engine, but it's a lot simpler if you can just have everything locally and rerun any analytics quickly when I make mistakes. It only takes a few minutes to load a week's worth of data and go through it, so doesn't make sense to spend days trying to be really clever about doing it on App Engine.
My favorite thing to extract is kind of a life story of users. When a user joins, what do they do on average in the first 24 hours? How about the next day? This is a pretty different point of view than Google Analytics, because it is from the user point of view and not historical of the whole app.
So does this point of view give you some new insight? At least in our case. For example we are now testing which of two profile box designs is better on our MySpace app. Just a simple stat would reveal that the new design has a better clickthrough rate. BUT, when I look at the whole story, it seems that users are more likely to remove the app when they have this new design, so end results may be worse.
Additionally I use Google Analytics events tracking, but I end up looking more at the life story than those events, because it is difficult to pull out how many events happen per visit, or how many events happen per visit in first 24 hours since user joined etc.
- swombat 17y agoWould love more detail about how you do this... how exactly do you "record everything to GAE data store"? Did you create a GAE REST app? Why GAE? What do you record? Can you post an example of a few events that you record?
- bemmu 17y agoThe app server is already in App Engine, so it was easy to just add an Event model and create an Event entity every time the user does anything that I might want to track. This is what it looks like to browse the events in App Engine admin panel: http://i.imgur.com/yJTeZ.png http://i.imgur.com/yJTeZ.png The model is just 10 lines of code, and storing things there is even easier. For events that happen on client side I have to do a silent ajax request to the server to let it know what happened, similar to what Google Analytics does, but mostly everything that happens in the app already is known by the server.