fix(onboarding): stamp which step the scroll gate blocked - #69
Draft
gatteo wants to merge 1 commit into
Draft
Conversation
onb_paywall_gate_blocked is tracked inside ScrollProgressButton, which both the reveal step and the paywall mount. Every reveal reader who clicked 'Create my plan' before scrolling to the end was recorded as blocked purchase intent on a step they had not reached: 10 of 24 events in the 07-31..08-06 window fired on reveal, overstating the paywall gate's cost by ~42% and hiding reveal-gate friction entirely. Stamp a required step prop on the event at both call sites and record the ambiguity window in the event dictionary.
Contributor
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #68
Evidence chain
onb_paywall_gate_blockedevent in the 07-31..08-06 window to the lastonb_step_viewbefore it: 10 of 24 events fired on the reveal step, not the paywall. Issue [funnel] paywall: half of paywall viewers abandon without buying or continuing free (44 -> 21 reach confirm) #37's "purchase intent swallowed by the gate" evidence (16u/21ev last window) was ~42% contaminated, and the 08-07 health run's "3 locked-arm paywall viewers fired gate_blocked then closed the tab" actually described reveal-gate clicks.track('onb_paywall_gate_blocked')is hardcoded inside the sharedScrollProgressButton(components/dashboard/onboarding/scroll-progress-button.tsx:58), which bothsteps/reveal-step.tsx("Create my plan") andsteps/paywall-step.tsx(purchase CTA) mount.step: 'reveal' | 'paywall'prop at the call sites, stamped on the event. Same event name, so existing dashboards keep working; the dictionary records the pre-fix ambiguity window (2026-07-31 to deploy) so past events are never read as paywall-only.onb_paywall_gate_blockedcarriesstep; audits report reveal-gate and paywall-gate friction separately, and [funnel] paywall: half of paywall viewers abandon without buying or continuing free (44 -> 21 reach confirm) #37's offer-engagement numbers become trustworthy.Verification
pnpm type-checkexit 0pnpm lint0 errors (2 pre-existing warnings in unrelated files)onb-modal-exitexperiment (additive property only)