I am looking into Personalization Builder (Predictive Intelligence) and planning to integrate with SFMC Contact Builder.

We have Marketing cloud connected with Salesforce Service Cloud and we are using Contact ID as subscriber key.

Now when I am looking into documentation of Personalization Builder it seems we need email address have to be subscriber key.

So I wonder what is the best solution in this scenario?



From the implementation instruction of personalization builder inside the marketing cloud.

Set User and Attributes

It is important to associate users with an email address or subscriber key. After a user enters an email address on the website, or clicks through a marketing email, subscriber information should be set using the format of the example below.

  _etmc.push(["setOrgId", "YOURMID"]);
  _etmc.push(["setUserInfo", {"email": "INSERT_EMAIL_OR_UNIQUE_ID"}]);

Replace 'INSERT_EMAIL_OR_UNIQUE_ID' with dynamic code to get the subscriber key. A subscriber key is typically an email address or custom number unique to that user.

You need to make sure that every call on your website is connected to the setUserInfo, so it needs to be inserted into the backend of the website that it always adds the ID/email of the user.

There are downsides of using unique ids as identifier (currently) but the Product Manager of personalization builder (Rick Thomas) has said that they will change the logic that unique ids will work everywhere on the plattform.

Some downsides when you use id's:

  • You cannot use the "Einstein Predictive Content Block" inside Emails, because this always inserts the email instead of an id. Therefore you need to code that block manually with ampscript.
  • Einstein Engagement Scoring doesn't work to its full potential (according to some sources, which I have not saved unfortunately)

My advice would be to still use IDs because its your unique identifier on multiple platforms - since your organization is used to it BUT only if you also have these IDs on your website (or can atleast get these IDs on your website), since you have to connect the tracking calls to this ID.


Although the title of the field may say "Email", you can certainly use the Contact Id from SFDC. You will need to ensure that anyone on the website is recognised with this Contact Id, however, be it via URL parameters or via API lookup to Salesforce when they log in

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.