Currently, we are going through the process of migrating from emailaddress to unique identified ID for our subscribers as SubscriberKey in SFMC.

We have unique identifier for all our existing customers (ID that is being used internally across all applications) BUT we have some campaigns where we are collecting email address using cloud pages (smart capture) and triggered emails. In other words, these entries are NOT from existing customers (i.e. leads / prospects).

If we continue to send email to these entries from SFMC, they will be added to All Subscribers with subscriberkey as emailaddress as that is the only known information available at the time of form entry (they are not customers yet). Hence, we will always end up with subscribers without unique identified in the SFMC contacts.

How to go handle leads / prospects so that we can still avoid emailaddress as subscriberkey?

Is it possible to generate unique leadID and use it as subscriberkey and when they become a customer, we swap subscriberkey from leadid to internal customer ID?

Again, we DO NOT have any CRM connected (so salesforce.com connection is not applicable in this case).

  • The short answer is: stop using Smart Capture and build proper forms using HTML and AMPscript - it will give you plenty more options and allow to generate unique identifiers on the fly.
    – zuzannamj
    Jul 27, 2022 at 15:33
  • Hi @zuzannamj could you please eloborate on what proper form using HTML are you referring to? Smart Capture gives the ability to inject a submission in a journey and trigger a real-time email. How a custom form on a cloud page can do that? Please correct me if I am wrong, with that approach, a cloud page needs to be built, a custom form and a triggered send and custom form will trigger a triggered send email via ampscript? Are you referring to using something like GUID() function to generate unique ID?
    – kl2
    Jul 27, 2022 at 16:24
  • Also - is there any way to embed a form built in SFMC on a 3rd party site?
    – kl2
    Jul 27, 2022 at 16:24
  • Yes the approach you outlined is correct and guid() function would do the job. You could either use a triggered send to send an email or api call to add to a journey. Please see code snippets here: sfmarketing.cloud/2019/09/22/…. With regards to embedding on external websites - yes, that’s possible via iframe.
    – zuzannamj
    Jul 27, 2022 at 16:31

1 Answer 1


Email Studio Subscriber Keys cannot be modified in an automated way after creation. A paid service known as Subscriber Key Migration is proposed for that. So you need to add your subscribers with an auto-generated key (something like guid(), indeed) right from the beginning. If you convert them afterwards in Leads from JB, a LeadID will be created, but from MC, the initial subscriber key will remain the Contact Key.

You must log in to answer this question.

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