# Naming events

> Short, stable names make every chart readable.

Source: https://shipabase.dev/docs/naming-events

Use `snake_case` in `object_verb` form, past tense. Names are constants: never build them from user data.

| Good | Avoid |
| --- | --- |
| `project_created` | `CreateProject`, `click_button_3` |
| `checkout_completed` | `checkout-completed-for-alice` |
| `timer_started` | `start` |
| `invoice_sent` | `invoice sent!` |

- Allowed characters: `A-Z a-z 0-9 _ . : -`, up to 64.
- Track meaningful actions: activation, core feature usage, conversion. Not every click or render.
- 5–15 events is typical for a product.
- Don’t name an event `page_viewed`: it’s reserved for page views, which the SDK tracks for you. See [Page views](https://shipabase.dev/docs/page-views).
