SFDC Sync: Multiple Account Associations via "Shared Contacts"

SFDC Sync: Multiple Account Associations via "Shared Contacts"

Salesforce has had default support for multiple Account associations for several years (via AccountContactRoles), but visibility into multiple Account associations (especially from MA platforms like Marketo) is generally lacking.

This month, Salesforce rolled out their Summer '16 release, which includes general availability of the new (poorly-named) "Shared Contacts" feature (https://success.salesforce.com/ideaview?id=08730000000BrBSAA0). This is an opt-in feature which unifies the existing "Contact: AccountId" and "AccountContactRole" relationships, replacing the "AccountContactRole" with a new "AccountContactRelation" object. This new feature supports both "direct" and "indirect" relationships, automatically setting the "Contact: AccountId" for direct relationships but using the junction object for indirect.

Currently, we have the ability in Marketo to sync the "AccountContactRole" junction object via Salesforce Objects Sync. This has the potential to be useful, but suffers from two major limitations:

1. Account entities are ignored in the Salesforce Objects Sync, so we cannot access fields on Accounts which are related via "AccountContactRoles". We want to specify a filter something like "Has AccountContactRole >> Account" or "Has AccountContactRole: With Account" with Account-level field constraints, such as "Revenue >= 1mil" or "State == NY".

2. The "AccountContactRole" entity does not permit the creation of custom fields, so we cannot work around #1 by mirroring Account information directly into the junction object.

The major difference between the old "Role" and new "Relation" is the ability to create custom fields on the junction object, which would resolve #2 and provide us a path to leverage many-to-many Contact-to-Account relationships from inside Marketo... so I was very excited to see if this new feature would help address some of the difficulties with handling multiple Account associations in Marketo.

When I enabled this new feature and synced the SFDC schema, I was crestfallen to discover the "AccountContactRelation" object was not available in "Salesforce Objects Sync". I'd like to see the "AccountContactRelation" exposed to "Salesforce Objects Sync", because it would be a short path to building segments from multiple Account relationships.

25 Comments
Grégoire_Miche2
Level 10

more doc on this availble here: Release Notes

Anonymous
Not applicable

Hey Kyle and Gregoire,

If many:many contact-account relationships were available in Marketo, what particular use cases would you be interested in accomplishing?

Thanks,

-Derek

Grégoire_Miche2
Level 10

Hi Derek Fung ,

  • Being able to target people who have a role "X" in at least one account.
  • Being able to target people who have a role "X" in at least two accounts.
  • Being able to target people who have a role "X" in one account and no other account role
  • Being able to target people who have any role in 1 account only (people attached to more than 1 account being often consultants)
  • ...

There would be a thought about making this a feature of the ABM product or a feature of the basic MLM one.

-Greg

Anonymous
Not applicable

Thanks Gregoire, that's very helpful.

Once you have targeted such people, what would be the actions you would want to take next in the campaign?

-Derek

Anonymous
Not applicable

Thanks for digging into this, Derek!

I think Grégoire articulated the major use-cases, but I can add some applications:

  • Single contact (usually consultant) who works across multiple organizations
  • Family members or contacts within households
  • Group member that belongs to many associations
  • Physician who works across multiple locations
  • Donor who gives to multiple organizations

Shared Contacts is also meant to (easily) maintain a history of relationships between Contacts and Accounts, a common reporting desire which Track Field History does not quite solve. Since this rich Account relationship data will (ideally) be well-curated by the sales team, we will definitely want to leverage it to build Smart Lists. We might want to target people who have previously held jobs in specific industries, or consultants who have 3 or more clients in your Account database.

We'd naively like to be able to use the Has Account filter function like the Has Opportunity filter... but then the account token in your flow or email might not match the filter and/or trigger! So, this approach does not seem ideal.... we'd want some way to differentiate the "direct" from "indirect".

Having access to an AccountList in Email Script Tokens would also be very helpful. Bonus points for account tokens which take the value of the triggering object in Email Script Tokens like the existing {{trigger.}} variables . Infinite bonus points for handling many-to-one Account tokens in an elegant fashion, but this does not seem plausible.

Grégoire brings up a good question regarding how this may relate to the ABM module - synchronizing Accounts with SFDC (direct and indirect) would be a game-changer for handling customer employment changes.

Andrew_Donnelly
Level 2

This is also a very important feature for us. We are B2B and have multiple contacts associated with our many accounts in Salesforce. In each account, we have given contacts roles such as "key contact", "IT contact", etc. We often want to send an email to just a given contact (based on role) from each account. This need arises almost every week.

Right now in Marketo we cannot target our contacts based on account contact role. This means each time we have to download an updated list of contacts from Salesforce and upload them into Marketo so we can send to the suitable contact role. This workaround is as good (or as bad) as the system we had in place when using MailChimp.

Marketo is a far superior product than MailChimp. Considering we send multiple email campaigns to thousands of contacts each week, and we have multiple contact roles in thousands of accounts, I really hope you make it possible to sync account contact roles ASAP.

Andrew_Donnelly
Level 2

Any ETA as to when it's going to be possible to sync the "AccountContactRelation" object from salesforce to marketo? We have to currently do this manually, over and over again. This needs to be part of the sync.

Chris_Willis1
Level 6 - Champion

This is a really important feature that needs to be addressed.  Several B2B industries have structures where contacts have roles & responsibilities within 2 or more accounts and we need to be able to account for it. 

Andrew_Donnelly
Level 2

Syncing roles of contacts that sit on 2 or more accounts would be awesome, as Chris points out.

But even just syncing the role between the contact and one account would be a great start. For every single customer account we have, we have a "key contact" and a "technical contact".

See below:

roles.png

We do campaigns all the time where we want to target the key contact at our accounts. In order to make this work, we need the roles to sync from Salesforce to Marketo. In Marketo this is not currently possible.

Chris_Willis1
Level 6 - Champion

How are you conducting this sync manually today?  We have a custom object that's managing this process because Marketo isn't supporting shared contacts.  It's unfortunately not sustainable.