Better approach to sync customer ids in CRM system with Adobe IDs

bc11043975

03-07-2017

I am trying to think which one is a better approach for syncing customer ids in CRM system with Adobe IDs, _satellite.setcookie or visitor.setCustomerIDs? Thank you!

Accepted Solutions (1)

Accepted Solutions (1)

Varun_Kalra

MVP

04-07-2017

That is correct, Method 1 and Method 2 are similar, in Method 1 you have got DTM and you can do that in DTM with few steps, without writing any code to grab customer ID/ CRM ID. So these are almost similar, and would allow you to use other functionalities, also Method 1 ensures the ID sync before Target is loaded.

If you have an eVar that is capturing CRM ID and same call will have Marketing cloud ID, but still you would need AAM's ID sync, so yes you would need any one of the Methods for ID sync.

Answers (2)

Answers (2)

bc11043975

03-07-2017

This is what I thought. Thank you for the confirmation and quick response! Yes, we are using marketing cloud id and core services. Just a couple of follow-up questions,

- Method 1 would allow us to use "Customer Attributes" & any other functionalities just as when we deploy method 2, and method 1 doesn't have much disadvantages comparing to method 2, right?

- Also, I am trying to think that if we have an evar that are already tracking the customer IDs in the CRM system, we can already pull the mapping table of this evar and Marketing Cloud ID in Adobe Analytics easily. Not saying we want to manually pull this mapping table from Adobe Analytics but does it mean the customer id is already synced with Marketing Cloud IDs (AAM UUID is also in the analytics call)? Would we still need _satellite.setCookie?

Varun_Kalra

MVP

03-07-2017

Hi there,

If you are using DTM and Marketing Cloud ID service, then you can create a data element to capture the CRM ID or can use _satellite.setcookie.

If you are not using DTM, but are using Marketing Cloud ID service, then you can use visitor.setCustomerIDs. So this option is to be used only if MCID service is enabled.

Following is an explanation of all three methods (there is another method called declared ID which is used in case of js based DIL implementation) :

Method 1: MCID Tool: This option is probably the best to use, because it will ensure that the ID sync happens before other products are loaded, because it is part of the Marketing Cloud ID Service. You will first need to create a DTM data element that grabs the value of the customer ID. This might be from a variable on the page, or from a cookie, or however they do it. You need to find out how users are logged in, and then set the ID into the DTM data element.

Method 2: setCustomerIDs(): In this method, which is almost as good as above method, you put a setCustomerIDs() method inside of the doPlugins function in the code. You'll need to add some logic in there that shows that the user is logged in, and then populate the variable that has their Customer ID. It might look something like this:

var my_login_id = "[login ID]"; // Pull login ID from a var or cookie, etc.

if(my_login_id){

_satellite.getVisitorId().setCustomerIDs({

  "myCRMdata":{ //use integration code instead of dpid

  "id":my_login_id,

  "authState":Visitor.AuthState.AUTHENTICATED

  }

});

}

Method 3:

If you are using client-side DIL and you actually DO have the MCID service enabled, you have an additional way to do ID syncs, which is preferred over the Declared ID method. It is to use the MCID method called "setCustomerIDs()". In this method, you put a call to setCustomerIDs() inside of the doPlugins function in the AppMeasurement code. You'll need to add some logic in there that shows that the user is logged in, and then populate the variable that has their Customer ID. It might look something like this:

var my_login_id = "[login ID]"; // Pull login ID from a var or cookie, etc.

if(my_login_id){

visitor.setCustomerIDs({

  "myCRMdata":{ //use integration code instead of dpid

  "id":my_login_id,

  "authState":Visitor.AuthState.AUTHENTICATED

  }

});

}