[SalesForce] Journey Builder Confusion

I'm having difficulty understand the exact methodology of how Interactions and Events work in Journey Builder.

I've done the following:

  1. Setup a data extension, relating EmailAddress to subscriber on Subscriber Key. This data extension is set as 'Sendable'.

  2. Create a new attribute group, linked to the above data extension, relating ContactKey to EmailAddress.

  3. Add the email address channel under Contacts Configuration for my DE, so that it will check the email address in the data extension.

  4. Create a new event under Journey Builder -> Administration -> Events, selecting my DE as the entry audience. I added no filter, as a test, thinking this would make anyone in the DE fit the entry criteria. I set this event to run every hour.

  5. Create a new interaction using the above event as the Entry Source. I then set an email action and told it to wait a few minutes, then exit.

  6. I added 2 records manually to my DE and waited.

The result, was as expected, both records got the email. But when I modify an attribute on these records in my DE in order to get them to then enter another Interaction (one with a filter set on an boolean attribute), they don't enter it. (EntrySetting is to ExampleBoolean is true – previously it was false, I manually changed it and expected them to get picked up by new interaction but they have not).

Furthermore, my original Interaction has a population of 2, presuming the 2 contacts from my DE entered it. But when I click view event results, it shows 0 total contacts (0 rejects and 0 accepted).

I essentially want to have my journey builder all based off 1 data extension, and as those records in the data extension are updated (booleans change, primarily) have them enter different interactions. But I can't figure out how to make that happen right now.

Best Answer

This is expected behavior. When you fire an Event (using a Fire Event Activity in an Automation or defining a schedule for the Event), a 'High Water Mark' is added to last record in the Data Extension. So, the next time the Event is fired, only new records that have been added to the Data Extension will enter the Event. Refer to this help document (specifically the 'Contacts fell below the High Water Mark' section) for further information.

However, this might be OK for your intended use. When you fire an Event, the Contacts in your Event Source Data Extension will be evaluated by the Event and providing they meet the Contact Filter Criteria (defined in your Event), then they will enter the Event.

I'm assuming that you published the new Interaction after firing the Event, in which case the High Water Mark was set on the Data Extension and the Contacts will not enter it. However, if both Interactions were published, then the Contact would enter both Interactions when the event is fired.

However, if you want all Contacts to be re-evaluated each time the Event is fired, then you will need to create a Query Activity (and include it in an Automation) to target the Event Source Data Extension and overwrite the existing records, which essentially resets the Water Mark.

Regarding the 'view event results' behavior, I'm also seeing this in the current release. You're correct in that it should indicate the percentage of rejected Contacts (that did not meet the entry criteria) and the percentage of Contacts that would have been accepted into the Interaction, but it appears that this not working at the moment.