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.
A.P.