Scenario
I created a journey with a Contact Data entry event that is triggered via the API. A subscriber should be able to be injected multiple times and the values in the data extension are updated while the subscriber is in the journey. The updated values should determine the path the subscriber follows.
Setup
As changed data needs to be evaluated and the contactkey cannot be used as primary key, I added a random id as primary key and created an attribute group for the data extension in Data Designer. The data extension is linked to the contact's contactkey using a one-to-many relationship as a contact should be able to enter the journey multiple times.
In the journey I'm using a decision split that is configured to use contact data from the created attribute group and has two branches (as it checks a boolean value).
Problem
For multiple entries the decision split doesn't evaluate correctly and always leads to same branch (value equals false). I suppose the problem is that journey builder doesn't use the primary key to identify the correct row in the data extension. Is there any way to make sure the row is matched using this id and not the contactkey as this leads to some strange behaviour as described here: https://salesforce.stackexchange.com/a/140904/36218