Combine Marketing Data Sharing in Pardot with Salesforce Flow

This is a guest post written for by Timo Kovala, Lead Marketing Consultant at Biit

If you are using Marketing Cloud Account Engagement (MCAE) with business units (BU), you probably know what Marketing Data Sharing means. Simply put, it is a feature that allows you to designate what data goes into which BU.

Marketing Data Sharing has huge implications on how your organisation functions within the Salesforce environment. In this post, we’ll dive into the basics of Marketing Data Sharing and how you can leverage Salesforce Flow to make it even more powerful.

How is data shared between MCAE business units?

MCAE by default consists of a single BU, one that contains all your marketing assets, prospects and visitors and their activity data. If your business is divided into regional divisions or brand-specific business areas, it may be required that marketing data is kept separate for each area. Enter multiple BUs.

Multiple BUs are available for MCAE Advanced and Premium editions, as well as for Plus edition customers for an additional fee. Once provisioned from Salesforce, they can be configured from the Salesforce Setup under Pardot Account Setup. You can name and assign users to each business unit from the same menu item.

MCAE BUs partition the data and assets that are stored within MCAE. Each BU has its own prospects, automations, segmentation lists, marketing assets, settings (incl. domain management) and connector. Exceptions to this rule are snippets as well as Lightning Emails and Landing Pages. 

Since the Salesforce CRM is not partitioned the same way MCAE BUs are, marketing sharing rules are used to define the CRM records that are synced with each BU. You can define these rules for Salesforce Leads, Contacts, Accounts and Opportunities. Campaigns are also associated with specific BUs, but these are handled through record types instead of field-value-based rules.

Limitations when using Marketing Data Sharing

Marketing Data Sharing follows very simple logic. You define one (1) criterion for each object in each business unit to determine the record sync. For example, you may define that only Contacts that have the value “EMEA” in the custom field “Sales Region” sync with the “EMEA Business Unit”. You can only use the logical operator “Equals to”, so only a single value can be used to define Marketing Data Sharing.

Another limiting factor is that you cannot use a Salesforce field that is already mapped to an MCAE field. This means that if you already have “Sales Region” mapped to a corresponding Prospect field, it will not show up under Marketing Data Sharing Criteria for the Contact object. In order to bypass this restriction, you would need to duplicate the “Sales Region” field and have it not be mapped to an MCAE field.

Using Salesforce Flow to drive Marketing Data Sharing

While you cannot use complex logic in the connector settings, there is nothing preventing you from populating the criteria fields using a Flow. For example, if a single MCAE business unit should combine data that falls under several sales regions or brands, Flow is your best bet to populate the field that is used for Marketing Data Sharing Criteria.

Before implementing the criteria fields and corresponding Flows, make sure that you have access to a Salesforce and MCAE sandbox. As mentioned, Marketing Data Sharing has wide-reaching implications to your data model, so careful testing is crucial before deployment to production.

When you have set up your sandboxes, you are ready to start testing your complex Marketing Data Sharing logic. For the whole process you need the following:

  • Set up custom fields for Contact, Lead and Opportunity objects to serve as Marketing Data Sharing Criteria, e.g. MCAEBusinessUnit__c.
  • Build a Record-Triggered Flow for each object that populates the criteria fields with the correct BU name, e.g. EMEA Business Unit. In case you need to update a Contact field with Account data, you need to set up an Account-object-based Flow with a Contact Loop as shown in the picture below.

Note: If you use Person Accounts, note that each Person Account has a corresponding Contact record that is used for Marketing Data Sharing. Test the Flow logic in the sandbox, both when creating a new record and when updating an existing one.
Note: A prospect whose corresponding record no longer matches the BU criteria is archived in that BU. This is to ensure that duplicate prospects do not enter several BUs when the Salesforce record is updated.
When you have run your tests and your Flow functions as intended, you may proceed to deploy the fields and Flows to production.
Note: MCAE sandboxes do not support Change Sets, so you need to recreate the business units and their settings by hand. Once the deployment is done, you still need to populate the current records with the correct business units. The easiest way to do this is to create a Scheduled Flow with identical logic to ensure that the data is accurate. You can use the Data Loader or Data Import Wizard for this purpose as well.

Final Thoughts

As shown in this guide, the Salesforce Flow has a prominent role in an MCAE admin’s toolbox. From lead processes to data enrichment, and now marketing data sharing, Salesforce Flow can help marketers develop more effective workflows and segmentation. I hope to see more interconnectivity between MCAE and Salesforce Flow in the future. Who knows – maybe we’ll see Engagement Programs be able to fire Autolaunched Flows in the near future.

Timo Kovala is the lead marketing consultant at Biit, a Salesforce consultancy operating in the Nordics. He leads a team of marketing consultants, and is responsible for developing their competences. Timo is a 9x certified Salesforce professional, focusing on marketing automation.

Ben LaMothe

Leave a Reply