My journey has a Data Extension as the Entry Point. In this data extension, I have information for passengers including
PassengerId (Which is connected to the
Contact Key in Contact Builder but does not play a significant role in this journey) and a
FlightId. Using this
FlightId we, later on during the journey, check whether the flight is canceled or not and based on that we either send or do not sent the next email.
Now in an attribute group of the Contact Builder, Customers DE (passengers in reality) have a one-to-many relationship with Flights DE (each passenger can fly zero or more times).
Note in the picture above that
FlownTransactionID (highlighted), is the primary key of the Flights table. This column is what I use to check the cancellation status of the flight as the joining column.
Using this Decision Split in the journey, I check whether the flight is canceled or not:
FlightId belongs to the Entry Point Data Extension (Journey Data) and
FlownTransactionID belongs to Contact Data. To reach this ID (
FlownTransactionID), I follow this path in the Decision Split:
Contact Data > [My Attribute Group] > Customer > Flight > FlownTransactionID
The second condition comes from the same Flights DE as in above.
So here is the problem:
When I test my journey, I notice that a passenger with a
FlightId that is NOT canceled falls in the path where passengers with canceled flights go:
So either the boolean flag is not verified correctly or the matching of the key columns does not work as it should. Or maybe something else? I am slightly worried whether my Attribute Group in the Contact Builder is not set correctly or is this the correct way to go?
Note that, there are other test passengers with flights not canceled (
Flights.IsCanceled = False) that continue the journey and do not fall in the ELSE path down. This has confused me slightly more.