-
Notifications
You must be signed in to change notification settings - Fork 468
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: Safe creation AB test #1001
Conversation
apps: '/apps', | ||
addressBook: '/address-book', | ||
balances: { | ||
nfts: '/balances/nfts', | ||
index: '/balances', | ||
}, | ||
newSafe: { | ||
create: '/new-safe/create', | ||
add: '/new-safe/add', |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This was added in anticipation of the add Safe revamp.
|
||
return { | ||
createSafe: shouldUseNewRoute ? AppRoutes.newSafe.create : AppRoutes.open, | ||
addSafe: shouldUseNewRoute ? AppRoutes.newSafe.add : AppRoutes.load, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
AppRoutes.newSafe.add
uses the AppRoutes.load
component for now.
ESLint Summary View Full Report
Report generated by eslint-plus-action |
It would be much simpler to just add a conditional redirect on the old URL. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
To make my point about the redirect clear, instead of the useNewSafeRoutes
spread across many components, the A/B test should have just one entry point: the old Safe creation route.
On that page, do a simple URL redirect to the alternative URL if the user is in B.
As a side note, I would split this PR into two:
- A/B test system implementation
- The Safe creation test
I'll work on this now. |
What it solves
Resolves #968
How this PR fixes it
An "coin toss" decides which Safe creation flow to use (new or old) and stores this flag locally. The chosen flow is also sent with every analytics event.
How to test it
Open Safe creation (from
/welcome
) and note which flow is chosen. Return to/welcome
, delete theSAFE_v2__AB__newSafe
localStorage
entry and refresh the page. Creating a Safe again may choose a different flow. Repeat until the other is taken.Analytics changes
{ abTest?: string }
is sent with events in Safe load/creation, labelled "New" or "Old" accordingly.