Cross-Domain Universal Events
These events are required for every GrowthOS installation regardless of your business domain. They cover the core user lifecycle that every product shares: authentication, billing, support, notifications, consent, and growth signals.
Authentication and Identity
Section titled “Authentication and Identity”11 events covering signup, login, security, and account management.
| Event | Key Properties | Volume | Description |
|---|---|---|---|
user.signed_up | method, source, referral_code, plan | Low | User creates a new account |
user.signed_in | method (password / sso / magic_link / oauth), provider | High | User authenticates successfully |
user.signed_out | session_duration | High | User ends their session |
user.password_reset_requested | method | Low | User requests a password reset link |
user.password_reset_completed | method | Low | Password reset flow completed |
user.email_verified | verification_method | Low | User confirms their email address |
user.mfa_enabled | mfa_method (totp / sms / webauthn) | Low | Multi-factor authentication turned on |
user.mfa_disabled | mfa_method | Low | Multi-factor authentication turned off |
user.profile_updated | fields_changed (array) | Medium | User modifies profile fields |
user.deleted | reason, feedback | Low | User account permanently deleted |
user.impersonated | admin_id, target_user_id | Low (admin) | Admin impersonates a user for debugging |
Billing and Subscription
Section titled “Billing and Subscription”13 events covering the full subscription lifecycle and payment processing.
| Event | Key Properties | Volume | Description |
|---|---|---|---|
subscription.created | plan_name, billing_interval, mrr_cents, trial (bool) | Low | New subscription activated |
subscription.upgraded | from_plan, to_plan, mrr_delta_cents | Low | Plan upgraded to a higher tier |
subscription.downgraded | from_plan, to_plan, mrr_delta_cents | Low | Plan downgraded to a lower tier |
subscription.renewed | plan_name, billing_interval, mrr_cents | Low | Subscription renews at end of billing period |
subscription.cancelled | reason, feedback, cancel_at_period_end (bool) | Low | User cancels their subscription |
subscription.reactivated | plan_name, previous_cancel_reason | Low | Previously cancelled subscription restarted |
subscription.trial_started | plan_name, trial_days | Low | Free trial begins |
subscription.trial_ended | plan_name, converted (bool) | Low | Free trial expires or converts |
invoice.created | invoice_id, amount_cents, currency | Low | New invoice generated |
invoice.paid | invoice_id, amount_cents, payment_method | Low | Invoice payment received |
invoice.payment_failed | invoice_id, failure_reason, retry_count | Low | Payment attempt failed |
payment_method.added | type (card / bank / wallet), last_four | Low | New payment method saved |
payment_method.removed | type | Low | Payment method deleted |
Support and Communication
Section titled “Support and Communication”6 events covering support tickets, live chat, and feedback collection.
| Event | Key Properties | Volume | Description |
|---|---|---|---|
support_ticket.created | ticket_id, category, priority, channel | Low | New support ticket opened |
support_ticket.resolved | ticket_id, resolution_time_hours, satisfaction_score | Low | Support ticket marked as resolved |
chat.started | channel (live / bot), page_url | Medium | Live chat or bot conversation initiated |
chat.message_sent | channel, is_agent (bool) | High | Message sent in a chat session |
chat.ended | channel, duration, messages_count | Medium | Chat session concluded |
feedback.submitted | type (bug / feature_request / general), category | Low | User submits feedback |
Notifications and Consent
Section titled “Notifications and Consent”8 events covering multi-channel notifications and privacy consent management.
| Event | Key Properties | Volume | Description |
|---|---|---|---|
notification.sent | channel (email / push / sms / in_app), template_id, campaign_id | High | Notification dispatched to user |
notification.delivered | channel, template_id | High | Notification confirmed delivered |
notification.opened | channel, template_id | High | User opens a notification |
notification.clicked | channel, template_id, link_url | Medium | User clicks a link inside a notification |
consent.granted | purpose (marketing / analytics / functional), method | Low | User grants consent for a specific purpose |
consent.revoked | purpose, method | Low | User revokes previously granted consent |
privacy.data_export_requested | format | Low (admin) | User requests a data export (GDPR/CCPA) |
privacy.data_deletion_requested | reason | Low (admin) | User requests account data deletion |
Lifecycle Signals
Section titled “Lifecycle Signals”6 events that power growth loop analytics, churn prediction, and reactivation workflows.
| Event | Key Properties | Volume | Description |
|---|---|---|---|
lifecycle.first_value_moment | action, time_to_value_seconds, session_number | Low | User reaches their first “aha” moment |
lifecycle.activation_milestone | milestone_name, milestone_index, days_since_signup | Low | User completes a defined activation milestone |
lifecycle.expansion_signal | signal_type, score | Medium | Behavior suggests readiness for upsell |
lifecycle.churn_risk_detected | risk_score, signals (array), days_inactive, usage_trend | Low (admin) | System flags a user as churn risk |
lifecycle.reactivation_detected | days_since_last_active, trigger | Low | Previously inactive user returns |
lifecycle.advocacy_triggered | trigger (nps_promoter / review_posted / referral_sent) | Low | User exhibits advocacy behavior |
Implementation Example
Section titled “Implementation Example”A typical onboarding flow tracking signup, identity resolution, and the first value moment.
import GrowthOS from '@growthos/js';
const gos = GrowthOS.init('YOUR_WRITE_KEY');
// 1. Track signupgos.track('user.signed_up', { method: 'email', source: 'landing_page', referral_code: 'REF_abc123', plan: 'free'});
// 2. Identify the user (merges anonymous_id with user_id)gos.identify('usr_42', { email: 'jamie@example.com', name: 'Jamie Chen', created_at: '2025-06-15T09:00:00Z', plan: 'free'});
// 3. Track activation milestonegos.track('lifecycle.activation_milestone', { milestone_name: 'created_first_project', milestone_index: 1, days_since_signup: 0});
// 4. Track first value momentgos.track('lifecycle.first_value_moment', { action: 'generated_first_report', time_to_value_seconds: 340, session_number: 1});
// 5. Track subscription creationgos.track('subscription.created', { plan_name: 'pro', billing_interval: 'monthly', mrr_cents: 4900, trial: true});Total Event Count
Section titled “Total Event Count”| Category | Count |
|---|---|
| Authentication and Identity | 11 |
| Billing and Subscription | 13 |
| Support and Communication | 6 |
| Notifications and Consent | 8 |
| Lifecycle Signals | 6 |
| Total | 44 |
Next Steps
Section titled “Next Steps” SaaS / B2B Software Events Add domain-specific events for trials, feature adoption, team collaboration, and API usage.
E-Commerce / D2C Events Add domain-specific events for product discovery, checkout, orders, and loyalty.
Event Schema & Taxonomy The canonical event envelope, naming rules, and reserved system events.