Show Menu
TOPICS×

12.4 Design a trigger-based Customer Journey

In this exercise, you'll create an orchestrated journey by making use of Journey Orchestration in combination with Adobe Experience Platform.
You'll see the Adobe Experience Cloud homepage.
Click on Journey Orchestration .
Next, you'll see the Journey Orchestration homepage, which shows all existing Journeys.
Click Create to start creating your Journey.
You'll then see a new, blank Journey.
You should first name your Journey.
As a Name for the Journey, use Geofence Entry Journey LDAP and replace LDAP with LDAP. In this example, the Journey Name is Geofence Entry Journey vangeluw . No other values must be set at this moment.
Click OK .
On the left side of your screen, have a look at Events . You should see your previously create Event in that list. Select it, then drag and drop it on the Journey Canvas.
Your Journey then looks like this:
Next, click on Orchestration .
You now see Orchestration capabilities.
Select Condition , then drag and drop it on the Journey Canvas.
You now have to define three conditions:
  • It's colder than 10° Celsius
  • It's between 10° and 25° Celsius
  • It's warmer than 25° Celsius
Let's define the first condition.

Condition 1: Colder than 10° Celsius

Click on the Condition .
Click on the Edit icon for the expression of Path1.
You'll then see an empty Simple Editor screen.
Our query will be a bit more advanced, so we'll need the Advanced Mode . Click Advanced Mode .
You'll then see the Advanced Editor which allows code entry.
Select the below code and paste it in the Advanced Editor .
#{weatherApiLdap.WeatherByCityLdap.main.temp} <= 10 (replace Ldap by your LDAP)
You'll then see this.
In order to retrieve the temperature as part of this Condition, you need to provide the city in which the customer currently is. The City needs to be linked to the dynamic parameter q , just like we saw previously in the Open Weather API Documentation.
Click the field dynamic val: q as indicated in the screenshot.
You then need to find the field that contains the current city of the customer in one of the available Data Sources.
You can find the field by navigating to geofenceEntryLdap.--aepTenantId--.locationService.currentPoiCity (replace Ldap by your LDAP).
By clicking that field, it will be added as the dynamic value for the parameter q . This field will be populated by for instance the geolocation-service that you've implemented in your Mobile App.
Click OK .
Next, we'll add the 2nd condition.

Condition 2: Between 10° and 25° Celsius

After having added the first condition, you'll see this screen.
Click Add Path .
Click on the Edit icon for the expression of Path2.
You'll then see an empty Simple Editor screen.
Our query will be a bit more advanced, so we'll need the Advanced Mode . Click Advanced Mode .
You'll then see the Advanced Editor which allows code entry.
Select the below code and paste it in the Advanced Editor .
#{weatherApiLdap.WeatherByCityLdap.main.temp} > 10 and #{weatherApiLdap.WeatherByCityLdap.main.temp} <= 25 (Replace Ldap by your LDAP)
You'll then see this.
In order to retrieve the temperature as part of this Condition, you need to provide the city in which the customer currently is. The City needs to be linked to the dynamic parameter q , just like we saw previously in the Open Weather API Documentation.
Click the field dynamic val: q as indicated in the screenshot.
You then need to find the field that contains the current city of the customer in one of the available Data Sources.
You can find the field by navigating to geofenceEntryLdap.--aepTenantId--.locationService.currentPoiCity (Replace Ldap by your LDAP). By clicking that field, it will be added as the dynamic value for the parameter q . This field will be populated by for instance the geolocation-service that you've implemented in your Mobile App.
Click OK .
Next, we'll add the 3rd condition.

Condition 3: Warmer than 25° Celsius

After having added the second condition, you'll see this screen.
Click Add Path .
Click on the Edit icon for the expression of Path3.
You'll then see an empty Simple Editor screen.
Our query will be a bit more advanced, so we'll need the Advanced Mode . Click Advanced Mode .
You'll then see the Advanced Editor which allows code entry.
Select the below code and paste it in the Advanced Editor .
#{weatherApiLdap.WeatherByCityLdap.main.temp} > 25 (Replace Ldap by your LDAP)
You'll then see this.
In order to retrieve the temperature as part of this Condition, you need to provide the city in which the customer currently is. The City needs to be linked to the dynamic parameter q , just like we saw previously in the Open Weather API Documentation.
Click the field dynamic val: q as indicated in the screenshot.
You then need to find the field that contains the current city of the customer in one of the available Data Sources.
You can find the field by navigating to geofenceEntryLdap.--aepTenantId--.locationService.currentPoiCity . By clicking that field, it will be added as the dynamic value for the parameter q . This field will be populated by for instance the geolocation-service that you've implemented in your Mobile App.
Click OK .
You now have three configured paths.
As this is a journey for learning purpose, we'll now configure a couple of actions to showcase the variety of options marketeers now have to deliver messages.

Path 1

For each of the temperature contexts, we'll attempt to send an SMS Message to our customer. We can only send an SMS if we have a Mobile Number available for a customer, so we'll first have to verify that we do.
Let's focus on Path1 .
Let's take another Condition element and drag it as indicated in the screenshot above. We'll verify if for this customer, we have a mobile number available.
Click on the Edit icon for the Expression for Path1.
In the Data Sources, navigate to ExperiencePlatform.ProfileFieldGroup.profile.mobilePhone.number . You're now reading the mobile phone number directly from Adobe Experience Platform's Real-time Customer Profile.
Select the field Number , then drag and drop it to the Condition Canvas.
Select the operator is not empty .
Click Accept .
You'll then see this:
Click OK .
Your Journey will then look like this. Click on Actions as indicated in the screenshot.
Select the smsTwilioLdap - action (verify your LDAP), then drag and drop it after the condition you just added.
You'll see a popup.
Navigate to the Action Parameters .
Click on the Edit icon for the Action Parameter TEXTMESSAGE .
In the popup you'll see, click on Advanced Mode .
Select the below code, copy it and paste it in the Advanced Mode Editor .
"Brrrr..." + #{ExperiencePlatform.ProfileFieldGroup.profile.person.name.firstName} + " It's freezing. 20% discount on Jackets today!"
Click OK .
Click on the Edit icon for the Action Parameter MOBILENR .
You'll see a popup with the Simple Mode Editor .
In the popup you'll see, click on Advanced Mode .
Paste this code in the Advanced Mode Editor . Click OK .
substr(#{ExperiencePlatform.ProfileFieldGroup.profile.mobilePhone.number}, 0, 12)
FYI: This code is intended to work with mobile phone numbers that have 12 digits (including the +), like this one: +32463622044. Several other countries have 13-digit phone numbers. If your mobile phone number has 13 digits (including the +), you need to update this code to:
substr(#{ExperiencePlatformDataSource.ProfileFieldGroup.profile.mobilePhone.number}, 0, 13)
Click OK .
In the left menu, go back to Actions , select the Action textSlackLdap , then drag and drop it after the smsTwilioLdap -Action (Replace Ldap by your LDAP).
Go to Action Parameters and click the Edit icon for the parameter TEXTTOSLACK .
In the popup-window, click Advanced Mode .
Select the below code, copy it and paste it in the Advanced Mode Editor .
"Brrrr..." + #{ExperiencePlatform.ProfileFieldGroup.profile.person.name.firstName} + " It's freezing. 20% discount on Jackets today!"
Click OK .
Click OK .
In the left menu, go to Orchestration , select End , then drag and drop End after the textSlackLdap action.

Path 2

For each of the temperature contexts, we'll attempt to send an SMS Message to our customer. We can only send an SMS if we have a Mobile Number available for a customer, so we'll first have to verify that we do.
Let's focus on Path2 .
Let's take another Condition element and drag it as indicated in the screenshot above. We'll verify if for this customer, we have a mobile number available.
Click on the Edit icon for the Expression for Path1.
In the Data Sources, navigate to ExperiencePlatform.ProfileFieldGroup.profile.mobilePhone.number . You're now reading the mobile phone number directly from Adobe Experience Platform's Real-time Customer Profile.
Select the field Number , then drag and drop it to the Condition Canvas.
Select the operator is not empty .
Click Accept .
You'll then see this:
Click OK .
Your Journey will then look like this. Click on Actions as indicated in the screenshot.
Select the smsTwilioLdap - action (verify your LDAP), then drag and drop it after the condition you just added.
You'll see a popup.
Navigate to the Action Parameters .
Click on the Edit icon for the Action Parameter TEXTMESSAGE .
In the popup you'll see, click on Advanced Mode .
Select the below code, copy it and paste it in the Advanced Mode Editor .
"What a nice spring weather, " + #{ExperiencePlatform.ProfileFieldGroup.profile.person.name.firstName} + " 20% discount on Sweaters today!"
Click OK .
Click on the Edit icon for the Action Parameter MOBILENR .
You'll see a popup with the Simple Mode Editor .
In the popup you'll see, click on Advanced Mode .
Paste this code in the Advanced Mode Editor . Click OK .
substr(#{ExperiencePlatform.ProfileFieldGroup.profile.mobilePhone.number}, 0, 12)
FYI: This code is intended to work with mobile phone numbers that have 12 digits (including the +), like this one: **+32463622044`. Several other countries have 13-digit phone numbers. If your mobile phone number has 13 digits (including the +), you need to update this code to:
substr(#{ExperiencePlatform.ProfileFieldGroup.profile.mobilePhone.number}, 0, 13)
Click OK .
In the left menu, go back to Actions , select the action textSlackLdap , then drag and drop it after the smsTwilioLdap action. (Replace Ldap by your LDAP)
Go to Action Parameters and click the Edit icon for the parameter TEXTTOSLACK .
In the popup window, click Advanced Mode .
Select the below code, copy it and paste it in the Advanced Mode Editor .
"What a nice spring weather, " + #{ExperiencePlatform.ProfileFieldGroup.profile.person.name.firstName} + " 20% discount on Sweaters today!"
Click OK .
Click OK .
In the left menu, go to Orchestration , select End , then drag and drop End after the textSlackLdap action.

Path 3

For each of the temperature contexts, we'll attempt to send an SMS Message to our customer. We can only send an SMS if we have a Mobile Number available for a customer, so we'll first have to verify that we do.
Let's focus on Path3 .
Let's take another Condition element and drag it as indicated in the screenshot above. We'll verify if for this customer, we have a mobile number available.
Click on the Edit icon for the Expression for Path3.
In the Data Sources, navigate to ExperiencePlatform.ProfileFieldGroup.profile.mobilePhone.number . You're now reading the mobile phone number directly from Adobe Experience Platform's Real-time Customer Profile.
Select the field Number , then drag and drop it to the Condition Canvas.
Select the operator is not empty .
Click Accept .
You'll then see this:
Click OK .
Your Journey will then look like this. Click on Actions as indicated in the screenshot.
Select the smsTwilioLdap - action (verify your LDAP), then drag and drop it after the condition you just added.
You'll see a popup.
Navigate to the Action Parameters .
Click on the Edit icon for the Action Parameter TEXTMESSAGE .
In the popup you'll see, click on Advanced Mode .
Select the below code, copy it and paste it in the Advanced Mode Editor .
"So warm, " + #{ExperiencePlatform.ProfileFieldGroup.profile.person.name.firstName} + "! 20% discount on Swimming Trunks today!"
Click OK .
Click on the Edit icon for the Action Parameter MOBILENR .
You'll see a popup with the Simple Mode Editor .
In the popup you'll see, click on Advanced Mode .
Paste this code in the Advanced Mode Editor . Click OK .
substr(#{ExperiencePlatform.ProfileFieldGroup.profile.mobilePhone.number}, 0, 12)
FYI: this code is intended to work with mobile phone numbers that have 12 digits (including the +), like this one: +32463622044. Several other countries have 13-digit phone numbers. If your mobile phone number has 13 digits (including the +), you need to update this code to:
substr(#{ExperiencePlatform.ProfileFieldGroup.profile.mobilePhone.number}, 0, 13)
Click OK .
In the left menu, go back to Actions , select the action textSlackLdap , then drag and drop it after the smsTwilioLdap action.
Go to Action Parameters and click the Edit icon for the parameter TEXTTOSLACK .
In the popup-window, click Advanced Mode .
Select the below code, copy it and paste it in the Advanced Mode Editor .
"So warm, " + #{ExperiencePlatform.ProfileFieldGroup.profile.person.name.firstName} + "! 20% discount on Swimming Trunks today!"
Click OK .
Click OK .
In the left menu, go to Orchestration , select End , then drag and drop End after the textSlackLdap action.
Your Journey is now fully configured.
Click Publish .
Click Publish .
Your Journey is now published.
In the next exercise, you'll be able to test your Journey.