WARNING: THIS SITE IS A MIRROR OF GITHUB.COM / IT CANNOT LOGIN OR REGISTER ACCOUNTS / THE CONTENTS ARE PROVIDED AS-IS / THIS SITE ASSUMES NO RESPONSIBILITY FOR ANY DISPLAYED CONTENT OR LINKS / IF YOU FOUND SOMETHING MAY NOT GOOD FOR EVERYONE, CONTACT ADMIN AT ilovescratch@foxmail.com
Skip to content

Duplicate CTMS records created during FxA email workflow #1017

@robhudson

Description

@robhudson

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

  1. Create a Mozilla Account using an email address [email protected].
    • This creates CTMS user 1 with emails.primary_email and fxa.primary_email set to [email protected].
  2. 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.
  3. Use the secondary email address [email protected] to sign up for a newsletter on the website.
  4. Go back to the Mozilla Account and make the secondary email [email protected] the primary email.
    • For CTMS user 1 this updates fxa.primary_email to [email protected] while keeping the emails.primary_email value of [email protected].
    • CTMS user 1's fxa.primary_email now conflicts with CTMS user 2's emails.primary_email.

Observed Behavior

Steps to Reproduce - Alternate workflow

  1. Create a Mozilla Account using an email address [email protected].
    • This creates CTMS user 1 with emails.primary_email and fxa.primary_email set to [email protected].
  2. Add a second email address [email protected] as a secondary email and make it the primary email.
  3. Use the email address [email protected] to sign up for a newsletter on the website.

Observed Behavior

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 emails table includes a basket_token, which allows users to navigate to the preference center.
  • If records are merged, take into consideration which basket_token remains 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

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions