I recently tried out the self-hosted version of the Umami analytics (v2 specifically). It is a breath of fresh air for anyone used to Google Analytics. Features like individual user session drill-downs and other context related explorations are super simple and straight forward.
Here are my notes on the implementation details and reasons for why I eventually decided to not use it:
- It relies on
dataattributes on the script tag for passing the configuration (script ID, delayed loading, etc.) instead of using a global array collector likewindow.dataLayer= [] for configuration and impression/event context (see source code). This complicates the setup and will not be flexible in the long-run (can’t inline the tracker JS, values can be only strings). - You can’t attach additional context or meta data about the initial page view event (view source code). The only option is to completely disable the default impression tracking (which can only be done using the
data-auto-track="false"attribute and then configure a custom one. - Tracking outbound link clicks is really complicated — you have to add
data-umami-eventattribute to all external links to use the built-in tracking (source code) or implement a custom solution that captures all link events, accounts for all the modifier logic (new tab, mouse up) and sends a custom event.
Likes