-
Notifications
You must be signed in to change notification settings - Fork 3
Open
Description
Description
A workflow involving changes to primary and secondary emails in a Mozilla Account can lead to duplicate records in CTMS. This creates inconsistencies in how user data and subscriptions are represented.
Steps to Reproduce
- Create a Mozilla Account using an email address
[email protected].- This creates CTMS user 1 with
emails.primary_emailandfxa.primary_emailset to[email protected].
- This creates CTMS user 1 with
- Add a second email address
[email protected]as a secondary email but do not make it the primary email.- In CTMS, this is not recorded. It's only an FxA change at this point.
- Use the secondary email address
[email protected]to sign up for a newsletter on the website.- This creates CMTS user 2 with
emails.primary_emailset to[email protected].
- This creates CMTS user 2 with
- Go back to the Mozilla Account and make the secondary email
[email protected]the primary email.- For CTMS user 1 this updates
fxa.primary_emailto[email protected]while keeping theemails.primary_emailvalue of[email protected]. - CTMS user 1's
fxa.primary_emailnow conflicts with CTMS user 2'semails.primary_email.
- For CTMS user 1 this updates
Observed Behavior
- Two CTMS records are created:
- CTMS user 1 with:
emails.primary_email:[email protected]fxa.primary_email:[email protected]
- CTMS user 2 with:
emails.primary_email:[email protected].
- CTMS user 1 with:
Steps to Reproduce - Alternate workflow
- Create a Mozilla Account using an email address
[email protected].- This creates CTMS user 1 with
emails.primary_emailandfxa.primary_emailset to[email protected].
- This creates CTMS user 1 with
- Add a second email address
[email protected]as a secondary email and make it the primary email.- In CTMS this updates
fxa.primary_emailto[email protected].
- In CTMS this updates
- Use the email address
[email protected]to sign up for a newsletter on the website.- This creates CMTS user 2 with
emails.primary_emailset to[email protected].
- This creates CMTS user 2 with
Observed Behavior
- Two CTMS records are created:
- CTMS user 1 with:
emails.primary_email:[email protected]fxa.primary_email:[email protected]
- CTMS user 2 with:
emails.primary_email:[email protected].
- CTMS user 1 with:
Expected Behavior
- There should be only one CTMS record for the user:
- To fix this issue, define and implement a solution to merge 2 contacts.
Additional Considerations
- The
emailstable includes abasket_token, which allows users to navigate to the preference center. - If records are merged, take into consideration which
basket_tokenremains functional so users can access the preference center. - Perhaps a system notification email is sent notifying the user of the merge and providing the chosen basket token as a reference. The other basket token will result in a 404 from that point forward.
Metadata
Metadata
Assignees
Labels
No labels