Our MC wasn't connected to SF in the last year. Therefore the contact key value that has been used is email address.

Now we have purchased a SF account license and we are planning to connect it with MC. We would like all of the existing contact keys to be populated with the lead/contact id from SF and avoid duplicates.

Is there a known way to acheive that?



2 Answers 2


There's a long, arduous, complicated and expensive service you can order from your Account Executive that's called the Subscriber Key Migration that will allow SF back-end engineers to migrate your existing contacts to new IDs (you need to provide the mapping). You would only do this if the tracking information about past sends is retained, but I'm not 100% sure it is.

If it's not retained, there's really no reason to engage with SF about this and you do it the dirty way:

  1. Extract all subscription status information in all channels you are using - you need to be GDPR-compliant and not irritate customers that have opted-out with resumed sending.

  2. Extract all send history information you need

  3. Assuming you made SF records for all your MC contacts, you can proceed with mapping which of the old contacts is now duplicated.

  4. Using the mapping, recreate the desired subscription status with import definitions on contacts that were migrated to SF.

  5. Collect the old style contact keys in a sendable data extension and delete them in Contact Builder


If your company has particularly deep pockets, you could consider talking to Salesforce's "Customer Success Group" to undertake a "SubscriberKey Migration". What's achieved is essentially they get their DBAs to run some SQL Stored Procedures that update the old SubscriberKeys with corresponding ones from Salesforce CRM. The cost tends to be prohibitive, these days, so most users in your position tend to forego this and go it alone.

The alternative is to delete all your old Contact records and then complete the connection to CRM using Marketing Cloud Connect. Synchronising Contact/Lead/User records using Data Stream will re-establish contacts in your account using their new CRM record Ids.

Without going through SubscriberKey Migration, you'll have to accept some degree of data loss in terms of the historic information held in Marketing Cloud. Many people back up this data using Tracking Extracts or summarise this information prior to Contact Deletion, so that they have a record of when each Subscriber last opened, clicked, bounced etc. More important, however, is to back up statuses of all your Subscribers so that you can ensure that unsubscribed contacts are suppressed from future sends and that records in a Held status are similarly screened from sends moving forward. It all takes a fair bit of planning.

You must log in to answer this question.

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