I have encountered the following and would like to know if this is a bug or is this intentional, and whether there is a workaround.

We are using a SmartCapture form on CloudPages to capture Leads. The form is linked to a sendable Data Extension and is used as a Journey Entry Source ("Event Source data extensions must be sendable by linking a sendable data extension to the contact record."). Send relationship is set as EmailAdress relates to subscribers on SubscriberKey. The journey doesn't send any emails, it just creates a Lead in Sales Cloud. Lead is created, everything is fine, and in Sales Cloud it is given a proper Lead ID, for example 00Q1t00000ABCDEFGH. Now later this lead can be triggered to another journey (this can happen manually from Sales Cloud, or programatically from Sales Cloud). And when the lead is triggered from Sales Cloud into another journey, this time with email send activity, the email is sent to that lead, but it's added to All Subscribers list with SubscriberKey = EmailAddress. Which mean's it's taking into account the relationship set up in SmartCapture, not the one set up in the second journey, which works fine in case the lead is created manually in Sales Cloud (then Sales Cloud LeadID = SubscriberKey).

Can someone please clarify:

  1. How does the Contact Builder know that the Lead who enters from Sales Cloud is the same Lead that was captured by SmartCapture?

  2. Is there a workaround that will allow to use the Sales Cloud LeadID as Subscriber Key for when lead enters the second journey?

  • I would offer a bounty but I don’t have enough points - did anyone else encounter such behavior?
    – julia2019
    Sep 20, 2019 at 20:34
  • 1
    Besides the more user-friendly approach - is there a reason why you use standard Smart Capture forms? My approach would be to use custom AmpScript firing (on form submit) RetrieveSalesforceObjects to identify whether you have an existing lead with same email address, and if not, firing CreateSalesforceObject? Sep 20, 2019 at 20:39
  • 1
    I was able to recreate this in my account - I used the SmartCapture data extension and noticed that a new SFMC Contact gets created after submitting the form and the email is used as contact key - but it still doesn't explain why a new SFMC contact isn't created when the lead is added to a journey from Sales Cloud
    – zuzannamj
    Sep 22, 2019 at 11:06
  • Hey Julia2019 - is your intended outcome for #1: SFMC to create a contact where SubscriberKey = EmailAddress (as a result of the Smart Capture & Journey 1), and #2: A second contact created with SubscriberKey = Sales Cloud LeadID (Journey 2)? Or is it preferable for only the Sales Cloud LeadID to be created? What is the intended time delay between the SmartCapture Form being submitted, and the email being send as part of the 2nd Journey? Sep 23, 2019 at 9:34
  • 1
    @julia2019 In the meantime, checkout how to create forms using AMPscript: sfmarketing.cloud/2019/09/22/…
    – zuzannamj
    Sep 23, 2019 at 13:40

1 Answer 1


This is expected behavior. When you inject a contact into a journey they are established within the contact model (All Contacts) even though they are not yet been sent an email and added to All Subscribers. When you then use the create lead activity, the Marketing Cloud then stores the lookup between the contactkey and the LeadID within the alternate key store ( a system table used to maintain relationships between leads/contacts/accounts ) This lookup is then used on all downstream process and causes the behavior you are experiencing.

I would recommend using the Web-to-Lead that Salesforce has, and creating the lead originally within Salesforce, as opposed to creating the contact first within the Marketing cloud.

  • Thank you Eazye - can you recommend any workaround, that we could do in Marketog Cloud to be able to use this built in functionality afterall?
    – julia2019
    Sep 24, 2019 at 5:48

You must log in to answer this question.

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