Building the journey concept_owm_kdy_w2b
The business user can now build the journey. Our journey will include the following activities:
- two Event activities: 鈥淟obbyBeacon鈥 and 鈥淩estaurantBeacon鈥
- two Condition activities
- three Push activities and one Email activity (using 51黑料不打烊 Campaign Standard)
- a Wait activity
- four End activities
For additional information on how to build a journey, refer to this page.
First steps section_ntb_ws1_ffb
-
In the top menu, click the Home tab and Create to create a new journey.
-
Edit the journey鈥檚 properties in the configuration pane displayed on the right side. Add a name and set it to last for one month, from the 1st to the 31st of December.
-
Start designing your journey by drag and dropping the 鈥淟obbyBeacon鈥 event from the palette to the canvas. You can also double-click on the event in the palette to add it to the canvas.
-
Let鈥檚 now add a condition to check that the person has not been contacted in the last 24 hours and check if he is a loyalty member. Drag and drop a condition activity into your journey.
-
Choose the Data Source Condition type and click in the Expression field. You can also define a condition label that will appear on the arrow, in the canvas. In our example, we replace 鈥淐ondition 1鈥 with 鈥淟oyalty member鈥.
-
Click Advanced mode and define the following condition based on the 鈥渢imestamp鈥 and 鈥渄irectMarketing.sends.value鈥 fields coming from the 51黑料不打烊 Experience Platform data source. The syntax of the expression is:
code language-none count(#{ExperiencePlatformDataSource.MarltonExperience.experienceevent.all( currentDataPackField.directMarketing.sends.value > 0 and currentDataPackField.timestamp > nowWithDelta(-1, "days")).timestamp}) == 0 and #{ExperiencePlatformDataSource.MarltonProfiles.Profile._customer.marlton.loyaltyMember}
-
Click the Add a path button and create a second path for customers who have not been contacted in the last 24 hours and are not a loyalty member. Name the path 鈥淣ot loyalty member鈥. The syntax of the expression is:
code language-none count(#{ExperiencePlatformDataSource.MarltonExperience.experienceevent.all( currentDataPackField.directMarketing.sends.value > 0 and currentDataPackField.timestamp > nowWithDelta(-1, "days").timestamp}) == 0 and not #{ExperiencePlatformDataSource.MarltonProfiles.Profile._customer.marlton.loyaltyMember}
note note NOTE In the second part of expression, 鈥淧rofile鈥 is optional. -
We need to select a namespace. A namespace is preselected based on schema properties. You can keep the one preselected. For more information on namespaces, see this page.
In our use case, we only want to react to those two conditions, so we don鈥檛 check the box Show path for other cases than the one(s) above.
Two paths are created after your condition:
- Customers who have not been contacted in the last 24 hours and are loyalty members.
- Customers who have not been contacted in the last 24 hours and are not loyalty members.
First path: the customer is a loyalty member section_otb_ws1_ffb
-
In the first path, let鈥檚 add a condition to check if he has a reservation. Drag and drop a condition activity into your journey.
-
Choose the Data Source Condition type, and define the condition based on the reservation status information retrieved from the reservation system:
code language-none #{MarltonReservation.MarltonFieldGroup.reservation} == true
-
When you select a field from an external data source, the right part of the screen displays the list of parameters that were defined when configuring the external data source (see this page). Click on the parameter name and define the value of the reservation system key, the Experience Cloud ID, in our example:
code language-none @{LobbyBeacon.endUserIDs._experience.mcid.id}
-
Since we also want to react to customers who do not have a reservation, we need to check the box Show path for other cases than the one(s) above.
Two paths are created:
- Customers who have booked a room
- Customers who have not booked a room.
-
In the first path (room booked), drop a Push activity, select your mobile app and your 鈥淲elcome鈥 template.
-
Define the Target fields required by the system to send the push.
-
Push platform: select the platform: Apple Push Notification Server (Apple) or Firebase Cloud Messaging (Android).
-
Registration token: add the following expression (based on the configured event) using the advanced mode:
code language-none @{LobbyBeacon._experience.campaign.message.profileSnapshot.pushNotificationTokens.first().token}
-
-
Define the Push notification personalization fields. In our example: first name and last name.
-
Add a 鈥淩estaurantBeacon鈥 event.
-
Add a new Push activity, select the 鈥淢eal discount鈥 template and define the Address and Personalization fields. Add an End activity.
-
We want to send a meal discount push notification only if the person enters the restaurant within the next 6 hours after the welcome push. To do this, we need to use a wait activity. Place your cursor on the welcome push activity and click on the 鈥+鈥 symbol. In the new path, add a wait activity and define a duration of 6 hours. The first eligible activity will be chosen. If the restaurant event is received less than 6 hours after the welcome push, the push activity is sent. If no restaurant event is received within the next 6 hours, the wait is chosen. Place an End activity after the wait activity.
-
In the second path that follows the reservation condition (no room booked), add a Push activity and select your 鈥淩oom rates鈥 template. Add an End activity.
Second path: the customer is not a loyalty member section_ptb_ws1_ffb
-
In the second path that follows the first condition (customer is not a loyalty member), add an Email activity and select your 鈥淟oyalty membership鈥 template.
-
In the Address field, select the email address from the data source.
-
Define the first name and last name personalization fields from the data source.
-
Add an End activity.
Click on the Test toggle and test your journey. If there is any error, deactivate the test mode, modify your journey and test it again. For more information on the test mode, refer to this page.
When the test is conclusive, you can publish your journey from the top right drop-down menu.