How do you store custom analytics? Mongo Collection or Analytics tool?


#1

Hi guys,

I want to track mostly technical metrics of an app. Such things can be “browser does support webcomponents”, “browser supports feature x”, etc.

This is mainly to stay on top of which features can be enabled and/or which polyfills can be turned off for our visitors. Would you recommend storing this in a Mongo Collection or is this easily trackable with some analytics tool? If so, can you recommend one?


#2

This thing seem to work bigdata:visit-tracker, but has not been updated for a while, I just wonder if it is going to be a waste of server resources? Any other options, guys?


#3

So I had to investigate the matter in more details for myself, and the results might be interesting to the community.

The bigdata:visit-tracker in reality is very tiny package and you can actually build something similar to it by yourself just by looking on how it was created.

What you might need is any userAgent parser (for example this) and geoip-lite npm package. And then by getting the data, put it into a collection any time meteor is started up. Initially you put all the data into a session variable and can actually identify coming back users in this way, so here I see when Session can be useful.

The drawback of using the geoip-lite vs external provider is server time and about 30Mb of RAM blocked permanently that is required to store the free geolocation database.

So at the end it is just 30Mb cost of your server vs cost of getting the data from external services (which could be more up to date probably)… :slight_smile:

And by being able to store the data on your own collection I see no reason in external analytics tool…