Given the problem that when working on a product, you want to track a users journey, actions, intent, failures, outcomes etc for the purpose that anyone in the company be them the CEO, marketer, engineer, customer success, support, can piece together the metrics in any appropriate tool (Segment, Google Analytics, Mixpanel, Intercom etc)
How to name things?!?
(events can obviously have metadata attached, such as the url or component where it happened)
This is just riff-raff in an attempt to be thought provoking;
NOUN_ACTION
USER_CLICKED vs USER_CLICK
HOMEPAGE_USER_REGISTERED vs FORMNAME_USER_REGISTERED
LOGIN_FORM_SUBMITTED or USER_LOGIN
SIGNUP_FORM_FAILED or FAILED_SIGNUP
USER_LOGGED_OUT or LOGGED_OUT
OPENED_DOCUMENT or DOCUMENT_OPENED
EVENT or EVENT_HAPPENED or DID_EVENT_DID_NOT
I always try to align names with internally used terminology but even a simple thing like "log out" can be complicated for self-service reporting. For example is USER_LOGGED_OUT a dimension (fired on all events), fired by an event listener on a button click or fired after a user-session is cleared by the applet. Are the differences between each platform/operating system?
I don't think theres anything better than good documentation (even within the tag management system) and testing tools like Amplitude's event explorer so that analysts can actually verify what has happened. A few analytics vendors have written about this and segment uses the object-action framework like you've suggested. https://segment.com/academy/collecting-data/naming-conventio...