House companion
The Event Grammar
A public extract of the rules we use in Event Taxonomy Studio. Not a tool guide. A way to stop a new event from meaning two things at once.
1. An event is a verb and an object
song_played is an event. engagement is a mood. If you cannot name the object in a product noun the team already uses, you are not ready to emit.
Screens may be objects when the screen is the thing the business cares about. Otherwise log the business action that happened on it.
2. Properties are not another event
If you are tempted to add signup_clicked, signup_submitted, and signup_failed as three events, ask whether signup_attempted with a result enumeration is cleaner. Sometimes it is not — failures that fire from a different layer often deserve their own name. The grammar asks you to decide in writing.
3. Identity is a property with a policy
Anonymous IDs, account IDs, and device IDs are not interchangeable. The grammar requires a sentence on when they join, and what you will do when they part after a logout on a shared tablet.
4. Refuse a list
Every taxonomy we accept includes events that will not be added: hover, impression without a definition, and anything named after a UI component that marketing might rename next quarter. App Analytics that tries to record every twitch becomes unread.
5. Version in public
A schema without a version is a rumour. We date breaking changes and keep a deprecation window that matches how long your warehouse jobs actually take, not how long a slide claims they take.
Use it in the room
The grammar is homework for the studio
If you want this argued over your own app, sit Event Taxonomy Studio. If you only want the notes, Signal Desk ships the primer. Either way, bring a list of events you already regret.