SplashSports โ Current Flow Audit ๐
โ = remove / cut ยท โ ๏ธ = CRO risk ยท ๐ก = recommended fix ยท โ = keep ยท ๐ณ = gap / missing feature
Legend
โ Remove or fix this step
โ ๏ธ CRO risk โ causes drop-off
โ Keep as-is
๐ณ Gap โ missing feature
๐ก Fix / recommendation note
Commitment Phases
โ Discovery
Ask: nothing | Gate: none โ
Let user browse, see contest value
Applies to both flows
โก Contest Engagement
Ask: nothing | Gate: none โ
User fills picks, builds investment
Auth wall here = abandonment
โข Human / Identity Check โ
Details TBD โ age gate? CAPTCHA?
Currently sits at signup step 3
Confirm: what is this check exactly?
โ needs clarification from Chris
โฃ KYC โ Entry Submission
Ask: SSN, DOB, address
Trigger: submit/finalize entry
NOT signup. NOT deposit alone.
URL flag: ?kyc=0 skips (campaigns)
Free contests may omit if not regulated
โค Withdrawal / Compliance
Enhanced AML / DFS checks
Gate: payout only ๐ชช
Never at signup โ
Current Signup Flow โ app.splashsports.com/sign-up
Current Contest Deep Link โ (unauthenticated user)
๐ Marketing / Landing Page โ
โ
Login | Sign Up (split screen)
/sign-in vs /sign-up โ two separate routes
Switching modes loses all form state
โ existing user clicks wrong tab, abandons
๐ก Fix:
Single unified modal.
Detect new vs returning
by email. One URL.
No mode-switch loss.
โ๏ธ Email + Password โ
or Google / Apple SSO
This part is correct โ keep
โ
โข Human / Identity Check
Currently at signup step 3
Details TBD โ what is this check?
(age gate? CAPTCHA? ID scan?)
๐ก Clarify:
If light check (age/bot)
โ OK at signup.
If identity docs
โ move to Phase 4.
โ
โฃ KYC โ Currently Step 4 of Signup
SSN ยท Date of Birth ยท Address ยท Phone
BEFORE user has entered a single contest
Sensitive data ask with zero value delivered
โ 30โ50% abandon here โ MOVE OUT OF SIGNUP
New home: Phase 4 โ entry submission / finalize
๐ก Move KYC to:
"Submit Entry" /
"Finalize Contest"
URL flag:
?kyc=0 โ skip
?kyc=1 โ enforce
Per campaign goal
ideal โ
current
โ Account Created โ Dashboard
Keep as-is
๐ณ Missing: Signup Confirmation Email
No email verification currently triggered
No welcome / onboarding sequence
โ add: confirm email + "here's your first contest" CTA
๐ณ Missing: Abandon Cart Email
If user drops off at KYC (or any step)
no re-engagement triggered
โ add: "finish your entry" drip (30min / 24h / 72h)
๐ Signup Drop-off Estimate
Split Login/Signup friction: ~10โ20% lose
KYC at step 4 (no value yet): ~30โ50% lose
Combined: ~40โ60% of potential signups lost
๐ Contest Deep Link / Direct URL
โ
๐ง Auth Gate โ Fires on Page Load
User redirected to login before seeing contest
Zero value shown โ cold traffic bounces
โ Gate timing is wrong โ move to "Save Entry" CTA
๐ก Fix timing:
Contest page opens
freely. User picks.
Gate only at:
"Save Your Entry"
After investment = OK.
โ
Login | Sign Up (split modal)
New user clicks "Login" โ switches to Sign Up
Tab switch = form state wiped
Any picks in memory? Already gone from step above.
โ ๏ธ Double friction โ wrong gate AND wrong modal
๐ Auth Completes โ
Credentials accepted โ redirecting...
โ
๐ฅ Redirect โ Contest Page
ALL PICKS ARE GONE
No localStorage preservation on auth redirect
Contest reloads blank โ user sees empty form
โ HIGHEST ABANDONMENT POINT IN THE ENTIRE FLOW
๐ก Fix: localStorage
Write picks on every
change. Key: contest_id
+ picks[] + entry_data
TTL: 30 min.
Hydrate on return. โ
๐ค Contest Page โ Blank Picks
User must re-fill entire entry from scratch
Most don't. They close the tab.
Registered account = zero contest entry
๐ช User Abandons
Registered but never converted to entry
๐ณ Missing: Re-engagement Email
User registered but never entered a contest
No triggered "come back" email exists
โ add: "Your entry is waiting" (30min, 24h, 72h)
๐ Deep Link Drop-off Estimate
Immediate auth gate: ~60โ80% bounce
State loss post-auth: ~50โ70% of survivors
Combined: ~85โ95% of deep link clicks โ zero entry
๐ Priority Fixes โ Ordered by Impact
#1 โ Preserve Picks Across Auth
Save contest state to localStorage on every change.
On post-auth redirect, hydrate from stored state.
Key: { contest_id, picks[], entry_meta } TTL: 30m
Impact: eliminates #1 abandonment point entirely.
Frontend only โ no backend required.
#2 โ Move Auth Gate to "Save Entry"
Contest page: no auth to view or fill picks.
Gate fires only when user hits "Save Entry" CTA.
User has invested โ friction is acceptable.
Impact: ~3โ5x deep link conversion uplift.
Frontend routing change + ?return_to param.
#3 โ Move KYC to Entry Submission
KYC (SSN/DOB/address) triggers at "Submit Entry"
or "Finalize Contest Setup" โ not signup.
URL flag: ?kyc=0 (skip) / ?kyc=1 (enforce).
Impact: removes 30โ50% signup abandonment.
Free contests may never need KYC.
#4 โ Unified Auth Modal
Replace Login/Signup split with single modal.
Email-first detection: new vs returning.
Impact: kills mode-switch state loss.
Single /auth route or modal component.
#5 โ Add Email Triggers
Signup confirmation + welcome email (missing).
Abandon cart: "Your entry is waiting" drip.
Impact: recover 10โ20% of abandoned signups.
30min / 24h / 72h re-engagement sequence.
โ Phase 3 Human Check โ Clarify
Currently at signup step 3. What is it exactly?
Age gate / CAPTCHA โ can stay at signup (light).
Identity doc / manual review โ move to Phase 4.
Confirm with Chris before implementing.
Implementation Note
Fixes #1โ#4 are all frontend-only changes achievable in a single sprint. Fix #5 requires email provider integration. All 5 together est. 50โ70% signup-to-entry improvement.
Generated by Vega ยท SplashSports CRO Audit ยท Updated with Phase 3 clarification, KYC at entry submission, email gaps, and ?kyc URL flag