Have you come across a use case where it’s required to let the lead be created first in Salesforce and then run the journey in the salesforce marketing cloud for email marketing? Additionally, the journey builder in the salesforce marketing cloud has to use the Opportunity record, which got created because of lead conversion. 

And as you know, in the salesforce marketing cloud, only following sales cloud objects can be used to send for email marketing. 

  • Lead 
  • Contact 
  • Account 

In the given scenario, of course, it is the contact record to be entered in the salesforce marketing cloud journey. Keep that in mind, again; this contact is also the one that got created because of lead conversion. 

Well, you might have handled this situation through salesforce marketing cloud APIs so quickly, but what if you are not that good in working with APIs. 

The fact is The Salesforce as a company is trying hard to make marketing cloud as easy to handle products so that a non-technical background person also can take care of journeys and other things without much hassle. Especially the salesforce marketing cloud is straightforward to use for email marketing. 

So, here is the challenge that we need to tackle. 

When we say we need to use Opportunity object in the journey builder (Salesforce Data Event), then it’s not possible to use either of Contact or Lead or Account. It’s because there is a one to many relationships between Opportunity and Contact object. 

How can we make sure the converted Lead related Opportunity and its allocated Contact only enter the journey in real-time? 

The solution is OpportunityContactRole (OCR) object in Salesforce. 

When a lead gets converted in Salesforce, then an ORC record also gets created that carries one to one relation between opportunity and contact record. It helps in picking direct contact records in the marketing cloud journey events for email marketing. 

We need to use OpportunityContactRole object in the marketing cloud journey Data Event. This object brings all the fields from the Opportunity and Contact object to make any further conditions or filter specific to the journey.