I want to implement personalization builder tracking code on my website for einstein recommendations. Though there will be user visiting to my website against which contact key is already not available in marketing cloud. (For contact syncing purpose, marketing cloud is connected only with sales cloud).

  1. Does marketing cloud store these new visitors as new contacts ?
  2. How marketing cloud will identify if existing contact (in marketing cloud contacts) visits website ?

1 Answer 1


Personalisation Builder provides uuid for anonymous visitors. It can be seen in a.o. PI_CONTENTVIEWS and IGO_VIEWS Data Extensions, if you have enabled this synchronisation. It is stored in a cookie and links all the page views to the same individual browser. But since it is not seen as a regular Contact ID, it will not count towards your limit - it is technically not even a part of Marketing Cloud.

You can read more about Contact Definition and Count Determination here.

However, you will want to link this uuid to Contact ID of your identified subscribers. This is done using setUserInfo call in Collect Code.

<script type="text/javascript">       
   _etmc.push(["setOrgId", "MID"]);     
   _etmc.push(["setUserInfo", {"email": "INSERT_EMAIL_OR_UNIQUE_ID"}]);     

Even though the field name is email, you should preferably use a hashed or not-easibly guessable identifier here. I normally use a hashed subscriber key, which I append to all URLs pointing to landing pages with collect code. Once it is detected as one of URL parameters, I trigger the setUserInfo call and pass the parameter to the script - usually using Google Tag Manager and data layer.

If you need a more manual approach, you can use something like my example here, provided your URL to landing page is: https://example.com/page?subid=b31d032cfdcf47a399990a71e43c5d2a (subid is hashed Subscriber/Contact Key)

<script type="text/javascript">       
   _etmc.push(["setOrgId", "MID"]); 
var params = (new URL(document.location)).searchParams;
var subid = params.get('subid');    
if (subid) {
   _etmc.push(["setUserInfo", {"email": subid}]);     

Once linked to Contact ID, you will see both values (Contact ID and uuid) in IGO_PROFILES Data Extension. Your Data Extension containing your main contacts (as well as your mostly used sendable Data Extensions) should also contain a column with this hashed Contact ID. This is for three purposes:

  1. Link the hashed id from IGO_PROFILES to your "real" Contact, allowing you to join the data
  2. Include it in your URLs as in the example above
  3. Use it in email recommendations, to link the email recipient to the personal recommendations from Personalisation Builder.
  • 1
    Thanks Lukas. I've shared information with my developer. I'll update on this if works.
    – ASHISH
    Mar 12, 2019 at 7:23
  • Hi @ASHISH - was my answer helpful? Remember to mark it as accepted/upvote, if it contributed to solving your issue Mar 6, 2020 at 5:45

You must log in to answer this question.

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