Q:

Contact data not working in descision split activty in Journey Builder

I have configured a journey based on a data extension which has External id as unique primary key and is sendable and Email Address relates to subscriber key. In the contact builder data model, i have used populations and since only the primary key attribute can be linked to contact key, External id is linked to contact key.
While testing the JB using sample data (not in test mode), contacts are getting injected into the journey and the decision split activities based on Even data is working fine. But decision split based on Contact data (data at the time of evaluation) is getting failed and the contact always takes the false path. As per my requirement, we have atleast 3 contact data based decision splits to send mails only if they have not registered for a program.
I tried out a similar JB by creating another data extension with Email address as primary key and rooting the population based on Email address and decision split based on contact data is working fine. My client is not willing to change the primary key as External id would the unique identifier. 
Has any one experienced similar issue or got a solution/work around for this.

A:

Salesforce support has able to find the root cause of the issue. Issue is that in the data extension, subscriber key has been set as Email Address where as in populations, contact key is mapped to primary key which is external id.
For contact data to work, both subscriber key and contact key should be same. It worked as soon as i updated the subscriber key to External id.

