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


1 Answer 1


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

  • Thanks for your input @kenneth-wagner, could you expand on what you mean in point 2 please?
    – Foweyboy
    Commented Aug 23, 2018 at 5:36
  • Also what do you mean by 'Core'?
    – Foweyboy
    Commented Aug 23, 2018 at 5:42
  • Core means the Salesforce Platform, i.e. Sales and Service Cloud. In option 2, have the forms submit data til “Core” and then use the Triggered Send feauture (or Journey Entry Feauture) of the Marketing Cloud Connector to execute the message Commented Aug 24, 2018 at 17:32

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .