The generator keeps the first version intentionally narrow so you can instrument your product faster and avoid analytics overload.
- Acquisition events that qualify traffic, not vanity clicks.
- Signup and onboarding milestones tied to real user progress.
- Activation and conversion events in snake_case with clear properties.
- Retention signals based on repeated core usage.
- Copy-friendly Markdown you can move into docs, Notion, or Linear.
Example Markdown preview
# Bonson SaaS Tracking Plan
Product type: Micro SaaS
## Event naming convention
- Use snake_case for every event name.
- Prefer business actions over UI interactions, for example user_signed_up instead of green_button_clicked.
- Use one canonical event per milestone and attach context as properties instead of creating many near-duplicate events.
- Keep names in past tense for completed milestones and use *_started only for meaningful funnel entry points.
## Tracking plan
| Funnel step | Event name | Properties | Why it matters |
| --- | --- | --- | --- |
| Acquisition | landing_page_viewed | page, source, campaign, referrer | Shows which acquisition channels bring relevant traffic into the top of your funnel. |
| Acquisition | pricing_page_viewed | source, campaign, plan | Acts as a high-intent signal before signup or checkout and helps qualify traffic quality. |
| Acquisition | signup_cta_clicked | location, source, campaign | Helps you see which pages and messages actually move visitors toward product usage. |
| Signup / onboarding | signup_started | method, entry_point, source, campaign, method:magic_link | Measures whether your signup entry point is compelling enough to start account creation. |
| Signup / onboarding | user_signed_up | method, plan_intent, workspace_type, method:magic_link | Marks the first committed user identity and gives you a clean top-of-funnel product metric. |
| Signup / onboarding | onboarding_completed | method, time_to_complete_seconds, steps_completed | Separates signups from users who actually finish the setup path needed to reach activation. |
| Activation | first_create_the_first_project | template, workspace_type, time_from_signup_minutes | This is the first proof that a new account attempted the core action instead of just creating an account. |
| Activation | first_project_created | time_from_signup_minutes, setup_variant, project_type | Represents the activation moment you defined, so you can measure how quickly users reach first value. |
| Conversion | checkout_started | plan, price, currency, billing_period | Captures commercial intent before payment succeeds, which helps you diagnose checkout drop-off. |
| Conversion | subscription_started | plan, price, currency, billing_period | Marks the move from interest to revenue and should stay close to the actual billing completion event. |
| Retention | user_returned | days_since_last_seen, plan, source | Tells you whether users come back after the first session instead of churning immediately. |
| Retention | create_the_first_project_repeated | period, count_in_period, plan | Repeated core usage is a stronger retention signal than generic session counts or page views. |
## Recommended event properties
- source
- campaign
- plan
- pricing_model
- signup_method
- time_from_signup_minutes
- workspace_type
- template
- billing_period
- days_since_last_seen
## North Star Metric
- Weekly active accounts completing the core action
## Activation Metric
- Weekly percentage of new signups reaching first_project_created.
## First dashboard recommendation
- A simple funnel: landing_page_viewed -> signup_started -> user_signed_up -> onboarding_completed -> activation event.
- A channel table showing source and campaign versus signups, activation rate, and conversion rate.
- A weekly trend for first_project_created and subscription_started so you can see whether usage and revenue move together.
## Events to avoid tracking too early
- Every button click and every modal open.
- Tiny UI states that do not change funnel understanding.
- Dozens of onboarding step events if only one completion milestone matters.
- Complex cohorting before you have consistent activation and conversion data.