Skip to content

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.


11 events covering signup, login, security, and account management.

EventKey PropertiesVolumeDescription
user.signed_upmethod, source, referral_code, planLowUser creates a new account
user.signed_inmethod (password / sso / magic_link / oauth), providerHighUser authenticates successfully
user.signed_outsession_durationHighUser ends their session
user.password_reset_requestedmethodLowUser requests a password reset link
user.password_reset_completedmethodLowPassword reset flow completed
user.email_verifiedverification_methodLowUser confirms their email address
user.mfa_enabledmfa_method (totp / sms / webauthn)LowMulti-factor authentication turned on
user.mfa_disabledmfa_methodLowMulti-factor authentication turned off
user.profile_updatedfields_changed (array)MediumUser modifies profile fields
user.deletedreason, feedbackLowUser account permanently deleted
user.impersonatedadmin_id, target_user_idLow (admin)Admin impersonates a user for debugging

13 events covering the full subscription lifecycle and payment processing.

EventKey PropertiesVolumeDescription
subscription.createdplan_name, billing_interval, mrr_cents, trial (bool)LowNew subscription activated
subscription.upgradedfrom_plan, to_plan, mrr_delta_centsLowPlan upgraded to a higher tier
subscription.downgradedfrom_plan, to_plan, mrr_delta_centsLowPlan downgraded to a lower tier
subscription.renewedplan_name, billing_interval, mrr_centsLowSubscription renews at end of billing period
subscription.cancelledreason, feedback, cancel_at_period_end (bool)LowUser cancels their subscription
subscription.reactivatedplan_name, previous_cancel_reasonLowPreviously cancelled subscription restarted
subscription.trial_startedplan_name, trial_daysLowFree trial begins
subscription.trial_endedplan_name, converted (bool)LowFree trial expires or converts
invoice.createdinvoice_id, amount_cents, currencyLowNew invoice generated
invoice.paidinvoice_id, amount_cents, payment_methodLowInvoice payment received
invoice.payment_failedinvoice_id, failure_reason, retry_countLowPayment attempt failed
payment_method.addedtype (card / bank / wallet), last_fourLowNew payment method saved
payment_method.removedtypeLowPayment method deleted

6 events covering support tickets, live chat, and feedback collection.

EventKey PropertiesVolumeDescription
support_ticket.createdticket_id, category, priority, channelLowNew support ticket opened
support_ticket.resolvedticket_id, resolution_time_hours, satisfaction_scoreLowSupport ticket marked as resolved
chat.startedchannel (live / bot), page_urlMediumLive chat or bot conversation initiated
chat.message_sentchannel, is_agent (bool)HighMessage sent in a chat session
chat.endedchannel, duration, messages_countMediumChat session concluded
feedback.submittedtype (bug / feature_request / general), categoryLowUser submits feedback

8 events covering multi-channel notifications and privacy consent management.

EventKey PropertiesVolumeDescription
notification.sentchannel (email / push / sms / in_app), template_id, campaign_idHighNotification dispatched to user
notification.deliveredchannel, template_idHighNotification confirmed delivered
notification.openedchannel, template_idHighUser opens a notification
notification.clickedchannel, template_id, link_urlMediumUser clicks a link inside a notification
consent.grantedpurpose (marketing / analytics / functional), methodLowUser grants consent for a specific purpose
consent.revokedpurpose, methodLowUser revokes previously granted consent
privacy.data_export_requestedformatLow (admin)User requests a data export (GDPR/CCPA)
privacy.data_deletion_requestedreasonLow (admin)User requests account data deletion

6 events that power growth loop analytics, churn prediction, and reactivation workflows.

EventKey PropertiesVolumeDescription
lifecycle.first_value_momentaction, time_to_value_seconds, session_numberLowUser reaches their first “aha” moment
lifecycle.activation_milestonemilestone_name, milestone_index, days_since_signupLowUser completes a defined activation milestone
lifecycle.expansion_signalsignal_type, scoreMediumBehavior suggests readiness for upsell
lifecycle.churn_risk_detectedrisk_score, signals (array), days_inactive, usage_trendLow (admin)System flags a user as churn risk
lifecycle.reactivation_detecteddays_since_last_active, triggerLowPreviously inactive user returns
lifecycle.advocacy_triggeredtrigger (nps_promoter / review_posted / referral_sent)LowUser exhibits advocacy behavior

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 signup
gos.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 milestone
gos.track('lifecycle.activation_milestone', {
milestone_name: 'created_first_project',
milestone_index: 1,
days_since_signup: 0
});
// 4. Track first value moment
gos.track('lifecycle.first_value_moment', {
action: 'generated_first_report',
time_to_value_seconds: 340,
session_number: 1
});
// 5. Track subscription creation
gos.track('subscription.created', {
plan_name: 'pro',
billing_interval: 'monthly',
mrr_cents: 4900,
trial: true
});

CategoryCount
Authentication and Identity11
Billing and Subscription13
Support and Communication6
Notifications and Consent8
Lifecycle Signals6
Total44