feat(onboarding): funnel analytics#7960
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
📝 WalkthroughWalkthroughAdds onboarding analytics event definitions and feature-flag-based variant selection. Onboarding panels now report AI prompt copies, while the onboarding flow tracks snippet copies and flag toggles. Bootstrap logic records first-project and first-feature milestones. User identification records the onboarding variant after Flagsmith identification completes. Estimated code review effort: 3 (Moderate) | ~20 minutes Comment |
97fe9e6 to
10fa440
Compare
3a4e76d to
0a430fe
Compare
0a430fe to
5492b47
Compare
Docker builds report
|
Playwright Test Results (oss - depot-ubuntu-latest-16)Details
Playwright Test Results (oss - depot-ubuntu-latest-arm-16)Details
Playwright Test Results (private-cloud - depot-ubuntu-latest-16)Details
Playwright Test Results (private-cloud - depot-ubuntu-latest-arm-16)Details
Failed testsfirefox › tests/environment-permission-test.pw.ts › Environment Permission Tests › Environment-level permissions control access to features, identities, and segments @enterprise Details
Playwright Test Results (oss - depot-ubuntu-latest-16)Details
Playwright Test Results (oss - depot-ubuntu-latest-16)Details
Playwright Test Results (oss - depot-ubuntu-latest-arm-16)Details
Playwright Test Results (oss - depot-ubuntu-latest-arm-16)Details
Playwright Test Results (private-cloud - depot-ubuntu-latest-16)Details
Playwright Test Results (private-cloud - depot-ubuntu-latest-arm-16)Details
Playwright Test Results (private-cloud - depot-ubuntu-latest-arm-16)Details
Playwright Test Results (private-cloud - depot-ubuntu-latest-16)Details
Playwright Test Results (oss - depot-ubuntu-latest-arm-16)Details
Playwright Test Results (oss - depot-ubuntu-latest-16)Details
Playwright Test Results (private-cloud - depot-ubuntu-latest-arm-16)Details
Playwright Test Results (private-cloud - depot-ubuntu-latest-16)Details
Playwright Test Results (oss - depot-ubuntu-latest-16)Details
Playwright Test Results (oss - depot-ubuntu-latest-arm-16)Details
Playwright Test Results (private-cloud - depot-ubuntu-latest-16)Details
Playwright Test Results (private-cloud - depot-ubuntu-latest-arm-16)Details
|
Visual Regression19 screenshots compared. See report for details. |
5492b47 to
0267ae7
Compare
There was a problem hiding this comment.
Actionable comments posted: 4
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: ASSERTIVE
Plan: Pro Plus
Run ID: 013a9e4c-c310-451f-b31a-9d8a93809700
📒 Files selected for processing (7)
frontend/common/constants.tsfrontend/common/utils/getOnboardingVariant.tsfrontend/web/components/pages/onboarding/OnboardingConnectPanel/ConnectWithAiPanel.tsxfrontend/web/components/pages/onboarding/OnboardingConnectPanel/OnboardingConnectPanel.tsxfrontend/web/components/pages/onboarding/OnboardingFlow/OnboardingFlow.tsxfrontend/web/components/pages/onboarding/hooks/bootstrapOnboarding.tsfrontend/web/project/api.ts
The single-page flow auto-creates the project and flag via RTK, which emit no analytics, so the onboarding funnel had no project/feature step for the new flow. Emit the milestone events (First Project created, First Feature created) on a real create - the milestone the user reached - but not the generic Project/Feature created action events, which stay reserved for resources a user makes by hand. Contributes to #7738 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Set an onboarding_variant user property (control | single_page, from the onboarding_quickstart_flow flag) once, after Flagsmith resolves it at identify. As a user property it attaches to every event the user emits, so the shared funnel can be split by variant with a single Group by, without per-event tagging or touching the shared stores. Contributes to #7738 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Emit single_page-only diagnostics for the flow's internal drop-off: onboarding snippet copied (install / wire), AI-connect used, and the in-page flag toggle, each carrying org / project / environment IDs (no PII). Kept separate from the control comparison funnel since the control has no equivalent. Contributes to #7738 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
0267ae7 to
619aeab
Compare
Review (CodeRabbit + Kyle): extract the inline 'install' | 'wire' union into a named OnboardingSnippet type, per the coding guideline. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
There was a problem hiding this comment.
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
frontend/web/components/pages/onboarding/OnboardingFlow/OnboardingFlow.tsx (1)
169-175: 🎯 Functional Correctness | 🟡 Minor | ⚡ Quick winRecord this after a successful toggle.
toggleFlag(enabled)is optimistic and reverts on failure, so firingOnboarding flag toggledfirst will count failed attempts as successes. Move the event behind the mutation success, or rename it to reflect an attempted toggle.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: ASSERTIVE
Plan: Pro Plus
Run ID: 201b985b-f190-4485-accb-a5fc84a0324f
📒 Files selected for processing (1)
frontend/web/components/pages/onboarding/OnboardingFlow/OnboardingFlow.tsx
docs/if required so people know about the feature.Changes
Contributes to #7738
Instruments the new single-page onboarding so it sits in one Amplitude funnel, split by variant, alongside the current flow.
onboarding_variantuser property (control|single_page), set once at identify from theonboarding_quickstart_flowflag. As a user property it splits any funnel by variant with a single "Group by".First Project created/First Feature createdon a real create (org already fired). Milestone events only, not the genericProject/Feature createdaction events, which stay reserved for resources a user makes by hand.Onboarding snippet copied(install / wire),Onboarding AI connect used,Onboarding flag toggled.Activation (first SDK evaluation) is a follow-up, pending #7623's emit shape.
How did you test this code?
Manually, with
onboarding_quickstart_flowon and analytics logging enabled:User registerfires and theonboarding_variant = single_pageuser property is set.First Organisation / Project / Feature createdeach fire once, and not again on revisit.onboarding_variant = control.