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;
}| Field | Type | Description |
|---|---|---|
total_screens | number | Total 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;
}| Field | Type | Description |
|---|---|---|
first_screen_id | string | ID of the first screen |
total_screens | number | Total 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;
}| Field | Type | Description |
|---|---|---|
total_duration_ms | number | Total time spent (milliseconds) |
screens_viewed | number | Number of screens viewed |
payload | OnboardingPayload | User 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;
}| Field | Type | Description |
|---|---|---|
last_screen_id | string | ID of the last viewed screen |
last_screen_index | number | Index of the last viewed screen |
progress_percentage | number | Completion percentage (0-100) |
payload | OnboardingPayload | User 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