What you will get
A clean naming convention with example events, property rules, anti-patterns, and migration guidance.
The generator helps you choose a stable analytics language so dashboards, docs, and SQL all use the same event names.
- Example events across acquisition, signup, activation, conversion, and retention.
- Property naming rules that keep context out of the event name itself.
- Anti-patterns that usually create analytics debt.
- Markdown output you can add to docs and implementation tickets.
Example Markdown preview
# Bonson Event Naming Convention
## Recommended Prefix
- project
## Naming Convention Rules
- Use one naming style consistently across the whole product analytics setup.
- Prefer business actions in snake_case instead of UI labels or internal implementation names.
- Use a single canonical event per milestone and keep context in properties, not in many near-duplicate event names.
- Name completed milestones in a way that reads clearly in dashboards, docs, and SQL queries.
## Example Events
| Category | Meaning | Event name | Why it works |
| --- | --- | --- | --- |
| Acquisition | User viewed the landing page | landing_page_viewed | Keeps acquisition language focused on a business milestone instead of a UI implementation detail. |
| Signup | User completed signup | user_signed_up | A completed action is easier to query and compare than a vague label like new_user or account_flow. |
| Onboarding | User completed onboarding | onboarding_completed | One canonical onboarding completion event is easier to maintain than many step-specific variants. |
| Activation | First project created | first_project_created | It reflects a value milestone, not just a click, so dashboards stay tied to product progress. |
| Conversion | Subscription started | subscription_started | Conversion names should map to a real commercial milestone such as checkout_completed or subscription_started. |
| Retention | Repeated Create the first project | create_the_first_project_repeated | Repeated usage should be described as a stable outcome, not a pile of low-value session events. |
## Property Naming Rules
- Use snake_case for properties too, for example signup_method, billing_period, and workspace_type.
- Use properties for context like source, plan, and role instead of creating separate events for each variation.
- Keep property values stable and finite when possible so filtering stays reliable.
## Anti-Patterns
- Mixing multiple naming styles like userSignedUp, signup_complete, and NewUser in the same product.
- Encoding page location or button color inside the event name instead of in properties.
- Creating separate events for every minor UI state instead of one milestone event with context properties.
- Using vague names like conversion, success, or action_done that nobody can interpret later.
## Migration Tips
- Start by standardizing the top funnel events first: signup, onboarding, activation, conversion, and retention.
- Map old event names to new canonical names in one migration document before changing dashboards.
- Keep a naming reference in your docs so product, engineering, and marketing use the same language.