[SalesForce] Marketing Cloud – Create or update Sales Cloud Lead/Contact using Journey Builder

Hi Marketing Cloud Community

Context: Smart Capture form is an Entry point for Journey Builder. Marketing Cloud and Salesforce are connected using Marketing Cloud Connect and the Salesforce Activities are enabled in Journey Builder.

Objective: Check for and update any existing Lead or Contact, matching on email address, if none exists create new Lead.

Challenge: Journey Builder includes separate Lead and Contact Activties, not a unified Activity. Therefore we need to use both and also include Decision Splits to check if the Lead or Contact already exists before performing the Salesforce Activity (to avoid creating a new Lead if a Contact already exists or vice versa).

Additional challenge: Decision Split cannot match with a 'nullable' field (such as Email field on Lead and Contact).

Has anyone overcome these platform limitations?

Updating or Creating Salesforce Leads or Contacts is absolutely fundamental to Marketing Cloud, and I am sure there are many solutions out there, so please contribute your solutions and pros and cons.

The advantage of Journey Builder being that it is easier for the client to maintain compared to other solutions, that said if other solutions have benefits very open to consider them.

As I see it the other solutions could be:

  • Ampscript
  • Automation Studio

Any others?

Kind Regards

Matt

Best Answer

Using smart capture in this way Will not work i’m Afraid. It Can only work for “known” subscribers. There’s a couple of reasons for this,

one is that Journey Builder needs a ContactKey to absorb records (i have heard you absorb e.g. from smartcpture and then go directly to record creation, and then trigger comms based on record creation), However i’m Generally not fond of it.

Second, i do not believe you Can properly link the smart capture entry DE to Contact Builder - it Will try and look for existing rows using subscriber key, which it wont be able to.

Thirs, since you are comparing on email, you Could risk hiring 0, 1 or 2+ rows/matches. Journey Builder cannot handle that logic in the splits etc.

Hence, i generally see two options:

1) create a cloud page and use ampscript to handle this logic, i.e. lookup rows and create/update data in core

2) use whatever forms you have, but go directly to Core and then use af SF Entry Event as trigger to absorb records into the journey

Related Topic