MetaMask / MetaMask/metamask-mobile

Enable A/B Testing in RemoteFeatureFlag - Use Profile ID for A/B tests and use MetametricsID as a fallback

Open
#24,028 0 comments 0 reactions 1 assignee Claimed by @MarioAslau View on GitHub
team-mobile-platform
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.