I am running into an issue with a decision split among the Journey.

Essentially I have two different data extension setups in the Contact Builder Data designer. DE1 (Used as the source DE for the Journey) DE2 (Used for decision split with in the Journey)

ContactA enters in the Journey, 1st email is sent. Now before sending the second email journey builder checks the below criteria.

Filter : Org_SignUpDate__c is null orOrg_SignUpDate__c equal '' andOrgId equal OrgId andContactId equal Contact__c

In my DE2 the Org_SignupDate is not null, which means the contact should exit, but the contact is not exiting.

Please note that OrgId equal OrgId is attribute comparison and is unique for both DE1 and DE2.

  • Is DE2 connected as one-to-many in data designer? Commented Aug 30, 2021 at 5:00
  • Yes DE1 and DE2 both have one to many relationship with the ContactKey in data designer.
    – Chandan
    Commented Aug 30, 2021 at 5:17
  • Also in DE1 and DE2, I have two fields as the primary key (ContactID,OrgId)
    – Chandan
    Commented Aug 30, 2021 at 5:36
  • Just confirming, if you are using Contact data [and NOT Journey data]! Commented Aug 30, 2021 at 5:56
  • Yes I am using Contact Data, as that will be the updated data which I want to use in the decision split.
    – Chandan
    Commented Aug 30, 2021 at 6:24

2 Answers 2


I think what goes wrong is you using one-to-many relationship in Contact Builder for the data extension utilised in decision split. As you can potentially have multiple records linking to the single contact, each evaluating differently in the decision, the outcome will be random.

This is a known limitation of the data model and decision splits (or any activities in JB which utilise contact model). I always recommend preprocessing data and connecting it in a 1-1 cardinality, or do attribute comparison to select the correct record. It is described in multiple online resources, e.g. this thread here on SFSE: Decision Split not evaluated correctly for multiple entries to data extension (Contact Data entry event)

  • Hi Lukas, thank you for your response. In my case contact id, orgid will always be a unique row. They are infact the composite primary key. I am identifying the records based on orgid in both the DE. I understand the limitation that's why comparing the attribute to attribute. May be this is a bug in my particular journey.
    – Chandan
    Commented Aug 30, 2021 at 8:13

Seems like its a bug in Journey Builder and SF Support helped to resolve the issue.

Please find below response from SF support.

I went through the journey and contact in detail and found no issues with the contact model and decision logic.

However, after researching I found few known issues that are relevant to your use case here.


It seems you are using nested conditions, I would recommend to use multiple decision splits instead of one, and include Org_SignUpDate__c in a different decision split.


In your case, the Contact Data is on the Right Side, hence Switch Journey Data to the right side and Contact Data to the left might help.

You must log in to answer this question.

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