I'm new to marketing cloud and my organization is looking to take advantage of the subscription center to create a Newsletter subscription campaign, we don't really want to set up a custom preference center at this moment, so I've thought of setting up a web-to-lead form and modifying the lead object by adding some checkboxes, one for each subscription option, my question is, is there a way to sync these checkbox options, so they can match the standard subscription center and be synchronized so each time a user subscribes or unsubscribes from the Subscription center it is reflected in Sales cloud and vice versa?

Thank you so much for all the guidance you can provide.

  • So you will use both Preference Center with Public Lists and WebToLead forms with custom checkbox to handle opt-in ? Commented Jul 29, 2022 at 16:24
  • Yes, that is my initial idea, I understand how both ends work separately, but not clear on how to connect them, I don't know if it is even possible because through my research I've found that the Preference center only works with the Public Lists to do sends within email studio, but I don't know how it connects with Sales cloud. Commented Jul 29, 2022 at 16:28
  • You need Marketing Cloud Connect setup so your Lead Custom Fields are exposed to MC. Commented Jul 29, 2022 at 16:29
  • Yes, Marketing cloud connect is set up, and the custom fields are exposed (I can see them and use them in Journey Builder), what is not clear to me is, how the public lists on the preference center are updated when the fields in Sales cloud are updated. and how the process happens the other way around. Commented Jul 29, 2022 at 16:31
  • 1
    That being said, yes you should use Public List to send from MC. Then if you want to opt-in or out for a given list from SF, I guess some work involving API and Queries is required. Be aware though, that opt-in should be initiated by end-users. Commented Jul 29, 2022 at 16:31

1 Answer 1


Here is our proposed solution.

Context : you have a checkbox on the SF Lead object, synced to MC using MC Connect. You also have a List in Email Studio which Subscribers can Opt-in or Out. You want the checkbox to be the mirror of the list subscription.

First, let's evaluate the options :

enter image description here

A and D states are synced, so no action required. In case the user is Unsubscribed and the checkbox is checked, the checkbox state must be inverted (option C). If the checkbox is unchecked and the user is subscribed, he/she must be opted out from List in MC (B).

Then we will have a 2 states process : Detect and Act.

1 - Detect

We will create a DE filled with Subscribers / Leads in the state B or C. We will use an SQL query for this :

    a.SubscriberKey as sKey,
    a.Status as MCStatus,
    b.sf_checkbox__c as SFStatus
    _ListSubscribers a
    inner join
    Lead_Salesforce b
    a.SubscriberKey = b._ContactKey
    a.ListName = 'My List'
    and (
            (a.Status = 'active' and b.sf_checkbox__c = 0)
            (a.Status = 'unsubscribed' and b.sf_checkbox__c = 1)

The result will be regularly updated using Automation Studio and Overwriting a target DE.

Notes :

  • we are using both Synchronised Lead DE and Data View.
  • this can be applied to SF Contacts as well, but keep in mind the creation of another Contact in All Contact in case of a conversion, and map the checkbox in the conversion process from Lead to Contact.
  • we are mimicking the Pardot "Do No Email" field, here ;)
  • can be adjusted in case of multiple List / Field

This will produce something to act on, like this :

act on this

2 - Act

Case C : (SF Field checked and the user is unsubscribed from the List) we will automate this with Journey Builder, having the previous DE as its Entry Source :

JB - C case

We first use a Decision Split to catch only case C contacts, and then apply a Lead Simple Modification to invert the checkbox state.

Case B - is detected in the previous DE and unsubscribing a Contact from a List can be done in AMPScript. It is the case where a Sales unchecks the box on behalf of a user. Maybe you could send an Email in the previous Journey (other branch of the decision split) to acknowledge and have a chance to have the user resubscribe (from Preference Center). This Email would trigger the AMPScript.

  • @david : please consider marking this answer as valid if it answers your initial question ;) Commented Jul 30, 2022 at 20:55
  • Thank you so much @François, your guidance was a great help, I really appreciate it. Commented Aug 1, 2022 at 21:47
  • Hi @François, how would you expand this to cover multiple publication lists? Just by adding additional SQL activities to the automation that runs them? Commented Sep 14, 2022 at 17:43

You must log in to answer this question.

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