---
title: Creating the journey
slug: flutter-crm-pillar/ctkV-creating-the-journey
description: >-
docTags: 
createdAt: 2024-01-30T23:03:21.354Z
---

In this exercise, you'll be creating and testing a journey using all the components you've created in the previous exercises.

## Journey overview

To get an overview of all journeys in Adobe Journey Optimizer:

1. In the menu on the left side, under **Journey Management**, click on **Journeys**. You will see a overview with all existing journeys.

![](https://api.archbee.com/api/optimize/Kr9jNQk3X89PNSZafWHK9-M5tvFnbTQuXWgaGkOsKlb-20250318-101305.png)

## Creating a journey

We'll be creating a journey that will send an email to people that are regular in horse racing bets, but haven't placed a bet in last 10 days. The content of the email depends on: &#x20;

- upcoming horse racing events from external system;
- an offer for the customer based on the value tier of the customer.

Click on **Create Journey**. You'll be taken to the **Journey canvas** with the journey properties opened.

1. Set the **name** to `[your name] - Horse racing re-engagement`.
2. For the other properties we'll keep the default values.
3. Your screen should look like the image below. Click **Save** to save and close the properties.

![](https://api.archbee.com/api/optimize/6H6rknlvdVrktAepVnpsA-DmHuNjqIoNY-6mkEr5eJJ-20250509-162200.png)

You're now in the journey canvas. This is where you'll be creating your journey's logic.&#x20;

### Read Audience

1. We're starting our workflow of with an read audience trigger. From the orchestration tab, choose **Read audience** and drag it onto the canvas.
2. Click on the activity to open the detailed view.
   1. Set the **label** to `Horse Racing Regular Better with no bet on upcoming race`.
   2. Click on **Audience** to open a window, select your audience **\[your name] - Horse Racing Regular, no bet on upcoming race** from the list and click **Save**.
      *If you didn't create the audience, you can use `[Example] - Horse Racing Regular, no bet on upcoming race`*
   3. Set the **namespace** to `Email (Email)`.
   4. Keep the **Reading rate** as default (5000)
   5. Your screen should look like the image below. dClick **Save**.

![](https://api.archbee.com/api/optimize/6H6rknlvdVrktAepVnpsA-Y2ZRe4UyBUEaxoepdJE5s-20250509-162941.png)

### Add a Condition

We want to exclude all the customers who has placed as bet on horse racing after the audience is evaluated and until the journey is ran. For this we are creating a condition to exclude those customers from going through the journey further.

1. From the orchestration tab, choose **Condition** and drag it onto the :FontAwesome[]{icon="fa-solid fa-circle-plus"}**-icon** next to read audience on the canvas.
2. Click on the activity to open the detailed view.
   1. Set the **label** to `Exclude customers who placed bet already`.
   2. Click on **Path1** and change the label to `Not placed bet`.
   3. Click on **expression field** to open a window.
      1. On the left side, open **Audiences.**
      2. Drag your audience **\[your name] - Placed Horse racing bet today** from the list to the drag and drop area in the right. **
         *If you didn't create the audience, you can use **\[Example]&#x20;*****- Placed Horse racing bet today***.*
         1. Click on the toggle to make it **false**

            ![](https://api.archbee.com/api/optimize/6H6rknlvdVrktAepVnpsA-dt10wxzZRYWc9V0617Yre-20250510-105000.png)
         2. Click **OK** the condition. This should make the condition as *The \[your name] - Placed Horse racing bet today audience membership is false*
         3. Click **OK** on the expression popup to save the condition.
   4. Check **Show path for other cases than one(s) above** and leave the label as `Excluded`.
   5. Your screen should look like the image below. You can reposition the paths on the canvas by clicking and dragging to move them. Click **Save**.

![](https://api.archbee.com/api/optimize/6H6rknlvdVrktAepVnpsA-cPEoKZgPE51kzugY60vjx-20250510-105811.png)

### Getting the upcoming horse racing events

Now we want to get the details of upcoming horse racing events. We already built our custom action to fetch the upcoming events and will use that in this step.

1. From **Actions** tab, drag **yourname\_getUpcomingEvents** to the :FontAwesome[]{icon="fa-solid fa-circle-plus"} icon on the *Not placed bet* branch.&#x20;
   *If you didn't create the custom action, you can use **getUpcomingEvents**.*
2. Set the label as `Get Upcoming Races`
3. Click on the **Dynamic path** field to open the expression editor. Click on **Advance mode** and add `'2'`
4. Click **OK**

   ![](https://api.archbee.com/api/optimize/6H6rknlvdVrktAepVnpsA-LrXs_GNhAKspFmNqJeSnJ-20250510-121007.png)
5. Your screen should look like the image below. Click **Save** to save the action configuration.

![](https://api.archbee.com/api/optimize/6H6rknlvdVrktAepVnpsA-QpXQIiDLtqDWLZfrxMwRp-20250510-121218.png)

## Email - Horse racing offer email

In the next steps you will be building the email for your journey. You'll pick a fully completed template of the basic email so that you don't have to build anything at all.

### Building the Email

1. From the actions tab, choose **Email** and drag it onto the :FontAwesome[]{icon="fa-solid fa-circle-plus"} **icon** after the custom action.
2. Click on the activity to open the detailed view.
   1. Set the **label** to `Racing Offer Email`.
   2. Set the **category** to `Marketing`.
   3. Set the **email surface** to `marketingEmailMessages`.
   4. Click on **Edit content** to start designing your email.
      1. Click on :FontAwesome[]{icon="fa-solid fa-user"} to create a subject line. Set it to `FIRSTNAME, We Miss Your Bets! Exclusive Offer for This Week's Races`
      2. Remove the text `FIRSTNAME` and search for `first name` in the profile attributes.
      3. Find the field First name (... attributes > person > Full name) and click on the :FontAwesome[]{icon="fa-solid fa-plus"} **icon** to add it to your subject line. It should now be `{{profile.person.name.firstName}}, ``We Miss Your Bets! Exclusive Offer for This Week's Races`
      4. Click **Save**.
   5. Click on **Edit email body**. Under **Saved templates**, choose `[T] Flutter - Horse racing offer Template`. It will show you a preview of the template. Click on **Use this template**.
3. The email designer will now open. It should look like the image below. Click **Save** in the top right.&#x20;

![](https://api.archbee.com/api/optimize/6H6rknlvdVrktAepVnpsA-QO5RheMp0Jb_igF9wAV0O-20250510-135355.png)

### Configuring the email

We had most of the content prebuilt into the email using the template. Now lets customise the email for our journey.

1. Click on the text **Upcoming races** to get that block highlighted. Once highlighted, click on :FontAwesome[****]{icon="fa-solid fa-code"}**&#x20;icon** to open the HTML block.

   ![](https://api.archbee.com/api/optimize/6H6rknlvdVrktAepVnpsA-hBmEV_MBHqwjYO4EcVkT9-20250510-135704.png)
2. From the left menu, select **Contextual attributes > Journey Orchestration > Actions > yourname\_getUpcomingEvents - Get Upcoming Events > data > competitionName&#x20;**&#x61;nd click on :FontAwesome[]{icon="fa-solid fa-plus"} icon next to it. You will see a attribute something like *&#x7B;&#x7B;context.journey.actions.e4baf96e-4a7b-4c5b-a2c7-bac979c366a2.data.competitionName}}* added to the editing pane.

   *We are selecting the response from our custom action using this step. If you have used getUpcomingEvents action, you can skip the next step*
3. **Replace** the similiar line in the code block as mentioned below using the newly added attribute. **Remove** `{{` from the beginning and `.competitionName}}` from the end.

   ![](https://api.archbee.com/api/optimize/6H6rknlvdVrktAepVnpsA-q0UK28rbz8rQpkpt61LIR-20250510-140633.png)
4. After the replace, your screen will look like below. Click **Save&#x20;**&#x74;o save the expression.

   ![](https://api.archbee.com/api/optimize/6H6rknlvdVrktAepVnpsA-MVgTFjeA5-CkIeDieuIR1-20250510-141323.png)
5.
6. Now lets add the offer to the email. For this click **Add,&#x20;**&#x61; pop-up window will open.&#x20;
   1. From the Placements drop down, choose `Email - Image`
   2. Check the **\[your name] - Horse racing re-engagement** offer decision and click on **Add** in the top right of the window.
      *If you didn't create the decision, you can use* ***Horse racing retargeting**.*
   3. Under **Offer preview**, you can see the potential offers customers could receive. Using the :FontAwesome[]{icon="fa-solid fa-caret-left"} :FontAwesome[]{icon="fa-solid fa-caret-right"}  icons you can see the different offers the customers see based on the value tier they qualify and the ranking.
   4. Your screen should like this. Click **Save**

      ![](https://api.archbee.com/api/optimize/6H6rknlvdVrktAepVnpsA-NkTuobzVg33FXKatnfRNc-20250510-142344.png)
7. Click **Save** in the top right. Then navigate out of the email designer by clicking on the back arrow :FontAwesome[]{icon="fa-solid fa-arrow-left"}**-icon** in the top left. You'll be taken to the messages overview for your journey.

Now we will explore some the Experimentation & Gen AI capabilities in the Email designer.

### Creating a content experiment

As part of our drive to increase the conversion rates of our emails, we want to run an A/B Experiment to see what subject line leads to a higher open-rate. In Adobe Journey Optimizer we call this a **Content experiment**.

1. In the top right, click on :FontAwesome[]{icon="fa-solid fa-flask"} **Create experiment**. A window will open.
   1. Set the **success metric** to `Email Opens (AJO)`.
   2. Leave the **holdout** `off`, this is the default setting. Enabling this will allow you to add a percentage of the audience to a control group, receiving none of the content treatments.
   3. Leave **distribute evenly** `on`, this is the default setting. Disabling this will allow you to customly distribute the incoming audience over your treatments.
   4. Click :FontAwesome[]{icon="fa-solid fa-plus"} **Add treatment** to add a second treatment to your experiment.&#x20;
   5. Your settings should now look like this:

      ![](https://api.archbee.com/api/optimize/6H6rknlvdVrktAepVnpsA-NkeX7HXJDyLohZYv1FHKY-20250510-142947.png)
   6. Click **Create** in the top right.
2. Notice how the interface changed and now displays your treatments on the left menu.&#x20;
3. The email content for Treatment B is empty. However, we'd want this to be the same as Treatment A as we are only testing how the subject line affects the open rate. Click on the :FontAwesome[]{icon="fa-solid fa-ellipsis-vertical"}**-icon** for **Treatment B** and click **Delete.** You'll be prompted to confirm the delete, click **Delete** to remove Treatment B.
4. To create a copy of Treatment A click on the :FontAwesome[]{icon="fa-solid fa-ellipsis-vertical"}**-icon** for **Treatment A** and click **Duplicate**. You'll be prompted to provide a name for the new treatment. Set the name to `AI generated subject line`.
5. Rename **Treatment A** to `Default subject line`,by clicking on the :FontAwesome[]{icon="fa-solid fa-ellipsis-vertical"}**icon** for **Treatment A** and clicking **Rename**.
6. Select the email for the **AI generated subject line**. On the right side you'll see the current subject line, which was duplicated from the original email we created.
7. Click on the :FontAwesome[]{icon="fa-solid fa-wand-sparkles"} **-icon** to edit text with AI Assistant. A window will open.
   1. You're now in the AI Assistant interface. You can write a prompt and set various settings like communication style, language and tone.&#x20;
   2. The more descriptive you are, the better the prompt will work. Try the following prompt:

      `Generate a subject line of at least 8 words to ask the customer to place the bets.`

      and click **Generate**.
   3. The AI Assistant will provide you with several variations.
   4. Feel free to add more instructions to the prompt and play around with the tone to find a result you like!
   5. When you find your perfect subject line, select it and click **Select** in the top right corner.

      ![](https://api.archbee.com/api/optimize/6H6rknlvdVrktAepVnpsA-7EBpWlFRDw2AmtVgd6gnO-20250510-143657.png)

We now succesfully set up a content experiment for a subject line open rate test using AI to generate a subject line! Your screen should look like the image below.&#x20;

![](https://api.archbee.com/api/optimize/6H6rknlvdVrktAepVnpsA-KKqBqc9kBMCwLIQ1rcCr0-20250510-143910.png)

Navigate out of the email overview by clicking on the arrow :FontAwesome[]{icon="fa-solid fa-angle-left"}**-icon** on the top left. You will be taken back to the journey canvas. Click on **Save**

![](https://api.archbee.com/api/optimize/6H6rknlvdVrktAepVnpsA-BqGvSzjjuNLLoFuURdF-n-20250510-144012.png)

## Personalising web experiences

Journey Optimizer allows you to personalize the web experience you deliver to your customers through inbound journeys or campaigns.

### Configuring the web experience

1. From the actions tab, choose **Web** and drag it onto the :FontAwesome[]{icon="fa-solid fa-circle-plus"} **icon** after the email.
2. Click on the activity to open the detailed view.
   1. Set the **label** to `Racing Homepage Banner`.
   2. Set the **web configuration** to `webChannel`. This is the channel configured we have pre-configured with the demo site details.
   3. Click on **Edit content&#x20;**&#x74;o start designing your web experience.
   4. Click on **Edit web page** from the right side pane.
3. Hover on the image to show the text elements available. Click on the text element to show the properties of the field. Once selected, click on :FontAwesome[]{icon="fa-solid fa-code"} **icon** to edit the HTML.

   ![](https://api.archbee.com/api/optimize/6H6rknlvdVrktAepVnpsA-fekuTMNGId516UKC9MifQ-20250511-045219.png)
4. In between the \<h1>\</h1> tags, paste the below text.
   1. `FIRSTNAME, We Miss Your Bets! Exclusive Offer for This Week's Race`
   2. Remove the text `FIRSTNAME` and search for `first name` in the profile attributes.
   3. Find the field First name (... attributes > person > Full name) and click on the :FontAwesome[]{icon="fa-solid fa-plus"} **icon** to add it to your subject line. It should now be `{{profile.person.name.firstName}}, ``We Miss Your Bets! Exclusive Offer for This Week's Races`
   4. The screen will look like this. Click **Save.**

      ![](https://api.archbee.com/api/optimize/6H6rknlvdVrktAepVnpsA-fvEOkDQqjeHqzeAunMkIh-20250511-045910.png)
   5. In case a popup comes up mentioning *You are performing modifications on your SPA*, click **Confirm.**
5. Now select the **banner image** to open its properties. Click on the **gallery** icon to change the image.

   ![](https://api.archbee.com/api/optimize/6H6rknlvdVrktAepVnpsA-23Q-3v709MGt14ORr3XPf-20250511-050607.png)
6. Here you can get the image from various sources or you can generate image using firefly. Switch to asset selector by clicking :FontAwesome[]{icon="fa-solid fa-images"} **icon&#x20;**&#x66;rom the left menu.&#x20;

   ![](https://api.archbee.com/api/optimize/6H6rknlvdVrktAepVnpsA-aKfgMdTh4f5rthIukA6X4-20250511-050911.png)

   1. Search for `web-offer-background` and **select** *web-offer-background.png***.**
   2. Your screen will look like this.
      *Now you have created a personalised greeting message with a horse racing banner background for all the customers who got qualified in the journey.*

      ![](https://api.archbee.com/api/optimize/6H6rknlvdVrktAepVnpsA-3yy-XfCaD-bMmOR_DjoHR-20250511-051513.png)
7. Click on :FontAwesome[****]{icon="fa-solid fa-arrow-left"}**&#x20;icon** of the top left to go back to web configuration summary.

### Creating a web experiment

As part of our drive to increase the conversion rates of our web experience, we want to run an A/B Experiment to see if a personalised banner makes an impact. So we are going to configure a **Content experiment** for our web experience also.

![](https://api.archbee.com/api/optimize/6H6rknlvdVrktAepVnpsA-fEjyV-LCvZK7cCdplo823-20250513-114658.png)

1. In the top right, click on :FontAwesome[]{icon="fa-solid fa-flask"} **Create experiment**. A window will open.
   1. Set the **success metric** to `Unique Clicks (AJO)`.
   2. Leave the **holdout** `off`, this is the default setting. Enabling this will allow you to add a percentage of the audience to a control group, receiving none of the content treatments.
   3. Leave **distribute evenly** `on`, this is the default setting. Disabling this will allow you to customly distribute the incoming audience over your treatments.
   4. Click :FontAwesome[]{icon="fa-solid fa-plus"} **Add treatment** to add a second treatment to your experiment.&#x20;
   5. Your settings should now look like this.

      ![](https://api.archbee.com/api/optimize/6H6rknlvdVrktAepVnpsA-jixP07_rJ_jhiTVYibiMC-20250514-045727.png)
   6. Click **Create** in the top right.
   7. Notice how the interface changed and now displays your treatments on the left menu.&#x20;
   8. The web content for Treatment B is the default website. However, we'd want this to be the same as Treatment A but without any personalised copy.&#x20;
      1. Click on the :FontAwesome[]{icon="fa-solid fa-ellipsis-vertical"}**-icon** for **Treatment B** and click **Delete.** You'll be prompted to confirm the delete, click **Delete** to remove Treatment B.
      2. To create a copy of Treatment A click on the :FontAwesome[]{icon="fa-solid fa-ellipsis-vertical"}**-icon** for **Treatment A** and click **Duplicate**. You'll be prompted to provide a name for the new treatment. Set the name to `Default Offer Banner`.
      3. Rename **Treatment A** to `Personalised Offer Banner`,by clicking on the :FontAwesome[]{icon="fa-solid fa-ellipsis-vertical"}**icon** for **Treatment A** and clicking **Rename**.
      4. Select the web for the **Default offer Banner**. &#x20;
         1. Click **Edit web page**
         2. Click on the **banner title** and click :FontAwesome[]{icon="fa-solid fa-code"} **icon** to edit it.

            ![](https://api.archbee.com/api/optimize/6H6rknlvdVrktAepVnpsA-7EJhgR88tc9jNgZ62gknr-20250513-122829.png)
         3. Update the text to `Exclusive Offer for This Week's Races`
         4. Click **Save**
         5. Your screen will look like this.

            ![](https://api.archbee.com/api/optimize/6H6rknlvdVrktAepVnpsA-Qm8kNXoD9qXBKsYEDh-S1-20250513-123030.png)
      5. Click on :FontAwesome[****]{icon="fa-solid fa-arrow-left"}**&#x20;icon** of the top left to go back to web configuration summary
   9. You see now two treatments with two different messages as the web experience.

      ![](https://api.archbee.com/api/optimize/6H6rknlvdVrktAepVnpsA-rEFPl6cYZIbRksPGN0uh2-20250513-123513.png)
2. Click on :FontAwesome[]{icon="fa-solid fa-angle-left"} **icon** to go back to the journey. Your screen will look like this. Click **Save** to save the configuration of web channel step in the journey.

![](https://api.archbee.com/api/optimize/6H6rknlvdVrktAepVnpsA-NNriU9chDn0YD14FYZ2FG-20250511-052800.png)



:::hint{type="success"}
You have now successfully created the application journey using the Adobe Journey Optimizer. Next, we are going to test our journey using `Test Mode`.
:::

