I´m currently creating a Journey, which contains the following specifics:

  • Use case: as soon as a booking in category "1" was done yesterday by a customer, this booking should be injected into the journey, sending them emails to book again. It is possible, that the customer did 2 or more bookings yesterday, one in category "1", and another in category "2". The journey is following different paths per category. Now, if the customer books again in category "1", this record should exit the journey, whereas the booking from category "2" should remain and go on.

  • Entry Event is an Automation Studio Audience, sending this filtered Data Extension into the Journey (all bookings of yesterday without future bookings). This works fine, the wished records are filtered and are injected.

My issue now is that the Goal criteria are to have the record for category "1" exit the journey once on a related Data Extension (the booking table that is not filtered, but updated daily, so it can be used to check the goal criteria), a field is not null. This somehow works, but what happens is, that both records are marked as "journey goal reached", even if only one of them actually met the criteria, so it looks to me like the journey is not checking whether the individual booking records have reached the goal, but whether any booking of the customer did, and hence exits all records of this customer.

Does anyone have a clue why and whether there is a way to solve my issue?

1 Answer 1


This seems to be related to a bug in Salesforce Marketing Cloud's contact model, that will probably be fixed by the end of the year. Evaluation is currently only based on the SubscriberKey/ID and if there are more paths to an attribute/result random selection is applied.

Until this has been fixed so you can select the way Journey Builder does the lookup, you could add custom split activities checking for your criteria, where one path leads to a journey exit and the other lets the subscriber continue. An example of such an activity can be found on github.com/mslabina/sfmc-servicecloud-customsplit.

The workaround in the success article may work, but I think as evaluation seems to be only based on the subscriberID/Key this won't do the trick for your use case, so currently the custom split would be the way to go.

Further information regarding this issue:

  • Thank you! I am trying to use the decision splits you suggested now. But now I´ve gotten into another issue: It seems like they are not working the same way as the goal, because even though the goal is achieved, the customer´s record goes the "not achieved" path. I´m checking the update for goal and decision split in the very same Data Extension. Any idea why this happens?
    – Steffi
    Jun 21, 2017 at 9:37
  • If you used the decisions splits of marketing cloud and a separate data extension (as proposed in the success article), then you run into the same issue as the same algorithm is used to evaluate the results. This is what I meant with "evaluation seems to be only based on the subscriberID/Key this won't do the trick for your use case, so currently the custom split would be the way to go". So I'm afraid you will have to set up a custom split like the one linked by me (except that you would query sfmc soap api rather than service cloud). My split is open source and the link to github in my answer Jun 21, 2017 at 10:21

You must log in to answer this question.

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