as i found out here: Use case 1 to many relationship in Contact Builder

If Data extensions are linked in Contact Builder via one to many relationship it is not possible to use the DE in a Decision split in Journey Builder.

If i remove the One to Many relationship in Contact Builder i am not able to use this Data Extension in the Decision Split in Journey builder. Here comes the problem:

It is quiet similar / same problem as discussed in link. Lets say i have following entries in the Data Extension which i want to use for filtering with the Decision Split:

> Id,Product
> 0031N00001IyHRiQAN,Banana
> 0031N00001IyHRiQAN,Apple
> 0031N00001IyHRiQAN,Carrot

No i would like to have the subscriber to enter the decision split Path accordingly.

The 1 to many relationship in Data Model is because the Journey tracking data needs to be synced to the contact in SF.

is there any better best practice or workaround then:

A. Query each product in a dedicated Apple, Banana and Carrot Data Extension and use those from query created Data Extensions for the decision splits?

B. Create a query which pulls always the most recent record only and save it to a NEW Data extension which will be used as entry criteria every time a new record is added.

I hope you get what i try to say.

Thank you

  • #Q1: For the "products" that can be attached to each subscriber - do you want the journey decision to be based on the data/product "at the time of Journey Entry" or does the journey need to respond to products added/removed AFTER the subscriber has entered the journey? #Q2 for the decision splits, will they be based on individual products (banana, apple, etc) or based on groups of products (contains round fruit, contains long and pointy, etc)? Commented Mar 11, 2020 at 13:32

1 Answer 1


As long as you have multiple rows per contact, the cardinality in Data Designer does not matter. I will suggest you to build a new data extension, populated with a query from:


It should place all the products in one row, e.g pipe delimited as below:


Here you will be able to use “contains” case, and you will always be sure to find the contact matching these criteria.

To avoid matching both Green Apple and Red Apple, you need to match with delimiter, e.g. |Green Apple|

  • thank you for your answer but we can not use Contains as we have e.g green apple, yellow apple, organic Banana. Banana ...etc I tried your approach before but subscriber got all injected into one and the same path.. It seems it is because the 1 to Many relationship in Contact Builder. (Which is needed to track journey results on SF object) Commented Mar 11, 2020 at 3:14
  • Have you tried matching with delimiter, @WernerHolm ? Commented Mar 11, 2020 at 3:28
  • Yes. i tried so much^^ Here its mentioned that it is expected behavior --> salesforce.stackexchange.com/questions/237250/… What would be the work around? Commented Mar 11, 2020 at 3:33
  • A Solution would be to use several queries to separate the data into different Data Extension and re organize the attribute group and re-link data extensions. But will the tracking still be synced to the contact even if the Journey DE is only linked to the Contact Data extension in data designer? Or is it mandatory to have the journey Data Extension linked directly to the contact in Contact Builder?! Commented Mar 11, 2020 at 3:39
  • I believe having this data reorganised in a single data extension with the model outlined above, having contact ID as primary key, will indeed match your requirements. Tracking is btw always referenced to the contact id entering the journey, regardless of the data extensions. Commented Mar 11, 2020 at 3:50

You must log in to answer this question.

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