Skip to Content
EventsLifecycle Events

Lifecycle Events

Events fired during the onboarding lifecycle.

ReadyEvent

Fired when the onboarding is loaded and ready to display.

interface ReadyEvent extends BaseSDKEvent { type: 'ready'; total_screens: number; }
FieldTypeDescription
total_screensnumberTotal number of screens
<BegynnOnboarding placementId="your-placement-id" onReady={(event) => { console.log("Onboarding ready with", event.total_screens, "screens"); }} />

OnboardingStartEvent

Fired when the user starts the onboarding (first interaction).

interface OnboardingStartEvent extends BaseSDKEvent { type: 'onboarding_start'; first_screen_id: string; total_screens: number; }
FieldTypeDescription
first_screen_idstringID of the first screen
total_screensnumberTotal number of screens
<BegynnOnboarding placementId="your-placement-id" onStart={(event) => { console.log("User started onboarding at screen", event.first_screen_id); }} />

OnboardingCompleteEvent

Fired when the user completes the entire onboarding flow.

interface OnboardingCompleteEvent extends BaseSDKEvent { type: 'onboarding_complete'; total_duration_ms: number; screens_viewed: number; payload: OnboardingPayload; }
FieldTypeDescription
total_duration_msnumberTotal time spent (milliseconds)
screens_viewednumberNumber of screens viewed
payloadOnboardingPayloadUser choices from choicelists
<BegynnOnboarding placementId="your-placement-id" onComplete={(event) => { console.log("Completed in", event.total_duration_ms, "ms"); console.log("User choices:", event.payload); }} />

OnboardingPayload

The payload contains user responses from choicelists, keyed by choicelist ID:

type OnboardingPayload = Record<string, string[]>;

Example:

{ "choicelist-goals": ["fitness", "nutrition"], "choicelist-experience": ["beginner"] }

OnboardingExitEvent

Fired when the user exits the onboarding before completing.

interface OnboardingExitEvent extends BaseSDKEvent { type: 'onboarding_exit'; last_screen_id: string; last_screen_index: number; progress_percentage: number; payload: OnboardingPayload; }
FieldTypeDescription
last_screen_idstringID of the last viewed screen
last_screen_indexnumberIndex of the last viewed screen
progress_percentagenumberCompletion percentage (0-100)
payloadOnboardingPayloadUser choices so far
<BegynnOnboarding placementId="your-placement-id" onExit={(event) => { console.log("User exited at", event.progress_percentage, "% progress"); console.log("Last screen:", event.last_screen_id); }} />
Last updated on