• Stronger Customer Relationships
  • +1-949-878-7411
  • ramana@varasi.com
    Varasi logoVarasi logoVarasi logoVarasi logo
    • Home
    • Offers
      • Salesforce for Growth Business
      • Salesforce for Subscription Business
      • Salesforce Reset
      • Salesforce CPQ Implementations
      • Salesforce for Nonprofits
      • Cloud Solutions
    • Insights
      • The Varasi Way
      • Salesforce
        • Salesforce For Executives
        • Salesforce For Architects
        • Salesforce For Developers
      • Leadership Talk
      • CRM Best Practices
      • Sales Management
    • How We Work
    • About Us
    • Careers
    • Contact
    0

    Using Business Units in Salesforce Marketing Cloud Account Engagement

    Marketing For Multiple Business Units

    Marketing Cloud Account Engagement (formerly known as Pardot) is a B2B marketing automation software built on Salesforce. It is used for creating dynamic and personalized email journeys and landing pages for lead nurturing. Marketing Cloud Account Engagement can segment prospects based on demographics, behavior, and engagement. This segmentation allows for targeted messaging and personalized content delivery. It helps your marketing teams nurture leads till they are sales ready, thus improving quality of leads and increasing deal closure rates.

    If your company has marketing goals based on geography or product lines, they can focus on their own unique marketing objectives using multiple Account Engagement Business Units. Prospects and marketing assets are partitioned by business units, so the divisions can market independently and still get a global view with B2B Marketing Analytics. This feature of multiple business units is only available in Account Engagement Advanced and Premium editions.

    When multiple business units are created

    • Prospects and marketing assets are separated by business units, so that each division can market independently.
    • Both the business units connect to a single Salesforce org
    • Each business unit has its own Salesforce connector, prospects, marketing assets, segmentation/automations, settings and configurations.
    • You use Marketing Data Sharing to control which prospects sync from Salesforce to each business unit.

    Sharing Leads and Contacts Across Business Units

    A lead or contact syncs to a prospect in a single business unit by default. There is a one to one relationship between Lead/Contact in Salesforce and Prospect in Account Engagement. In most cases, if the business units are based on separate geographies or completely disjointed product lines, the prospects are also likely to be completely separate. There is no need to share the same Contact/Lead across business units in such cases. But sometimes, you may want to market to the same prospect from multiple business units. This could be because you have business units based on products which are not completely independent of each other. If you want to sync lead/contact with multiple business units, there are 2 options:

    Duplicate Lead/Contact

    You duplicate the lead/contact you want to share across multiple business units. This way there is a unique Lead/Contact on the Salesforce side which syncs with separate business units. The one-to-one relationship is maintained. But this may not be practical in all cases. What if you want to share all the contacts/leads? This means duplicating every contact or lead. That is not a good option.

    Use Custom Syncing

    You can edit the Salesforce connector and select the option to stop syncing Account Engagement package fields. If you do this, then the default sync from Account Engagement to Salesforce occurs only from one of the business units. For other business unit/s, you set up a custom sync. Let’s look at this approach in more detail below.

    Custom Sync with Account Engagement Business Unit

    The Problem

    Why do we need to use a custom sync if Contacts from Salesforce need to sync with multiple BUs? The default Account Engagement to Salesforce sync updates some standard fields, such as score, by default. If there are multiple BUs and all are syncing simultaneously, then such default data from various BUs will keep overwriting on the Salesforce side Lead or Contact record.

    The Solution

    To avoid this overwriting, we will need to stop syncing from all but one BU, or keep the sync ON for only one BU. To do this, edit the Salesforce connector for each business unit and select the option to stop syncing Account Engagement package fields. After this, the default field syncing is turned off for that business unit. If the syncing is off then the default package fields are not synced. But you still need the information about score, grade, campaign etc. from that business unit on to the Lead or Contact on the Salesforce side. To get this information on the Salesforce side, we will use a custom sync method. Let’s go through the steps in that process. Let’s assume that we have 2 BUs.

    1. Turn off package field syncing in one of the BUs

    This is the first step as given above to get started with custom sync. Keep the sync ON in one BU and turn it off in the other BU.

    1. Create custom fields on Lead and Contact

    Create fields in Salesforce to store information about the score, grade, campaign and other relevant package fields of the other BU. These are the fields in Salesforce which we will populate in subsequent steps with information from Account Engagement. Since the default fields will be used to populate the data for the first BU through default sync, we will use these custom fields to populate the data for the second BU.

    1. Set up an Apex Batch

    Create a recurring scheduled apex batch job (say running every hour) to update the Lead/Contact fields in step 2 with the appropriate values from Account Engagement Prospect fields of BU 2. We will use batch apex because there may be many records to sync and all those updates may not fit in one transaction. Following steps are needed in this batch

    • Retrieve updated Account Engagement Prospect Records: This batch apex will use Account Engagement APIs to retrieve the updated prospect data from Account Engagement. Specifically, you can use the Prospect Query endpoint. The querying criteria can be set to identify prospects updated since the last batch run (say within the last one hour). This API returns data for a maximum 200 prospects at a time. 
    • Repeated API call until all records retrieved: Since the API returns a maximum of 200 prospect records in each call, the API will need to be called repeatedly until all updated prospects are retrieved. Use ID based sorting. This way you can use the last prospect’s ID from an API call as a filter criteria for the next API call.
    • Use of custom iterator: You could use a Custom Iterator to define your own custom iteration mechanism so that you can keep calling the APIs as per your custom criteria.
    • Only updating changed records in Salesforce: Any record updated in Salesforce will be queued for sync with Account Engagement by the default connector. So care should be taken to avoid “repeated sync looping” which will cause all the prospects to sync all the time from Salesforce to Account Engagement through this custom sync. To avoid this, only update the Lead/Contact records in Salesforce, where any of the values being updated are changed in Account Engagement. If all the field values of interest are the same then don’t update the record in Salesforce.

    In Summary

    Businesses may need to set up multiple business units in Marketing Cloud Account Engagement to organize their marketing activities by geography or product divisions. This is a useful feature to use during acquisitions as you may choose to keep the marketing activities for the acquired company separate for some time. Another interesting use case is when you are planning a spin-off. You can separate the marketing activities of the potential spin-off into a different business unit prior to the divestiture.

    Share on Facebook Share
    Share on TwitterTweet
    Share on LinkedIn Share
    Share on Pinterest Share
    Send email Mail
    Shailesh Bhide
    Shailesh Bhide
    Shailesh is a Principal at Varasi. He shares thoughts and insights on technical know-how and patterns that helps us build elegant Salesforce solutions for our customers. He is passionate about leveraging the Salesforce platform to its full potential.

    Related posts

    SaaS subscription

    January 21, 2025

    Salesforce CRM – Reflections on Customer Behavior


    Read more
    April 15, 2024

    Salesforce CI Using Azure DevOps


    Read more
    Quoting in Salesforce
    February 22, 2024

    Do You Need Salesforce CPQ For Quoting?


    Read more

    23591 El Toro Road
    Suite 172, Lake Forest, CA 92630

    Tel: +1-949-878-7411
    Email: ramana@varasi.com

    Quick links

    • Salesforce for Growth Business
    • Salesforce CPQ Implementations
    • Salesforce for Subscription Business
    • Salesforce for Nonprofits

    Quick Links

    • About Us
    • How We Work
    • Insights
    • Careers
    • Privacy Policy

    Connect with Us

    © 2017 Varasi. All rights reserved.

          We would love to hear from you.