I'm looking to do this automatically using SQL, data extract and import activities in an automation that runs hourly.

My query looks like this:


C.Id as SubscriberKey,
C.Email as EmailAddressNew,
A.EmailAddress as EmailAddressOld,

FROM Contact_Salesforce C

INNER JOIN _subscribers A

ON C.Id = A.SubscriberKey

WHERE C.Email != A.EmailAddress

I'm seeing some incredibly strange records returned where staff member email addresses (that may be in All Subscribers multiple times against different Subscriber Keys) are appearing as the current email address in All Subscribers for a customer. However, if I check the actual record in All Subscribers (or in Salesforce), this isn't the case and the customer's record is completely fine with no presence of a staff email so I'm assuming the query has an issue.

Have I missed something?


1 Answer 1


To give you an answer probably I will need more insight about your use case, but there here are some possibilities on why you can have different email addresses between SFDC.Contacts and SFMC.Contacts

  • SFDC.Contact EmailAddress was updated. The connector doesn't update the EmailAddress field in Subscribes
  • SFMC.Subscriber EmailAddress was updated from the PrefCenter. OutoftheBox PrefCenter doesn't update SFDC.Contact EmailAddress.


You must log in to answer this question.

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