We have set up our Sales Cloud - Marketing Cloud integration where Contact ID is used as the subscriber key. What we've noticed is when we have contact ID as the subscriber relationship on our sendable data extension, Marketing Cloud will reference contact ID on All Subscribers list and if data matches, it will send to the email address listed on All Subscribers and not to the one on the data extension. This has caused us headaches for a number of reasons:

  1. Email addresses always change so the one on All Subscribers is out-of-date.
  2. Whilst preference center can update a recipients address and write this back to All Subscribers that not how most addresses are updated by the user
  3. Email address is typically updated in Sales Cloud instance and migrated to Marketing Cloud either through imports or via synchronized data extensions. It does not map directly to All Subscribers.
  4. Marketing Cloud users assume (and quite rightly) the address listed on the data extension is what will be used in the send. Not the one on All subscribers.

Anyone else experienced this? Any solution to resolve this issue?

  • 1
    This can be a frustrating problem, with or without the Connector. It would be nice if we could map 'Email Address' to the Salesforce Email field, like we can with other profile attributes... would love to hear what people say about this. Commented Oct 21, 2016 at 23:44

2 Answers 2


Yes this is frustrating but "expected behavior".

It's not unique to importing Salesforce records either. If you have a Sendable Data Extension and complete a Guided Send Email, then repeat this again at a later date with updated email addresses in the in the Sendable DE, the emails will be sent to the previous Subscriber. The email address in the Sendable DE is only used when the Subscriber Record is initially created.

Salesforce assume all subscribers are using the built-in profile centre to update their email address. But this is often not the case.

The solution isn't great, but its really the only way around this. You will need to create a Scheduled Automation in Automation Studio that runs at a regular interval (e.g. daily) and performs the following tasks:

  1. SQL Query Activity to identify updated email addresses from your Salesforce DE
  2. Export Target DE from Query Activity to Enhanced FTP Account using File Transfer Activity
  3. Import the file exported in step 2 to the All Subscribers list using Import File Activity (refer to screenshot below)

all subscribers

  • Hey Eliot - would it be relevant to update this answer, given that we can now do this via Contact Builder => Imports, and then use the import activity we use through here? :) (I'd be happy to the update if you want) :) Commented Jun 16, 2017 at 12:52
  • Hi Kenneth, feel free to add a new answer or update mine to reflect this alternative option. Commented Jun 19, 2017 at 2:42
  • It was only to mobile push and mobile connect it seems, was sure i'd seen a direct import to all subscribers. Added an alternative to leverage triggered emails and/or journey builder. Commented Jun 30, 2017 at 16:58

An alternative to exporting, is to use a triggered email or a journey builder initiated email to confirm the email change to the subscriber. Depends on how a subscriber can change the email address. But, the triggered sends or journey builder, can update the email at the all subscriber level, which could save you the automation - which is otherwise the only option to achieve this.

You must log in to answer this question.

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