SaaS Analytics Instrumentation Blueprint at Pre-Seed Stage
Analytics instrumentation at pre-seed has one job: tell you whether users are reaching your activation milestone and where they are dropping off. Everything beyond that is a distraction until you have product-market fit. Most pre-seed teams over-instrument (tracking 50 events before they understand what activation looks like) or under-instrument (tracking only pageviews with Google Analytics). This blueprint gives you the right scope — no more, no less.
📐 The Minimal Pre-Seed Event Model
At pre-seed, you need exactly 10–15 events. Each event maps to a user action that signals progress toward or away from your activation milestone.
| Event | When to Fire | Why It Matters |
|---|---|---|
user_signed_up | Account creation complete | Top of your activation funnel |
onboarding_step_completed | Each checklist step completion (with step name property) | Identifies where users drop off |
activation_milestone_completed | User reaches your defined activation event | Your core retention predictor |
core_feature_used | First use of the primary product feature | Leading indicator of retention |
session_started | User opens the app after initial signup | Return visit rate; not a pageview, a product session |
invite_sent | User invites another user | Viral coefficient input; high-intent signal |
plan_upgraded | User upgrades to paid plan | Conversion funnel endpoint |
subscription_cancelled | User cancels subscription | Churn tracking; include cancellation reason as property |
🏷️ Naming Conventions
Naming conventions matter more at pre-seed than they do later — inconsistent event names created early proliferate and become impossible to clean up without redeploying tracking across every surface of the product.
Standard convention: object_action (snake_case)
- → Object comes first:
user_,project_,report_,subscription_ - → Action comes second:
_created,_deleted,_updated,_viewed,_completed - → Past tense for completed actions:
report_exportednotexport_report - → No spaces, no camelCase, no abbreviations:
subscription_cancellednotSubCancelled
Add a properties object to every event with at minimum: user_id, account_id, timestamp, and one context-specific property (e.g., step_name for onboarding steps, plan_name for subscription events).
🛠️ Pre-Seed Analytics Stack
The pre-seed analytics stack has three layers:
- → Event collection: PostHog (open source, self-hostable, free tier sufficient for pre-seed) or Mixpanel (freemium, simpler setup). Both support the event model above and provide funnel analysis, retention charts, and cohort analysis out of the box.
- → Session recording: Microsoft Clarity (free, no session limit) or PostHog session recordings (included in PostHog plan). Watch 5 sessions per week for the first 3 months — recordings tell you what your data does not.
- → Database queries: For specific metrics your analytics tool does not expose, query your database directly. Activation rate, time-to-activation, and cohort retention are often faster to calculate from your own database than from a third-party tool at pre-seed volumes.
📊 The Three Metrics That Matter at Pre-Seed
With your event model in place, calculate only these three metrics until you reach product-market fit:
- → Signup-to-activation rate:
(users who fired activation_milestone_completed within 7 days) / (total signups). Target: 30%+ for self-serve B2B. Below 20% means the onboarding flow needs work before any other growth investment. - → D30 retention:
(users who had a session in week 4) / (users who activated in week 1). Target: 40%+ for a product with weekly-use patterns. This is your product-market fit signal — not activation rate. - → Time to activation: Median time from
user_signed_uptoactivation_milestone_completed. Target: under 24 hours. Users who activate after 48 hours churn at significantly higher rates.
What to Do Next
If you have no analytics: install PostHog today and implement the 8 events in the table above. Do not add more events until you have data from 50+ users — the data will tell you what else you need to track. If you have analytics but many events: identify your activation milestone event and build a funnel from signup to that event. The funnel will show you your drop-off points; fix the biggest drop-off point before adding new tracking. The most common pre-seed analytics mistake is adding more events instead of acting on the events you already have.