I encounter an issue with Marketing Cloud when I delete/update contacts, the contacts are always uploaded back to Marketing Cloud (or the original value updated back).

Currently our contacts are synced to Sales Cloud (via Marketing Cloud connect). We have two objects synced via synchronised data extension (Account object and Contact object). On top of that there’s an automation running to update All Subscribers from SC (query > extract > file transfer > import).

I’ll give two examples.

  • When I delete Hard Bounces contacts. From Sales Cloud, I don’t delete them (as I need their profiles) but I remove their invalid email address, then on top of that I delete them from Marketing Cloud through a delete request (the synchronised data source only syncs contacts with an email address FYI). It works initially but then these deleted contacts are still brought back to Marketing Cloud (and therefore All Subscribers) with the same email address even if there’s no email address in Sales Cloud anymore. So I am not sure to understand where Marketing Cloud pull the data back from?

  • If I update an email address of a contact in Sales Cloud, I expect that the email address is also updated in Marketing Cloud with the connector/automation. However, it is not the case, nothing happens. And even if I update it in Marketing Cloud manually, it will still overwrite the new one with the old one in Marketing Cloud after (Sales Cloud still has the new address).

I can’t get my head around what the issue is. The synchronised data extensions and connector seem to work well. Could a problem be the automation? It was set up by an agency before I started and I don’t have coding/SQL knowledge, but it seemed fine to me when I checked. Here’s the query they used:

select subs.SubscriberKey,subs.EmailAddress, subs.Status,subs.FirstName,subs.LastName from 
 (select  PersonContactId as 'SubscriberKey', PersonEmail as 'EmailAddress', FirstName as 'FirstName', LastName as 'LastName',
  'Status' = case when PersonHasOptedOutOfEmail = 1 then 'Unsubscribed' else 'Active' end
  from Account_Salesforce
  where PersonEmail is not null
 ) subs
left join _subscribers s
on subs.SubscriberKey = s.subscriberkey
where s.status is null or not s.status = 'held' or s.status = 'bounce'

Many thanks for your help and please let me know if I can help with more info.


1 Answer 1


To answer your questions.

Answer to point 1. Sync contacts do not get added to the All Subscriber immediately but only when you perform a send to them.Also, they retain email address from previous entries and do not update when you perform next send with another email. So what you want to do is Contact Delete to erase the records from everywhere. https://help.salesforce.com/articleView?id=Permanently-remove-Contacts-or-Subscribers-and-associated-data-from-Contact-Builder&type=1&mode=1 Contact delete will ensure that the Subkey and related email address is removed.

Answer to point 2. When you finish the Contact Delete and sync the records again from Sales and Service cloud this will get the updated email on the relevant DE's like for contact contact_salesforce and so on, and these records will also be added to All Contacts with just recordid with unspecified.However, when you perform any sends to these records they will be added to the All Subscribers and email demographics will be updated to All Contact as well.

Note: When you delete a record which was synced from Sales and Service Cloud without deleting it from the Origin, it will re-sync itself with 32 digit UUID(its there in the article). So in my opinion the best option for you would be, update the valid email to Sales and Service Cloud, which will then update the Synced Data extensions. And, for the All Subscriber's manually performing an Import with a CSV to update the email address would be best.


You must log in to answer this question.

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