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
Create an automation
Select s.SubscriberKey , 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
Extract "EmailDiscrepancy_Table" DE as .TXT on sFTP
Import the list in AllSubscribers list as UPDATE
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?)
What would happen is a subscriber is in middle of an active journey and email address changes?
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?