Background: In our use-case, a unique identifier of a customer is a SubscriberKey. We DO NOT HAVE salesforce.com connected to SFMC. SFMC is running independent.

We get all contacts in a All_Contacts_DB data extension via API (refreshed daily) and from there we create segmentations and sendable data extensions to send out emails.

Issue: We recently discovered that when a customer changes their email address and sendable data extension includes the updated email address along with the customer unique idenfier which is the SubscriberKey, the deployment DOES NOT automatically updates the EmailAddress value in all subscribers and send happens on "old" (i.e. existing) EmailAddress value in AllSubscribers.

Proposed solution / Steps: For keeping the "AllSubscribers" list up to date with most up to date email address value, we are considering following steps in exact order

  1. Create an automation

  2. SQL query

    , c.CustomerEmail AS EmailAddress 
    from _Subscribers s
    INNER JOIN All_Contacts_DB c ON c.CustomerID = s.SubscriberKey
    WHERE c.CustomerEmail != s.EmailAddress
    • Save output into a data extension - EmailDiscrepancy_Table
  3. Extract "EmailDiscrepancy_Table" DE as .TXT on sFTP

  4. File transfer

  5. Import the list in AllSubscribers list as UPDATE


  1. Is the above solution / process correct OR there is a better / efficiant way of keeping EmailAddress value up to date in SFMC? (OR any way to give priority to sendable data extension emailaddress field over EmailAddress in AllSubscribers?)

  2. What would happen is a subscriber is in middle of an active journey and email address changes?

  3. Does journey remembers / keeps a snapshot of the EmailAddress when a subscriber enters a journey? OR subscriber can be email on emailtouch 1, email touch2 on [email protected] then email changes in the middle by above automation process then email touch3, 4 and so on goes to new EmailAddress value by default? I don't know if journey remembers the subscriber subscriberkey in the snapshot OR everything (includes EmaiulAddress) except the status which is always checked on each send?

1 Answer 1


I would give my opinions here:


  • Depending on the number of records in the "EmailDiscrepancy_Table" DE, I would try to write a SSJS script to update the most recent email addresses for these subscribers in case it is a small data. So steps from 3 to 5 could be replaced by a script activity. Otherwise, continue to use bulk import as you are doing.
  • If you are sending the email from a journey, then you can configure the journey setting, use default email address as the email address field in the DE entry source -> Journey behavior: this will use the email address in the DE to send out the email and update the latest email address in All Subscribers List as well.
  • If you update the email address (e.g., change the email address in All Subscribers List ) while the subscriber is in the middle of the active journey, it won't change the email destination address. In journey, there is the snapshot of the data for "Journey Data"
  • Like the 2nd answer above, there is the snapshot of the journey data when the journey is activated. Everything.
  • Hi @Duc Le thank you for your response (very helpful). Two questions: (1) Is there any example of SSJS for updating email address value in All subs from a source data extension? (2) Making sure I'm following this correctly, so if in journey settings email field is selected from the source data extension, in that case data extension email value takes priority over All subs email value? And it not only takes priority but it also updates/overwrite the email address value in All subs for extending subscribers?
    – kl2
    Commented Feb 14, 2023 at 22:11
  • @kuml2 (1) You would need to research or open a new question for it. (2) Yes, that is what I mentioned in the answer above
    – Duc Le
    Commented Feb 15, 2023 at 1:21
  • Thank you for the confirmation on #2 @Duc Le
    – kl2
    Commented Feb 15, 2023 at 1:57

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .