MetaMask / MetaMask/metamask-mobile
Enable A/B Testing in RemoteFeatureFlag - Use Profile ID for A/B tests and use MetametricsID as a fallback
- Dominant language
- TypeScript
- Stars
- 3k
- Forks
- 1.7k
- Avg merge
- 1d 14h
- Merged PRs (30d)
- 669
Description
### What is this about?
- Profile ID gives us deduplication, makes a/b much more consistent.
- Use profile ID of a primary account
- During the onboarding, when profile_id is not yet available - use metametrics_id instead
The goal is to be able to run an A/B test on a new user's experience, e.g. on the first time the user ever sees the Metamask home page
To clarify, when the new user is onboarding, what happens first:
- Profile ID becomes available and can be used
- Feature Flag controller is initialized
Based on this, define if we can always use profile_id fo a/b tests or we have to have a fallback to metametricsId (or a replacement installation identifier)
When checking for flags:
- If metametrics_id is used AND the a/b test does not have a tag “new_user” - always return false
- If metametrics_id is used AND the a/b test has a tag “new_user” - evaluate as usual
- If profile_id is used AND the a/b test does not have a tag “new_user” - evaluate as usual
- If profile_id is used AND the a/b test has a tag “new_user” - always return false
### Scenario
_No response_
### Design
_No response_
### Technical Details
_No response_
### Threat Modeling Framework
_No response_
### Acceptance Criteria
_No response_
### Stakeholder review needed before the work gets merged
- [x] Engineering (needed in most cases)
- [ ] Design
- [ ] Product
- [ ] QA (automation tests are required to pass before merging PRs but not all changes are covered by automation tests - please review if QA is needed beyond automation tests)
- [ ] Security
- [ ] Legal
- [ ] Marketing
- [ ] Management (please specify)
- [ ] Other (please specify)
### References
_No response_
Contributor guide
Assessment
This issue has not been assessed yet.