Business Process Management Journey
BPM stands for "Business Process Management", i.e. life cycles. A BPM journey defines the states the contact can be in. The states are stored in a BPM list. For a global customer life cycle this can be "welcome, retention, loyalty, etc.". For a specific welcome scenario, this might be the different steps: "first touch, first reminder, don't miss out, etc.". The BPM list is always linked to an Audience list and contains the state a contact is in.
The BPM journey defines the different states with BPM State components, and it has one BPM In component that serves as an entry point for contacts to enter the BPM cycle.
The BPM Process component is used to push a selection of contacts in the BPM cycle. It is used in other journeys than the BPM (states) journey. It can be used for an entire selection, a journey with an Audience component and a BPM Process component. Usually in a data driven (scheduled) journey, to continuously push contacts in the BPM cycle depending on the selection in the Audience component. You can compare it to a data driven email journey, where you create emails for everyone entering the journey. Or it can be used somewhere in a journey, after the contact clicks, and push him in the BPM cycle. Compare it to an instant email.
Finally, the BPM Trigger component is used in journeys, other than the BPM (states) journey, to change the contact's state when they do something. For instance change the state from "Welcome" to "Retention" in a customer lifecycle, when they registered in the registration journey.
The BPM journey can also be used in combination with FrontOffice. If a BPM State component is set to an "interactive" state, all contacts in that state will be visible in FrontOffice. A FrontOffice agent can manually answer questions about the contact in that specific "interactive" state. A typical example would be a call center, where the FrontOffice agent calls the contact and based on his answers fills out the questions. FrontOffice can also be used independently from a BPM journey.
A BPM journey is continuously active. This implies that the journey should be data driven (scheduled). Every time it is executed it checks if the contact needs to change state, depending on the events (triggers) defined in each BPM State component.
Another important difference is that a BPM journey always start with a BPM In component and not with an audience component.
Note that BPM (states) journeys can be completed with other components (email, SMS, etc.). Each time the contact enters a state, the email will be send to him. So it is possible the contact receives the email multiple times, each time they enter the state again ('Entry' trigger).
Emails can also be personalized in a BPM journey:
- Scope= MASTER : to retrieve data from the BPM list
- Scope= PROFILE: to retrieve data from the audience list. E.g. ~PROFILE.FIRSTNAME~
To personalize emails in a regular journey (without a BPM in component) use
- Scope= MASTER to retrieve data from the audience list
- Scope= BPM_CID_XXX: to retrieve data from the BPM list, if the BPM list is linked 1-on-1 to the audience list, just like any other profile extension.
Following is an
example of a journey with a BPM Process component (second journey image
below) pointing to the BPM journey (third journey image below), adding
contacts to the BPM cycle:
The first journey runs daily, adding contacts that recently ordered. They
receive an invitation email to fill out the "Satisfaction survey".
Each time a contact ordered, they will receive the email. (note: an action
list is used to send the invitation email multiple times). A sensor in
the email points to the second journey's Input component, so when a contact
clicks the sensor, they will end up at the "After sales Satisfaction
Survey".
Once they have complete the survey, they will be added to the "After
sales" BPM journey.
Because the contact can fill out the survey multiple times (each time he
ordered), the contact can have many survey records (1-on-many linked survey
list). The Lookup component finds the most recent filled out survey record
and adds all that record's information temporary in memory ('Add
to context' with scope name "SURVEY.")
Once 'Found', and if the contact requested to be contacted in the survey,
the BPM Process component adds the contact to the BPM Process, passing
the survey values to the BPM journey. On the tab 'Data validation'
of the BPM Process component a constraint is added to check if he requested
to be contacted in the survey: SURVEY.REQUEST_CALL='yes' (remember, the
scope survey comes from the Lookup component 'Add to context')
The contact only enters the BPM "Contact after sales" journey
when he asked to be contacted in the survey (third BPM journey image).
The 'Fields' have been defined on the BPM In component and the values will
be stored on the new record, created for the contact in the BPM list.
The BPM In component's checkbox 'Unique users' is unchecked. Each time
the contact fills out the survey, a BPM record is added for him.
He enters in the interactive BPM State "Contact me". An interactive
state is used by FrontOffice agents. An employee can use this module to
call the contact. As a result of the communication, the FrontOffice agent
decides if the contact is "Unhappy" or happy ("Send voucher"
event). If they are unhappy, the contact enters a second interactive BPM
State "Unhappy" for a second FrontOffice contact moment.
When the contact enters the "Send voucher" BPM State component
an email is sent with a "Discount voucher". The "No Further
Contact Required" BPM State is an end state of the BPM cycle.
The current state of the contact is stored in the STATEID field on the
BPM list. This matches the BPM State component IDs.