---
title: Create a journey
slug: gpwc/create-a-journey
description: >-
docTags: 
createdAt: 2023-10-26T14:49:31.145Z
---

Journeys are designed for in-the-moment communications, in this exercise we will create an Abandoned Cart journey triggered when the customer reaches the order summary page on the website.  If they don't complete a purchase within an hour we will send a push notification reminder, if they still haven't purchased the next day we will follow up with an email.  &#x20;

This is just one example of how journeys can be triggered from streamed events, some other ideas could be:

- Vet appointments -  send additional wellness advice after a check up
- Store Proximity - promote a new store when the customer is nearby
- New Product Purchases - request feedback after purchases from a new product range

## Create the Journey

Navigate to **Journeys&#x20;**&#x61;nd click to **Create Journey&#x20;**

![](https://api.archbee.com/api/optimize/1Jp0iolWv35Z_mkI7oUiT/R4jth3dqQtiUfHyGcfzU2_image.png)

Give your journey a name - something unique so you will recognise it later. &#x20;

![](https://api.archbee.com/api/optimize/1Jp0iolWv35Z_mkI7oUiT/KCIWrckb31EUR9Fey30E2_image.png)

From the Events panel, drag the LumaCheckout events onto the journey canvas. &#x20;

![](https://api.archbee.com/api/optimize/1Jp0iolWv35Z_mkI7oUiT/86__mcoYavbf-_sudpM5B_image.png)

Now just because there are a lot of us building the same journey, let's filter to include only your customer profile record.  We can do this using a condition.   Drag a condition activity to the canvas.

![](https://api.archbee.com/api/optimize/1Jp0iolWv35Z_mkI7oUiT/-sQJpjl9ev1Ec9AjvrvJK_image.png)

Add a label for the condition and Click to **edit the expression.**

![](https://api.archbee.com/api/optimize/1Jp0iolWv35Z_mkI7oUiT/rywv9ZXLAgKoMNXozWCvt_image.png)

Search for **email&#x20;**&#x66;ield in **ExperiencePlatform/ProfileFieldGroup/profile**. Add a condition that the email equals the customer email address you've been using for the lab.  &#x20;

![](https://api.archbee.com/api/optimize/1Jp0iolWv35Z_mkI7oUiT/pv59zWUDM3optg1IJuT7e_image.png)

Click **Ok&#x20;**&#x61;nd click **Save&#x20;**&#x74;o store the condition.&#x20;

![](https://api.archbee.com/api/optimize/1Jp0iolWv35Z_mkI7oUiT/nUuH5Jm6KCgi5bhC6lVos_image.png)

Now drag the **LumaPurchase&#x20;**&#x65;vent to canvas. In the Event properties, tick the **Define the event timeout** checkbox, set the wait time to 1 hour and tick the **Set a timeout path**. Click Ok.  &#x20;

![](https://api.archbee.com/api/optimize/1Jp0iolWv35Z_mkI7oUiT/-tVFX04uInn8mSnY_TT4J_image.png)

We now have 2 possible paths that a profile might take.   One if they complete the purchase within the next hour and one if they don't.   Let's add a push notification to the timeout path.

![](https://api.archbee.com/api/optimize/1Jp0iolWv35Z_mkI7oUiT/PNe5B-VtThdINlQe0XIbD_image.png)

Change the Category to **Transactional&#x20;**&#x61;nd select the **DemoDXAppPush&#x20;**&#x63;onfiguration.  Click **Save**.   We'll come back to add the content later. &#x20;

![](https://api.archbee.com/api/optimize/1Jp0iolWv35Z_mkI7oUiT/KBJJlmuhMuL1kixQyxECn_image.png)

After the push we're going to wait for 1 day then check again whether a recent purchase has been made.   Drag a wait condition into the journey.  Leave the duration to 1 day and click **Save.&#x20;**

![](https://api.archbee.com/api/optimize/1Jp0iolWv35Z_mkI7oUiT/ESpdXSLSXHja4q-aE1Db5_image.png)

Before we send the message let's check again to make sure that they haven't made a purchase in the last 24 hours.  Perhaps they visited a store rather than shopping online.   Drag another condition activity.   Then click to edit the expression. &#x20;

![](https://api.archbee.com/api/optimize/1Jp0iolWv35Z_mkI7oUiT/VDozuzza2gVp8ZtNsebYP_image.png)

Search for Audiences in the expression editor and drag the **GPWC - Recent Purchasers&#x20;**&#x61;udience into the expression.   Click **Ok**, then **Ok** again.

![](https://api.archbee.com/api/optimize/1Jp0iolWv35Z_mkI7oUiT/BGJvosaJAFCeAB7SPxcZ7_image.png)

Update the name of the path to **Have Purchased,&#x20;**&#x74;hen tick the box to add a path for everyone who isn't part of that audience.  Label this path as **Have not yet purchased.  &#x20;**&#x4C;astly click **Save. &#x20;**

![](https://api.archbee.com/api/optimize/1Jp0iolWv35Z_mkI7oUiT/BJfWgm3g6NmSwt8_i_xf5_image.png)

Now let's add the **Email** action for those who have not yet purchased.   Leave the category as **Marketing&#x20;**&#x61;nd set the configuration to the **ma1\_apac\_hol4\_marketing**.   Click **Save**.&#x20;

![](https://api.archbee.com/api/optimize/1Jp0iolWv35Z_mkI7oUiT/ki_vyjGNmoL-E0ySN8-f-_image.png)

Your journey should now look like this.  There will be some warnings on the push and email actions as we still need to add the content to these. &#x20;

![](https://api.archbee.com/api/optimize/1Jp0iolWv35Z_mkI7oUiT/vN63Smx1H564KcRet9Wux_image.png)

## Add Push Content

Click on the **Push&#x20;**&#x6E;ode and click **Edit Content.**

![](https://api.archbee.com/api/optimize/1Jp0iolWv35Z_mkI7oUiT/IRNyW1kIA3gbEnYpstYPX_image.png)

Add a **title** and **message body.    &#x20;**

![](https://api.archbee.com/api/optimize/1Jp0iolWv35Z_mkI7oUiT/dVI-kCroPRti4mf0bQpaK_image.png)

Add an image from the Asset repository to the media component.  Once you're happy click the return arrow on the top left to return to the journey canvas. &#x20;

![](https://api.archbee.com/api/optimize/1Jp0iolWv35Z_mkI7oUiT/bh4XxfAKNrXR-Qg8KIS8N_image.png)

Finally click **Save&#x20;**&#x6F;n the action properties. &#x20;

![](https://api.archbee.com/api/optimize/1Jp0iolWv35Z_mkI7oUiT/nflKSilZk3_2UAnk1M3QA_image.png)

## Add Email Content&#x20;

Click on the **Email&#x20;**&#x6E;ode and click **Edit Content.**

![](https://api.archbee.com/api/optimize/1Jp0iolWv35Z_mkI7oUiT/pEQK5QQxFJeNqKRTo0-Dz_image.png)

Add a **Subject,&#x20;**&#x74;hen click on  **Edit email body&#x20;**&#x62;utton.

![](https://api.archbee.com/api/optimize/1Jp0iolWv35Z_mkI7oUiT/k0QusYOIR_6TP8JfjP6Oe_image.png)



Go to **saved templates** tab and select the template you created earlier. &#x20;

![](https://api.archbee.com/api/optimize/1Jp0iolWv35Z_mkI7oUiT/IuxfikGJQpLOvwXQZc4gb_image.png)

Once the preview loads, click to **Use this email**

![](https://api.archbee.com/api/optimize/1Jp0iolWv35Z_mkI7oUiT/DWlewn4FmUA0VEKPTc9TU_image.png)

Personalise the email by adding the first name.  Click into the text block and click the **Personalisation&#x20;**&#x62;utton from the toolbar. &#x20;

![](https://api.archbee.com/api/optimize/1Jp0iolWv35Z_mkI7oUiT/cZBkZ1PsbrNRLF9rR8Tnn_image.png)

Search for the **first&#x20;**&#x61;nd click to add the **Profile Attributes > Person > Full Name > First name&#x20;**&#x61;ttribute.   Click **Save&#x20;**&#x74;o insert the field.&#x20;

:::hint{type="info"}
There are a few different first name attributes defined in our schema which is why there is more than one first name option appearing in the list of available attributes. &#x20;
:::

![](https://api.archbee.com/api/optimize/1Jp0iolWv35Z_mkI7oUiT/nY2qLsp-KLd0HNWc_nhC8_image.png)

We can also include attributes from the original event that triggered the journey.   These are available under the Context Attributes menu in the Personalisation window. &#x20;

To save time we've created an expression fragment to retrieve the product name of from the cart for you.  You can add the fragment to your text content:

![](https://api.archbee.com/api/optimize/1Jp0iolWv35Z_mkI7oUiT/JCEmYOGAMCFEY9X96owWv_image.png)

Once you're happy with your content click to **Save** then click the arrows on the left to return to the journey.  &#x20;

![](https://api.archbee.com/api/optimize/1Jp0iolWv35Z_mkI7oUiT/tk1MRISBmV51bbS2QWiAY_image.png)

Click to **Save** the Email action. &#x20;

![](https://api.archbee.com/api/optimize/1Jp0iolWv35Z_mkI7oUiT/Eo53uafyBfsPqygSetbLn_image.png)

## Test the Journey&#x20;

The journey is now ready for testing.   Click the **Test mode** button to move the journey to testing mode.&#x20;

![](https://api.archbee.com/api/optimize/1Jp0iolWv35Z_mkI7oUiT/5YEABirvz9lx2DBBC9veA_image.png)

Once the journey is in test mode **Draft (test)**, you can trigger a fake event to test it out.  Click the **Trigger an event&#x20;**&#x62;utton.

![](https://api.archbee.com/api/optimize/1Jp0iolWv35Z_mkI7oUiT/8xIHwYX5Y50-8MiAgbUtf_image.png)

Switch to code view and paste the following JSON into the editor.

![](https://api.archbee.com/api/optimize/1Jp0iolWv35Z_mkI7oUiT/ipeWkazsbc8zWgxPexNCa_image.png)

```json
{
  "eventType": "commerce.checkouts",
  "commerce": {
    "checkouts": {
      "value": 1
    }
  },
  "productListItems": [
    {
      "SKU": "WS06",
      "_adobedemoamericas275": {
        "core": {
          "imageURL": "https://www.petbarn.com.au/media/catalog/product/B/u/Bundle-765.jpg?optimize=medium&fit=bounds&height=450&width=450&canvas=450:450",
          "mainCategory": "Cat"
        }
      },
      "name": "Breeders Choice Cat Litter 30L",
      "priceTotal": 29,
      "productAddMethod": "web",
      "quantity": 1
    }
  ],
  "_adobedemoamericas275": {
    "interactionDetails": {
      "core": {
        "channel": "web"
      }
    },
    "identification": {
      "core": {
          "ecid": "<your ecid goes here>"
      }
    }
  }
}

```

Retrieve the ECID from **your** customer profile - either by looking up the profile or check the profile viewer on the demo website.  &#x20;

![](https://api.archbee.com/api/optimize/1Jp0iolWv35Z_mkI7oUiT/8s6khqTBlQSiURai4ebFl_image.png)

Add **your ECID** in the event JSON to use your profile for the test:

![](https://api.archbee.com/api/optimize/1Jp0iolWv35Z_mkI7oUiT/wY4lDJS0FwhckU7zoJr01_image.png)

Click **Send** to send the test event.    All journey wait times are compressed to 10 seconds in test mode so you should receive the push notification and the email shortly. &#x20;

## Publish the Journey

Click to **Publish** the journey&#x20;

![](https://api.archbee.com/api/optimize/1Jp0iolWv35Z_mkI7oUiT/BVkPdQeK43bcPDTSOZFbM_image.png)

Confirm to publish in the popup.&#x20;

![](https://api.archbee.com/api/optimize/1Jp0iolWv35Z_mkI7oUiT/CQZyZnV_6ZEXU5GqjeBlz_image.png)

Your journey should now be **Live. &#x20;**

## Trigger your Journey

:::hint{type="info"}
Switch to your **Customer Profile** for this exercise.&#x20;
:::

Go back to the [Demo Website](docId\:Xyqvu33DE-QCWptsIxcMQ)  and add some products to the cart. &#x20;

![](https://api.archbee.com/api/optimize/1Jp0iolWv35Z_mkI7oUiT/EkJsHa-3asZErZGz7JB-C_image.png)

Click through to the **Order Summary** page but do not complete the purchase.&#x20;

![](https://api.archbee.com/api/optimize/1Jp0iolWv35Z_mkI7oUiT/_Ag9BL44647o8k34igRvD_image.png)

You can check the journey reports to see if your journey was triggered.  Live counts are shown on the journey itself or you can click to **View Report.**

![](https://api.archbee.com/api/optimize/1Jp0iolWv35Z_mkI7oUiT/UDARsoEc5Xw4Hx6GTaOKi_image.png)

Switch to **Last 24 hours&#x20;**&#x72;eport and explore the reporting

![](https://api.archbee.com/api/optimize/1Jp0iolWv35Z_mkI7oUiT/VUcebYerFUXqoMJAlfjgE_image.png)



:::hint{type="success"}
You've now created a real-time journey, tested it and triggered it from the customer website. &#x20;
:::

