We have a client Migrating from Zoho to Marketing Cloud.

They haven't sent an email yet from Marketing Cloud, but they already have the MC Connector set up, with 600K+ contacts syncing from Salesforce.

My worries is about people who opted out in Zoho.

  • What's the best approach to bringing lists from Zoho to Marketing Cloud in this case?

  • If we export-import from Zoho to Salesforce to get the ContactID as Subkey, making sure that Zoho opt-outs are mapped to HasOptedOutOfEmail - would the new opt-out statuses be reflected in Marketing Cloud? My understanding is that "no"! Am I correct? (See thread here: Sales Cloud to Marketing Cloud unsubscribe synching )

  • So do we have to set up API calls for each imported contact to leverage the LogUnsubEvent? That's potentially hundreds of thousands of API calls. Any way to batch it / do this via import?

  • Finally, are Salesforce recorded opt-outs updated on MC All Subscribers Status field when we first activate the MC Connect - and/or when we add a new contact to Salesforce directly with "HasOptedOut = True" status?

Thanks for your help!

1 Answer 1


Consider it question of a legacy data suppression instead of unsubscription. The effect is the same: It is ensured that the records receive no messages. You can also import legacy statistics or history if available, but that is technically decoration and does not need to conform to the innate Salesforce Logics like "HasOptedOutOfEmail" etc.

With that said: I would not bother with logUnsubEvent here (and I would generally always bother with logUnsubEvent) because the statistics your migration creates are greatly skewed. By doing batched unsubscription by whatever method (like you allude to with the API), your statistics will be confounded as the events you log will all have a dummy timestamp. Lumped together with "Normal" unsubs, those are at best confusing if not completely useless. After 6 months they are gone from the data views anyway. Also, logUnsubEvent assumes a Contact Key being present. 600k Contact keys that generate close to no value is kind of a big deal, those are billable.

If you instead import legacy unsubs into a COMMERCIAL Auto-suppression Configuration (ASC), that's a simple csv import process. An ASC works by email, not by key. Which means you need no Contact Key. This saves you all questions relating Sales Cloud. Also you consume 0 billable Contacts. Realistically, there is a low likelihood of resubscription, so by all means don't create 600k contacts with the sole purpose of suppression. Just make sure that your (re)subscription process removes recipients from the autosuppression in case they are being blocked and on confirmation of the subscription, that's when you need to create them as a Contact. It's important that the ASC is Commercial, as for resubscription in this concept, you will need to be able to send transactional messages - case in point: a DOI confirmation message where recipients could resubscribe from.

  • Thanks @Jonas. The 600K are already there, the auto-suppression would be a subset of these + new ones (opt-out/created in Zoho since those were imported to SF). I don't see how anyone will re-subscribe if they have never received an email from MC as we shut down Zoho. But if they were somehow to resubscribe, from a transactional email for example, does that mean we have to set up a Custom Subscription center to accomodate resubscribe (i.e. remove autosuppression)? Or does opt-in remove from autosuppression automatically?
    – LimeWeb
    Oct 1, 2020 at 21:08
  • Honestly speaking I have never set up a system without a Custom Subscription Center. So this is absolutely assumed in my answer. Resubscription sure might be unlikely, but plausible. Do not make plausible things impossible. We agree that 600k legacy unsubscriptions are probably 599999 permanent unsubs. So I would definitely consider deleting them as Contacts and just storing on an ASC. Unless you are way below your limits. Oct 1, 2020 at 21:15

You must log in to answer this question.

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