Expand my Community achievements bar.

SOLVED

DTM add customer id

Avatar

Level 4

Hi,

I am using DTM and currently deploying the Adobe visitor id service. I am planning to parse the customer id very soon and would like to get some advise on the best practice and how to do it in DTM.

Would you recommend using the JavaScript snippet or can i use the data elements (i.e. setting user id, customer id, authstate for that particular customer)?

It is also mentioned on the help website that the customer IDs and authentication states need to be parsed on every page. My issue is that once the user logs out i will loose that customer id from the dataLayer. The idea is to get to know the customer even though s/he is logged out and use it as an audience for test and target at a later stage. Would it be recommended that i persist the customer id via a cookie?

As a side note, i do also see puuid. Is that really needed?

Thank you 

Jerome

1 Accepted Solution

Avatar

Correct answer by
Level 10

Hi Jerome, 

The Alias ID for each customer attribute source must be unique. If you have multiple data sources that leverage the same Customer ID with different authentications which is your case then youshould create two customer attributes sources using the unique alias IDs (say loggedinuserid , loggedoutuserid). 

Also, while uploading the customer attributes file , the file should have the first column as Unique customer Id column. please refer the below paragraph for more information about customer Id column.

The first column must be a unique customer ID. The ID used should correspond to the ID that is being passed to the Marketing Cloud ID Service.
This customer ID is the unique identifier your CRM uses for each person in your database. The remaining columns are attributes that come from your CRM. You will choose how many attributes to upload.Typically, an enterprise uses a customer ID from a CRM system. This ID is set using the setCustomerIDs call when a person logs in. This ID is also used as the key in the CRM file that is uploaded to the Marketing Cloud. An Alias ID is a friendly name for a data store in Audience Manager, where the alias data is stored. The system sends aliases to this data store (via setCustomerIDs). The CRM file is applied to the data in that data store.

Hence for your case , Create two customer attribute data sources  and use the Alias code as described above and upload the same customer attribute file having the first column as the the customer ID . 

Please refer the following link more  information about customer attributes data file.

https://marketing.adobe.com/resources/help/en_US/mcloud/crs_data_file.html

Thanks & Regards

Parit Mittal

View solution in original post

7 Replies

Avatar

Level 10

Hi Jerome,

We would recommend using data elements to store userid, authstate etc and then use these data elements to pass the values to  "Customer settings"  field in DTM.  Also, in the scenario you discussed you can persist the customer id via a cookie and can have the data element read the value from cookie. Please let me know in case further help is required.

Basically we can assign multiple customer id's to a visitor to identify the visitor across different devices or say CRM systems etc.

The code "userid" or "puid"  mentioned in the integration code field is basically associated with "Alias Id" field  in data sources. In Dynamic tag management,The Alias ID corresponds to the "Integration code" value under Customer Settings, in the Marketing Cloud ID Service tool. Please see the following link for more information regarding the "Alias Id"  https://marketing.adobe.com/resources/help/en_US/mcloud/t_crs_usecase.html

Thanks & Regards

Parit Mittal

Avatar

Level 4

Hi Parit,

Thank you very much for your reply. It now makes more sense in terms of the implementation.

I do see that the auth state in DTM is from a drop down box which makes it difficult to associate it to the customerid which i may persist while logged in vs logged out.

What would be the best approach to do it, please refer to the screenshot below?

1. customerid - dataElement being retrieved from dataLayer while logged in and therefore have its authstate set to "Authenticated"

2. customerid - dataElement which reads from a cookie but ensure that the id is returned only when the user is logged out and therefore have its authstate set to "logged out"

Thank you again for your help.

PS: I would like to understand the point made on the help centre when they say that the customerid needs to be parsed on every single page (https://marketing.adobe.com/resources/help/en_US/mcvid/mcvid_customer_ids.html). Does this means that i still need to send that customerid on logged out pages? If i dont, does that mean that my visitor id will then be associated to an "unknown" customer?

As a best practice, would you recommend holding on the customer id while logged out (for customer id for audience purposes and eVar reporting)? so i will still be able, if the user does not clear its cookies, to know that particular individual even on a marketing website. The reason why i am asking is that there is always the possibility of computer being shared by a family, internet cafe etc... this can lead to the point of knowing the "wrong customer"?

Jerome

Avatar

Level 10

Hi Jerome ,

 Customer IDs and authentication states are not stored in the visitor ID cookie. They must be set for every page or application context.

Please refer the following code to assign multiple ids with different authentication states.

// Multiple IDs with different authentication states visitor.setCustomerIDs({ "userid":{ "id":"67312378756723456", "authState":Visitor.AuthState.AUTHENTICATED }, "puuid":{ "id":"550e8400-e29b-41d4-a716-446655440000", "authState":Visitor.AuthState.LOGGED_OUT } });

Hence in the Marketing cloud Id service,  Under customer settings field add two id's :-

1. loggedin_customerid - dataElement being retrieved from dataLayer while logged in and therefore have its authstate set to "Authenticated"

2. loggedout_customerid - dataElement which reads from a cookie but ensure that the id is returned only when the user is logged out and therefore have its authstate set to "logged out".

Please let me know in case of any further questions or queries.

Thanks & Regards

Parit Mittal

Avatar

Level 4

Hi Parit,

Thank you for your reply.

Based on your email and should i go ahead with the customer id persistence (i.e. cookie based so to handle logged out pages) then in DTM i would set:

1. (please see screenshot)
Key: loggedinuserid (or userid)
data: from dataElement retrieving value from the dataLayer while the user is logged in
authstate: Authenticated

2. (please see screenshot)
Key: loggedoutuserid (or puuid)
data: from cookie based dataElement holding the value of the above only after logged out.
authstate: logged out

Having both items in DTM within the Adobe visitor service, will that mean that when uploading the customer attributes file I will need to have 2 columns (i.e. loggedinuserid and loggedoutuserid). Both columns will contain identical data but one will be for logged in user while the other for logged out users?

Based on your email above, the userid and puuid have different identifier, is there a reason for that? Or does this not relate to a different case that what i am looking to achieve?

Kind Regards

Jerome

Avatar

Correct answer by
Level 10

Hi Jerome, 

The Alias ID for each customer attribute source must be unique. If you have multiple data sources that leverage the same Customer ID with different authentications which is your case then youshould create two customer attributes sources using the unique alias IDs (say loggedinuserid , loggedoutuserid). 

Also, while uploading the customer attributes file , the file should have the first column as Unique customer Id column. please refer the below paragraph for more information about customer Id column.

The first column must be a unique customer ID. The ID used should correspond to the ID that is being passed to the Marketing Cloud ID Service.
This customer ID is the unique identifier your CRM uses for each person in your database. The remaining columns are attributes that come from your CRM. You will choose how many attributes to upload.Typically, an enterprise uses a customer ID from a CRM system. This ID is set using the setCustomerIDs call when a person logs in. This ID is also used as the key in the CRM file that is uploaded to the Marketing Cloud. An Alias ID is a friendly name for a data store in Audience Manager, where the alias data is stored. The system sends aliases to this data store (via setCustomerIDs). The CRM file is applied to the data in that data store.

Hence for your case , Create two customer attribute data sources  and use the Alias code as described above and upload the same customer attribute file having the first column as the the customer ID . 

Please refer the following link more  information about customer attributes data file.

https://marketing.adobe.com/resources/help/en_US/mcloud/crs_data_file.html

Thanks & Regards

Parit Mittal

Avatar

Level 4

Hi Parit,

Due to the document not mentioning how to do it in DTM i am struggling for most of the afternoon.

After login, the dataLayer is updated but i do not see the details about my customer ID. As far as i understand the details will be sent via the demdex request which happens only once and only when the user do not have a visitor id set yet.

Any help? any documentation for DTM?

appreciate any help

Thank you

jerome

Avatar

Level 4

Hi,

Thank you for your help and i have been able to implement the customer id via DTm. As an fYI, you would need to implement the customer id via code when on an angular website. Anyone wanting more info, please request and i will let share the details.

ParitMittal​ I am encountering an issue as i would like to persist my customer id across different domains (i.e. with different extension .co.za vs .com). I cannot find a way to set a cookie on assets.adobe.com nor demdex.

Would you know what can be done? At this stage a cookie is the best option as both sessionStorage or localStorage does not work when moving to a different domain.

Reason to persist: The user logs in on a specific domain (i.e. co.za) but we then need to use target on the other domain. I cannot make use of the analytics segment as i need to target with real time data thus persisting the id.

Thank you