

**End of support notice:** On October 30, 2026, AWS will end support for Amazon Pinpoint. After October 30, 2026, you will no longer be able to access the Amazon Pinpoint console or Amazon Pinpoint resources (endpoints, segments, campaigns, journeys, and analytics). For more information, see [Amazon Pinpoint end of support](https://docs.aws.amazon.com/console/pinpoint/migration-guide). **Note:** APIs related to SMS, voice, mobile push, OTP, and phone number validate are not impacted by this change and are supported by AWS End User Messaging.

# Amazon Pinpoint journeys
Journeys

In Amazon Pinpoint, a *journey* is a customized, multi-step engagement experience. When you create a journey, you start by choosing a segment that defines which customers will participate in the journey. After that, you add the activities that customers pass through on their journeys. Activities can include sending messages or splitting customers into groups based on their attributes or behaviors.

There are several different types of journey activities, each with its own specific purpose. For example, you can add a **Send email** activity to your journey. When a customer arrives on this type of activity, they receive an email message. Another type of journey activity is the **Multivariate split** activity. When customers arrive on this type of activity, they are separated into multiple paths based on their segment membership or their interactions with previous journey activities. You can learn more about journey activities in [Take a tour of journeys](journeys-tour.md).

This chapter contains conceptual information about journeys in Amazon Pinpoint. It also contains information about creating, managing, testing, and publishing your journeys.

**Topics**
+ [

# Take a tour of journeys
](journeys-tour.md)
+ [

# Create a journey
](journeys-create.md)
+ [

# Set up the journey entry activity
](journeys-entry-activity.md)
+ [

# Add activities to the journey
](journeys-add-activities.md)
+ [

# Review and test a journey
](journeys-review-test.md)
+ [

# Publish a journey
](journeys-publish.md)
+ [

# Pause, resume, or stop a journey
](journeys-pause-stop.md)
+ [

# View journey metrics
](journeys-metrics.md)
+ [

# Tips and best practices for journeys
](journeys-best-practices.md)
+ [

# Troubleshooting journeys
](journeys-troubleshooting.md)

# Take a tour of journeys


Journeys includes some new concepts and terminology that you might not be familiar with. This topic explores these concepts in detail.

## Journeys terminology


**Journey workspace**  
The area of the journey page where you create your journey by adding activities.

**Activity**  
A step in a journey. Different things can happen when participants arrive on different types of activities. In Amazon Pinpoint, you can create the following types of activities:    
**Send an email**  
When a participant arrives on a **Send an email** activity, Amazon Pinpoint sends them an email. When you create a **Send an email** activity, you specify an [email template](message-templates-creating-email.md) to use for the email. Email templates can include message variables, helping you to create a more personalized experience.  
**Send a push notification**  
When a participant arrives on a **Send a push notification** activity, Amazon Pinpoint immediately sends a push notification to the user's device. When you create a **Send a push notification** activity, you will choose the [push notification template](message-templates-creating-push.md) to use. Push notification templates can include messages variables, helping you to create a more personalized experience.  
**Send an SMS message**  
When a participant arrives on a **Send an SMS message** activity, Amazon Pinpoint immediately sends an SMS notification to the user's device. When you create a **Send an SMS notification** activity, you will choose the [SMS template](message-templates-creating-sms.md) to use. SMS templates can include messages variables, helping you to create a more personalized experience.  
**Send through a custom channel**  
Send your message through one of your custom channels. For example, you can use custom channels to send messages through third-party services such as WhatsApp or Facebook Messenger. Amazon Pinpoint immediately sends a notification using that service to the user's device using either an AWS Lambda function or a webhook. For more information about creating custom channels, see [Custom channels in Amazon Pinpoint](channels-custom.md).  
**Wait**  
When a participant arrives on a **Wait** activity, they remain on that activity until a certain date or for a specific amount of time.  
**Yes/No split**  
Sends participants down one of two paths based on criteria that you define. For example, you can send all participants who read an email down one path, and send everyone else down the other path.  
**Multivariate split**  
Sends participants down one of up to four paths, based on criteria that you define. Participants who don't meet any of the criteria proceed down an *Else path*.  
**Holdout**  
Ends the journey for a specified percentage of participants.  
**Random split**  
Randomly sends participants down one of up to five paths.

**Path**  
A connector that joins one activity to another. A split activity might have several paths.

**Participant**  
A person who is traveling through the activities in a journey.

## Parts of the journeys interface


This section contains information about the components of the journeys interface. When you create or edit a journey, you see the journey workspace. The following image shows an example of the journey workspace.

![\[\]](http://docs.aws.amazon.com/pinpoint/latest/userguide/images/journeys-workspace.png)


The following table includes descriptions of several of the buttons that appear in the journey workspace.


****  

| Appearance | Button name | Description | 
| --- | --- | --- | 
| ![\[\]](http://docs.aws.amazon.com/pinpoint/latest/userguide/images/journeys-info-button.png) | **Info** | Opens the help panel, which shows additional information about individual journey activities. | 
| ![\[\]](http://docs.aws.amazon.com/pinpoint/latest/userguide/images/journeys-delete-action-button.png) | **Delete activity** | Deletes the highlighted activity. | 
| ![\[\]](http://docs.aws.amazon.com/pinpoint/latest/userguide/images/journeys-undo-button.png) | **Undo** | Reverts the most recent action. | 
| ![\[\]](http://docs.aws.amazon.com/pinpoint/latest/userguide/images/journeys-redo-button.png) | **Redo** | Restores an action that was previously undone by using the **Undo** button. | 
| ![\[\]](http://docs.aws.amazon.com/pinpoint/latest/userguide/images/journeys-center-button.png) | **Center** | Moves to the top of the journey and centers the **Journey entry** activity on the journey workspace. | 
| ![\[\]](http://docs.aws.amazon.com/pinpoint/latest/userguide/images/journeys-zoom-out-button.png) | **Zoom out** | Reduces the size of objects in the journey workspace. | 
| ![\[\]](http://docs.aws.amazon.com/pinpoint/latest/userguide/images/journeys-zoom-in-button.png) | **Zoom in** | Increases the size of objects in the journey workspace. | 
| ![\[\]](http://docs.aws.amazon.com/pinpoint/latest/userguide/images/journeys-add-activity.png) | **Add activity** | This button appears at every point where you can insert another step in the journey. When you choose this button, you see a menu that lets you choose an activity type. | 
| ![\[\]](http://docs.aws.amazon.com/pinpoint/latest/userguide/images/journeys-feedback-button.png) | **Feedback** | A quick way to provide feedback about your experience using journeys. We review all of the feedback that we receive through this button. We might contact you for additional information if we have any questions. | 

# Create a journey


You can use the Amazon Pinpoint console to create powerful journeys through a graphical editor. The first step in building your journey is to create and configure it. You can configure the journey to begin immediately, or at a certain date and time. You can also configure it to end at a specific date and time.

**To configure a journey**

1. On the **All projects** page, choose the Amazon Pinpoint project that you want to create a journey in.
**Note**  
In Amazon Pinpoint, segments and endpoints are unique to each project. The project that you choose should contain the segments and endpoints that you want to engage with this journey.

1. In the navigation pane, choose **Journeys**.

1. Choose **Create journey**. The journey workspace appears.

1. On the **Actions** menu, choose **Settings**. The **Journey Settings** dialog box appears. An example of this dialog box is shown in the following image.  
![\[\]](http://docs.aws.amazon.com/pinpoint/latest/userguide/images/journeys-settings.png)

1. In the **Journey Settings** dialog box, do the following:

   1. For **Journey title**, enter a name that describes the journey.

   1. (Optional) For **Journey schedule**, enter a **Start date and time** and **End date and time**. If you don't enter a start date, customers enter the journey 5 minutes after you launch it. If you don't enter an end date, the journey runs continuously for up to 3600 days (approximately 120 months).

   1. (Optional) For **Time zone**, choose the time zone that the **Start date and time** and **End date and time** should be based on. By default, Amazon Pinpoint chooses a time zone from this list based on your location. You only need to complete this step if you set a start date or end date.

   1. For **When to send** choose either: 
      + **Use the same time zone as journey start and end** – To use the journey's **Time zone**, **Start date and time**, and **End date and time** when sending messages. 
**Tip**  
Only send messages to recipients during business hours, see [Send at appropriate times](https://docs.aws.amazon.com//sms-voice/latest/userguide/best-practices.html#best-practices-sms-appropriate-times) in the *AWS End User Messaging SMS User Guide*. If recipients are multiple time zones away from the Journey's **Time zone** they could receive messages outside of business hours. 
      + **Recipient's local time zone** – To automatically adjust the sending time to the time zone value in the endpoint's `Demographic.Timezone` attribute. 
**Important**  
 An endpoint without a `Demographic.Timezone` attribute isn't included in the journey. Use **Time zone estimation** for endpoints without a `Demographic.Timezone` attribute to estimate the endpoints time zone and include it in the journey. 
**Recipient's local time zone** isn't supported for event-triggered journeys. For event-triggered journeys, time zone estimation is still supported for time zone related features like *quiet time*.

   1.  Under **Time zone estimation** choose:
**Note**  
Time zone estimation is used for estimating a recipient's local time zone that is used for journey scheduling and quiet time.

      1. **No time zone estimation (default)** – Time zone estimation isn't performed and Amazon Pinpoint uses the value in the `Demographic.Timezone` attribute. 

      1. **Estimate by using phone number (for example area code)** – The geographic information of the endpoints phone number and country are used to estimate the time zone. The `Endpoint.Address` attribute must be a phone number and `Endpoint.Location.Country` attribute must have a value. For more information about the `Endpoint.Address` and `Endpoint.Location.Country` attributes, see [Endpoint](https://docs.aws.amazon.com/pinpoint/latest/apireference/apps-application-id-endpoints-endpoint-id.html) in the *Amazon Pinpoint API Reference.*

      1. **Estimate by using region (for example zip or postal code)** – The endpoints country and postal code are used to estimate the time zone. Both the `Endpoint.Location.PostalCode` and `Endpoint.Location.Country` attribute must have a value. For more information about the `Endpoint.Location.PostalCode` attribute, see [Endpoint](https://docs.aws.amazon.com/pinpoint/latest/apireference/apps-application-id-endpoints-endpoint-id.html) in the *Amazon Pinpoint API Reference.*
**Note**  
Postal code estimation is only supported in the United States, United Kingdom, Australia, New Zealand, Canada, France, Italy, Spain, Germany, and in AWS Regions where Amazon Pinpoint is available. Time zone estimation isn't supported in AWS GovCloud (US-West).

      1. **Estimate by using phone number and region** – Use both **Estimate by using phone number (for example area code)** and **Estimate by using region (for example zip or postal code)** to estimate the recipients time zone.

         For more information about time zone processing rules, see [Time zone estimation](journeys-best-practices.md#time-zone-estimation).
**Important**  
**Time zone estimation** is only performed on endpoints that don't have a value for the `Demographic.Timezone` attribute. If **Time zone estimation** is unable to estimate a time zone or the estimated time zone isn't part of the `Endpoint.Location.Country`, then the endpoint will not be added to the journey. For more information, see [Time zone estimation](journeys-best-practices.md#time-zone-estimation).

1. Under **Journey limits (advanced)**, set options for message processing. For example, this might be changing the number of journey messages per second or changing the number of entries per endpoint. Endpoints will only re-enter a journey if allowed by limits. 
   + **Maximum daily messages per endpoint** – Choose **Override default setting** to override the maximum daily message setting for the project that contains this journey. If you specify a value in this section, Amazon Pinpoint limits the number of messages that are sent to each individual endpoint.  
![\[The text box for the Maximum daily messages per endpoint value and how to override it.\]](http://docs.aws.amazon.com/pinpoint/latest/userguide/images/journeys-max-daily-endpoint.png)
   + **Maximum number of messages an endpoint can receive from this journey** – Choose **Override default setting** to override the maximum messages an endpoint can receive from this journey. The default setting is 0, which means that there's no limit on the number of messages that endpoints in the journey can receive. When you enable this feature, other limits (such as **Maximum daily messages per endpoint**) still apply.  
![\[The text box for the maximum number of messages an endpoint can receive and how to override it.\]](http://docs.aws.amazon.com/pinpoint/latest/userguide/images/journeys-max-messages-per-endpoint.png)
   + **Maximum number of journey messages per second** – Choose **Override default setting** to override the maximum messages per second setting for the project that contains this journey. If you specify a value in this section, Amazon Pinpoint limits the number of messages that the journey can send each second. The value that you specify should be less than or equal to the maximum sending rate for your account. You can find the maximum sending rate for your account on the Email settings page on the Amazon Pinpoint console.  
![\[The text box for the Maximum number of journey messages per second value and how to override it.\]](http://docs.aws.amazon.com/pinpoint/latest/userguide/images/journeys-max-journey-second.png)
   + **Maximum entries per endpoint** – Choose this setting to override the maximum entry setting for the project that contains this journey. If you specify a value in this section, Amazon Pinpoint limits the number of times that a participant can enter the journey. For example, if you specify a value greater than 1, a participant could enter a journey, complete several activities in the journey, arrive at an **End** activity, and start the journey again. If a participant is eligible for a journey, but they've already entered the journey the maximum number of times, they are prevented from entering the journey again. For example, if you have a maximum entry endpoint limit of **2**, and a participant has already entered and exited the journey two times, they will not re-enter that journey again.

     If you choose a value greater than **1** for the default, you can then choose **Endpoint re-entry interval**, setting how long to wait before an endpoint re-enters a journey. For example, you might set a re-entry interval if you want to space out messages sent to your users, thus preventing your users from being spammed.  
![\[The text box for the maximum entries per endpoint value, Endpoint re-entry interval and how to override it.\]](http://docs.aws.amazon.com/pinpoint/latest/userguide/images/journeys-max-entries-endpoint.png)
   + **Maximum number of messages across all journeys within a time frame**

     Use this setting to specify the maximum number of times a message can be sent to a single endpoint within the specified **Timeframe**. For example, if you want to send a maximum of 3 messages within a **Timeframe** of 7 days to each endpoint. The default setting is 0, which means that there's no limit on the number of messages that endpoints in the journey can receive. 
   + **Timeframe**

     The number of days applied to the **Maximum number of messages across all journeys within a time frame** if not set to 0. The default setting is 0, which means that there's no limit on the number of days that endpoints in the journey can receive.   
![\[The text box for the Maximum number of messages across all journeys within a time frame value.\]](http://docs.aws.amazon.com/pinpoint/latest/userguide/images/journeys-max-message-time-frame.png)

1. Choose **Confirm**

## (Optional) Configuring journey schedule settings


When you create a journey, you can specify a sending schedule for that journey. There are two schedule settings that you can configure. The first setting is *do not send time*, which refers to a range of hours during which Amazon Pinpoint won't deliver messages to journey participants. The second setting is *sending time*, which refers to ranges of hours during which Amazon Pinpoint will deliver messages to journey participants. The *sending time* setting allows for more granular customization of time and channels than *do not send time*. These settings use each endpoint's time zone settings. To use journey schedule settings, each of the endpoints in your journey must include the `Demographic.Timezone` attribute.

**Important**  
To use the **Use recipient's local time zone** settings, each of the endpoints in your journey must include the `Demographic.Timezone` attribute. A participant won't be included in the journey if you choose this option and the participant's endpoint record doesn't specify a time zone.

You can configure the schedule settings for a journey by choosing the **Schedule** button at the top of the journey workspace. Then, on the **Schedule settings** window, specify the **Start time** and **End time** for *Do not send time*. You can also choose to enable the following settings:
+ **Resume sending after quiet times** – When you enable this feature, Amazon Pinpoint holds any messages that would have been sent during *Do not send time*, and then delivers them when *Do not send time* ends. If you don't enable this option, messages that would have been sent are dropped and not sent.
+ **Configure sending time to define each day of a week** – Enable this option to configure different sending time hours for different days of the week. For example, if your *Do not send time* is scheduled between 8:00 AM and 8:00 PM (20:00), you can set sending time for Sunday between 8:00 AM and end at 6:00 PM (18:00), and set the sending time for all other days to begin at 8:00 AM and end at 8:00 PM (20:00). You can add up to four time ranges per day.

  You can also specify exceptions for specific days of the year. For example, if you want to make sure that you don't send any messages on New Year's Day, you can create an exception that begins on December 31st at 8:00 PM and ends on January 2nd at 8:00 AM. You can add up to 20 exceptions.
**Note**  
The hours that you specify for days of the week or for exceptions must respect the quiet time hours that you specify for the journey. In other words, if you set the journey quiet time hours to 8:00 PM through 8:00 AM, you can't set the quiet time hours for Monday to 8:30 PM through 7:30 AM.
+ **Apply this schedule to all channels** – Enable this feature to automatically set the sending time setting for each channel to equal the **Start time** and **End time** that you specified for the *Do not send time* setting. If you don't enable this feature, you can define different sending time hours for different channels. For example, you can configure the email channel so that messages are sent from 6:00 AM to 10:00 PM (22:00), and configure the SMS channel so that messages are sent from 8:00 AM to 8:00 PM (20:00).

**Next**: [Set up the journey entry activity](journeys-entry-activity.md)

# Set up the journey entry activity


After you create and configure the journey, you must configure the *Journey entry* activity. This activity determines how participants are added to the journey. There are two ways to add participants to a journey:
+ **When an event occurs** – You can configure the journey so that participants are inserted into a journey dynamically, when specific events occur. For example, you can use this option to add participants to a journey when they complete a sign-up workflow. For more information, see [Add participants when they perform an activity](#journeys-entry-activity-event-triggered).
**Important**  
Contact Center activities aren't supported in event triggered journeys.
+ **Based on segment membership** – You can insert the members of an existing segment directly into the journey. The journey can be configured to periodically re-evaluate the segment to determine if there are new segment members to add. For more information, see [Add participants from a segment](#journeys-entry-activity-segment-based).

**Note**  
*Participant* refers to either a user and their endpoints or individual endpoints, depending on the data. If the journey entry segment consists of user-level data (user\$1id), then the *participant* is the user and all the endpoints associated with the user progress through the journey together. If the journey entry segment consists of endpoint-level data (no user\$1id), then the *participant* is the individual endpoints.

## Add participants when they perform an activity


This event-triggered journey type adds participants based on a chosen event. You choose an event, such as music downloads, and then choose the event attributes to further define the journey event. This might be downloading music from a specific artist. When a user performs any of the activities described by the event, they become participants in the journey.

 **To add participants when they perform an activity** 

1. Choose **Add participants when they perform an activity** if it's not already chosen.  
![\[\]](http://docs.aws.amazon.com/pinpoint/latest/userguide/images/journeys-entry-activity-event.png)

1. For **Events**, choose an event from a list of events or type a new event to add it. For example, you might want to trigger a journey when a user downloads a particular artist from your music service. Let's call this event *artist.download*. A journey can include only one event.

   Events can be submitted by using any of the following:
   + The PutEvents API. See [Events ](https://docs.aws.amazon.com/pinpoint/latest/apireference/apps-application-id-events.html) in the Amazon Pinpoint API Reference
   + AWS Mobile SDK for Android: version 2.7.2 or later
   + AWS Mobile SDK for iOS: version 2.6.30 or later
**Note**  
If you're using either of the AWS Mobile SDKs you will be limited to a set of events. For the list of supported events, see [App events ](https://docs.aws.amazon.com/pinpoint/latest/developerguide/event-streams-data-app.html) in the Amazon Pinpoint Developer Guide.

1. (Optional) An event attribute is a specific piece of information used to refine an event. It's composed of an attribute name and a value. We'll narrow down the *artist.download* by adding an *artistName* attribute For **Attribute**, choose the attribute from the list. Because you want to add participants based on specific a specific artist, you'd choose *artistName* as the **Attribute**, and then choose a specific artist for the **Value** – for example, *Bruce Springsteen*. Your journey event now adds any participants from the *artist.download* event and the *artistName* is *Bruce Springsteen*.

   If you want to refine the journey even further, add additional attributes and values by choosing **Add new attribute** for each attribute that you want to add. If an attribute has multiple possible values, you must add each attribute and value pair separately. For *artist.download* event, you can now add in an additional *artistName* attribute, *Alicia Keys*. Choose **Add new attribute**, again choose *artistName* as the attribute, and then choose *Alicia Keys* for the **Value**. When you use the same attribute multiple times with different values, Amazon Pinpoint processes the journey attributes using "or" between the values. Your journey event now adds any participants from the *artist.download* event, and the *artistName* is either *Bruce Springsteen* or *Alicia Keys*.

   You can add a combination of attributes with multiple values in addition to attributes with only a single value. 

1. (Optional) Choose an event **Metric**. This is an event that typically uses a range of numbers, such as a duration or a cost. After entering the event, choose an **Operator**:
   +  **is equal to** 
   +  **is greater than** 
   +  **is less than** 
   +  **is greater than or equal to** 
   +  **is less than or equal to** 

   Enter the **Value** for the operator. Only numeric values are supported. Participants are added based on the metric, operator, and value. For the *artist.download* event you might add a *songLength* metric where you add participants when they download any song by either *Bruce Springsteen* or *Alicia Keys* and where the *songLength* is greater than or equal to *500 seconds*.
**Note**  
You can't use the same metric with multiple values.

1. (Optional) Select the dynamic segment to use for the journey. You can have only one previously defined segment per journey entry. In addition, for any endpoint to enter into the journey, that endpoint must be part of the chosen segment. If you want to build a new segment for this journey, you can build that segment through the Amazon Pinpoint console. For more information about segments, see [Building segments](https://docs.aws.amazon.com/pinpoint/latest/userguide/segments-building.html).
**Note**  
Imported segments and dynamic segments based on an imported segment aren't supported. The dropdown list indicates the type of segment. While a segment displayed in the dropdown list might indicate that it's dynamic, if it's based on an imported segment, you will get an error.

1. (Optional) For **Description**, enter text that describes the activity. When you save the activity, this text appears as its label. 

1. Choose **Save**.

## Add participants from a segment


For this type of journey, you choose a segment to participate in the journey. You can optionally configure the Journey entry activity to add new journey participants by periodically searching for new segment members.

 **To add participants from a segment** 

1. Choose **Add participants from a segment**.   
![\[\]](http://docs.aws.amazon.com/pinpoint/latest/userguide/images/journeys-entry-activity.png)

1. For **Segments**, choose the segment that you want to add to a journey.
**Tip**  
You can include only one segment in the **Journey entry** activity. If you need to add more segments, you can create a new segment that includes all of the segments that you want to add to the journey. Then, later in the journey, you can use a multivariate split activity to divide journey participants into separate groups based on their segment membership.

1. (Optional) For **Specify how often to add new segment members**, choose how often the segment membership should be evaluated and refreshed. You can choose **Never**, or you can choose to check on a schedule. For example, if you choose **Once every 12 hours**, Amazon Pinpoint checks for new segment members every 12 hours. If new segment members are found during one of these checks, they are added to the journey. Existing endpoints are also re-evaluated. If the **Maximum entries per interval** is greater than 1, then existing endpoints also re-enter the journey.  
![\[\]](http://docs.aws.amazon.com/pinpoint/latest/userguide/images/journeys-entry-activity-add.png)

   You can also optionally choose **Refresh on segment update**. If you enable this feature, new endpoints are added to the journey when the segment is updated. For this feature to work as expected, you must also choose a refresh interval.

   The following table describes how changes to segment membership are handled in various situations.  
****    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pinpoint/latest/userguide/journeys-entry-activity.html)

1. (Optional) For **Description**, enter text that describes the activity. When you save the activity, this text appears as its label.

1. Choose **Save**. When you finish setting up the journey entry activity, you can begin to [add other activities to the journey](journeys-add-activities.md). 

**Next**: [Add activities to the journey](journeys-add-activities.md)

# Add activities to the journey


Activities are the most important parts of any journey. Activities represent the steps that are applied to journey participants. You can use activities to send messages to journey participants across a variety of channels, or to split them into smaller groups, or to wait for a period of time. There are several different types of activities that you can add to a journey. This section provides basic information about adding activities to a journey. For detailed information about setting up each type of activity, see [Setting up journey activities](#journeys-add-activities-procedures).

**Note**  
An exit journey element is added to the journey flow after reviewing and publishing your journey.

## Setting up journey activities


Each type of journey activity has separate components that you must configure. The following sections provide additional information about setting up each type of activity.

**Topics**
+ [

### Set up an email activity
](#journeys-add-activities-procedures-email)
+ [

### Set up a push notification activity
](#journeys-add-activities-procedures-push)
+ [

### Set up an SMS message activity
](#journeys-add-activities-procedures-sms)
+ [

### Set up a contact center activity
](#journeys-add-activities-procedures-contact-center)
+ [

### Set up a custom message channel activity
](#journeys-add-activities-procedures-custom)
+ [

### Set up a wait activity
](#journeys-add-activities-procedures-wait)
+ [

### Set up a yes/no split activity
](#journeys-add-activities-procedures-yes-no-split)
+ [

### Set up a multivariate split activity
](#journeys-add-activities-procedures-multivariate-split)
+ [

### Set up a holdout activity
](#journeys-add-activities-procedures-holdout)
+ [

### Set up a random split activity
](#journeys-add-activities-procedures-random-split)

### Set up an email activity


When a journey participant arrives on a **Send email** activity, Amazon Pinpoint sends them an email immediately. Before you can configure an email activity, you must create an email template. For more information about creating email templates, see [Creating email templates](message-templates-creating-email.md).

**To set up an email activity**  
![\[\]](http://docs.aws.amazon.com/pinpoint/latest/userguide/images/journeys-email-activity.png)

1. Choose **Add activity**.

1. For **Add an activity**, choose **Send an email**.

1. Under **Select an email template to use for this activity**, select **Choose an email template**, and then choose the email template for the message that you want participants to receive. Then, under **Template version behavior**, specify whether you want Amazon Pinpoint to automatically update the message to include any changes that you might make to the template before the message is sent. To learn more about these options, see [Managing versions of message templates](message-templates-versioning.md).
**Tip**  
You can send yourself a preview of the message, even if your Amazon Pinpoint account doesn't contain an endpoint record for your email address. To send a preview, choose **Send a test message**.

1. For **Sender email address**, choose the email address that you want to send the message from. This list contains all the verified email addresses for your Amazon Pinpoint account in the current AWS Region. For information about verifying additional email addresses or domains, see [Verifying email identities](channels-email-manage-verify.md).
**Tip**  
To display a friendly sender name for the message, choose the default email address for the project. A *friendly sender name* is the name that appears in participants' email clients when they receive the message. To change the default email address for the project or the friendly sender name for that address, update the project's settings for the email channel. To do this, choose **Settings** in the left navigation pane, and then choose **Email**. Then, enter the settings that you want.

1. (Optional) For **Description**, enter text that describes the purpose of the activity. When you save the activity, this text appears as its label.

1. When you finish, choose **Save**.

### Set up a push notification activity


When a journey participant arrives on a **Send a push notification** activity, Amazon Pinpoint sends them a push notification immediately. Before you can configure a push notification activity, you must create a push notification template. For more information about creating push notification templates, see [Creating push notification templates](message-templates-creating-push.md).

**Note**  
To send push notifications to journey participants, your app must be integrated with an AWS SDK. For more information, see [Handling Push Notifications](https://docs.aws.amazon.com/pinpoint/latest/developerguide/integrate-push.html) in the *Amazon Pinpoint Developer Guide*.

**To set up a push notification activity**

1. Choose **Add activity**.

1. For **Add an activity**, choose **Send a push notification**.

1. Under **Choose a push notification template for this activity**, select **Choose a push notification template**, and then choose the push notification template for the message that you want participants to receive. Then, under **Template version behavior**, specify whether you want Amazon Pinpoint to use the template version that is currently designated as active or the template version that was active when the journey was created. To learn more about these options, see [Managing versions of message templates](message-templates-versioning.md).
**Tip**  
You can send yourself a preview of the message, even if your Amazon Pinpoint account doesn't contain an endpoint ID or device token that you specify. To send a preview, choose **Send a test message**.

1. (Optional) For **Time to live**, specify whether you want Amazon Pinpoint to use the default time to live (TTL) value or a custom value for each push notification service. By default, Amazon Pinpoint uses the maximum TTL value of each respective push notification service. You can also specify a custom TTL value for all push notification services. If the message delivery fails, the push notification service attempts to deliver the message for the amount of time that you specify in this setting. For information about specific time to live values, see [Messages](https://docs.aws.amazon.com/pinpoint/latest/apireference/apps-application-id-messages.html) in the *Amazon Pinpoint API Reference*.

1. (Optional) For **Description**, enter text that describes the purpose of the activity. When you save the activity, this text appears as its label.

1. When you finish, choose **Save**.  
![\[\]](http://docs.aws.amazon.com/pinpoint/latest/userguide/images/journeys-create-step-3-add-activities-procedures-push.png)

### Set up an SMS message activity


When a journey participant arrives on a **Send an SMS message** activity, Amazon Pinpoint sends them an SMS message immediately. Before you can configure an SMS activity, you must create an SMS template. For more information about creating SMS templates, see [Creating SMS templates](message-templates-creating-sms.md).

**To set up an SMS message activity**

1. Choose **Add activity**.

1. For **Add an activity**, choose **Send an SMS message**.

1. Under **Choose an SMS message template for this activity**, select **Choose an SMS message template**, and then choose the SMS message template for the message that you want participants to receive. Then, under **Template version behavior**, specify whether you want Amazon Pinpoint to use the template version that's currently designated as active or the template version that was active when the journey was created. To learn more about these options, see [Managing versions of message templates](message-templates-versioning.md).

1. Choose **Send a test message** if you want to first test this activity. Test messages don't count against your daily sending limits, but you are charged for each message. When sending a test message, you're prompted to optionally choose the origination number but required to choose a destination number.
**Note**  
If your account is in the SMS sandbox, you can only send a test message to one of your verified destination numbers. If the destination number doesn't appear in the list, choose **Manage numbers** to add that new number. For more information about verifying destination numbers, see [SMS sandbox ](https://docs.aws.amazon.com//sms-voice/latest/userguide/sandbox.html#sandbox-sms) in the *AWS End User Messaging SMS User Guide*.

1. For **Message type**, choose one of the following:
   + **Promotional** – Non-critical messages, such as marketing messages.
   + **Transactional** – Critical messages that support customer transactions, such as one-time passwords for multi-factor authentication.

1. (Optional) If necessary, expand the **Additional settings** section to configure optional SMS-related settings. The **Additional settings** section contains two tabs:
   + On the **SMS Settings** tab you can configure the following settings:
     + **Origination phone number** – The phone number that messages will be sent from. This list contains all of the dedicated phone numbers that are present in your Amazon Pinpoint account.
     + **Sender ID** – An alphanumeric ID that identifies the sender of the SMS message. The Sender ID appears on your recipients' devices only if the recipient is in a country where Sender IDs are supported. If you specify a Sender ID in a journey activity, it overrides the default value for your account. To learn more about which countries support Sender IDs, see [Supported countries and regions (SMS channel) ](https://docs.aws.amazon.com//sms-voice/latest/userguide/phone-numbers-sms-by-country.html) in the *AWS End User Messaging SMS User Guide*. 
**Note**  
You only need to set one of these values. If you specify both values, Amazon Pinpoint attempts to send the message using the dedicated origination phone number.
   + On the **Regulatory Settings** tab, you can configure settings that apply specifically to sending messages to recipients in India. If you send messages to recipients in India, you must specify a Sender ID and both of the following values:
     + **Entity ID** – The ID that's associated with your company or brand, provided by TRAI during the Sender ID registration process.
     + **Template ID** – The ID that's associated with your message template. This value is also provided by TRAI during the Sender ID registration process.
**Note**  
If you don't send messages to recipients in India, or if you send messages to India using International Long-Distance Operator routes, you don't need to specify the **Entity ID** and **Template ID** values.  
For more information about the regulatory requirements for sending SMS messages to India, see [India sender ID registration process ](https://docs.aws.amazon.com//sms-voice/latest/userguide/registrations-sms-senderid-india.html) in the *AWS End User Messaging SMS User Guide*.

1. (Optional) For **Description**, enter text that describes the purpose of the activity. When you save the activity, this text appears as its label.

1. When you finish, choose **Save**.  
![\[\]](http://docs.aws.amazon.com/pinpoint/latest/userguide/images/journeys-create-step-3-add-activities-procedures-sms.png)

### Set up a contact center activity


When a journey participant arrives on a **Send through a contact center** activity, Amazon Pinpoint places them into an Amazon Connect outbound campaigns (referred to in Amazon Pinpoint as an *Amazon Connect campaign*). You can configure this activity type to dial the journey participant's phone number and either connect them to an agent, or play a voice message.

Contact center activities behave differently when compared to other types of journey activities. When a journey participant arrives on a **Send through a contact center** activity, all of the preceding activities between the contact center activity and previous messaging activity that involve a **Multivariate split** or **Yes/no split** activities are reevaluated immediately before the participant's phone number is entered into the Amazon Connect queue to be dialed. If there is no messaging activity before the contact center activity, then the journey entry criteria is also reevaluated. 

The purpose of this reevaluation process is to make sure that the journey participant still qualifies to receive a phone call at the moment the phone call is queued. This behavior is useful because the participant's attributes could change between the time when they arrive on the contact center activity and the time when an agent becomes available to call them. This is the default behavior and can't be turned off. 

The journey reevaluation stores the evaluation result of the participant to be dialed with a 10 second timer. A participant will be reevaluated once every 10 seconds and the results stored until the next reevaluation. This means that if the time between an update and dial is less than 10 seconds, an evaluation may not occur with the latest version of the participant.

For example, assume that a journey contains an entry step that adds members of a specific segment into the journey, and a **Yes/no split** activity that checks to see if the journey participant has completed a specific type of transaction. In this scenario, the "yes" branch of the yes/no split (for participants who complete the transaction) sends a follow-up email, while the "no" branch (for participants who didn't complete the transaction) leads to a contact center activity. Participants who arrive on the contact center activity remain there until the call is queued successfully to Amazon Connect. When an agent becomes available, the journey reevaluates the participant's attributes against the criteria in the journey entry step and the yes/no split activity.

**Important**  
Contact Center activities are not supported in event triggered journeys.

#### Prerequisites


Before you can add a contact center activity to a journey, you must do the following:
+ Create an Amazon Connect account and instance.
+ Use Amazon AppIntegrations to enable high-volume outbound campaigns for your Amazon Connect instance.
+ Enable your Amazon Connect instance for outbound calling.
+ Create a dedicated outbound communications queue to handle any contacts that will be routed to agents because of the campaign. The queue must be assigned to the agent's routing profile.
+ Create and publish a contact flow that includes a **Check call progress** block. This block enables you to branch based on whether a person answered the phone, for example, or a voice mail was detected.
+ Make sure that the Amazon Connect queue you plan to use has an outbound number defined in the queue.
+ In IAM, create a policy and role that allow Amazon Connect to send messages through Amazon Pinpoint.
**Note**  
 The **ResourceID** roles specified for **ConnectCampaignExecutionRoleArn** support IAM [service-roles](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_roles_terms-and-concepts.html#iam-term-service-role) and [service-linked-roles](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html#iam-term-service-linked-role). For more information, see [IAM identifiers](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html) in the *AWS Identity and Access Management User Guide*. 
**Important**  
Deletions or misconfiguration of IAM roles and resource access policies for published journeys can cause Amazon Pinpoint to halt outbound dials until the IAM configuration is reinstated with the original set of roles, access policies, and permissions.

You can find procedures for completing these tasks in steps 1–5 of [Make predictive and progressive calls using Amazon Connect outbound](https://aws.amazon.com/blogs/contact-center/make-predictive-and-progressive-calls-using-amazon-connect-high-volume-outbound-communications/) on the AWS Contact Center blog. 

#### Setting up a contact center activity


 You can connect your journey to an existing Amazon Connect outbound campaign, or click to build an Amazon Connect outbound campaign.

Note the following considerations when using contact center activities in Amazon Pinpoint:
+ You can only use three contact center activities in a Journey. 
+ You can only use one Amazon Connect campaign per journey. If a journey contains multiple contact center activities, and you change the Amazon Connect campaign for one activity, the change is reflected in all other contact center activities in the same journey.
+ You can use a single Amazon Connect campaign in multiple journeys. Amazon Pinpoint shows a warning if the Amazon Connect campaign is already in use when you publish the journey.
+ Your phone numbers of your customers must exist in Amazon Pinpoint as voice endpoints.
+ Endpoint phone numbers must be in E.164 format. For more information, see [E.164: The international public telecommunication numbering plan](https://www.itu.int/rec/T-REC-E.164/en) on the International Telecommunications Union website.

##### Using an existing Amazon Connect campaign


1. Choose **Add activity**.

1. For **Add an activity**, choose **Send through a contact center**.

1. Choose the **Amazon Connect instance** that you want to use.

1. Choose the **Amazon Connect outbound campaign** from the dropdown list. 

1. (Optional) You can choose **Build an Amazon Connect outbound campaign**, which directs you to Amazon Connect.

1. For **IAM role**, complete one of the following steps:

   1. If you want to have Amazon Pinpoint create a role that allows it to pass phone numbers to Amazon Connect, select **Automatically create a role**. Then, for IAM role, enter a unique name for the new role that you're creating.

   1. If you've already created an IAM role that allows Amazon Pinpoint to pass phone numbers to Amazon Connect, select **Choose an existing role**. Then, for IAM role, select a role that contains the appropriate permissions.

1. (Optional) In **Description**, describe the purpose of the activity. When you save the activity, this text appears as the activity's label. 

1. When you finish, choose **Save**.  
![\[\]](http://docs.aws.amazon.com/pinpoint/latest/userguide/images/journeys-create-step-3-add-activities-procedures-contact-center-option-1.png)

### Set up a custom message channel activity


When a journey participant arrives on a **Send through a custom channel** activity, Amazon Pinpoint sends information about the participant to an AWS Lambda function or webhook. You can use a custom channel to send messages to your customers through any service that has an API, including non-AWS services.

Before you can configure a custom channel activity, you must decide whether to use a Lambda function or a webhook URL to send your message. For more information about creating custom message channels, see [Creating custom channels in Amazon Pinpoint](https://docs.aws.amazon.com/pinpoint/latest/developerguide/channels-custom.html) in the *Amazon Pinpoint Developer Guide*.

**To set up a custom message channel activity that calls a Lambda function**

1. Choose **Add activity**.

1. For **Add an activity**, choose **Send through a custom channel**.

1. For **Choose the method that you want to use to send messages**, select **Execute a Lambda function**.

1. For **Lambda function**, choose the function that you want to execute.

1. (Optional) The **Custom Data** is for when endpoints are delivered to the custom channel, the custom data is in the payload as well. This field can contain up to 5,000 alphanumeric characters.

1. For **Specify the endpoint types that will receive this message**, select the endpoint types that the custom channel applies to. By default, only the **Custom** endpoint type is selected. To add additional endpoint types, select **Choose endpoint types**.

   1. The Lambda function can be used to evaluate which endpoints to include in the segment. For more information, see [Customizing segments with AWS Lambda](https://docs.aws.amazon.com/pinpoint/latest/developerguide/segments-dynamic.html).

   1. The **Custom Data** is for when endpoints are delivered to the custom channel, the custom data is in the payload as well.
**Note**  
Other endpoint types that arrive at this activity are sent through it, but only the endpoint types that you specify are sent to the Lambda function or webhook.

1. (Optional) For **Description**, enter text that describes the purpose of the activity. When you save the activity, this text appears as its label.

1. When you finish, choose **Save**.  
![\[\]](http://docs.aws.amazon.com/pinpoint/latest/userguide/images/journeys-create-step-3-add-activities-procedures-custom-lambda.png)

**To set up a custom message channel activity that uses a webhook URL**

1. Choose **Add activity**.

1. For **Add an activity**, choose **Send through a custom channel**.

1. For **Choose the method that you want to use to send messages**, select **Specify a webhook URL**.

1. For **Webhook URL**, enter the address of the webhook that you want to execute. For more information about configuring webhooks, see [Creating custom channels in Amazon Pinpoint](https://docs.aws.amazon.com/pinpoint/latest/developerguide/channels-custom.html) in the *Amazon Pinpoint Developer Guide*.

1. (Optional) The Custom Data is for when endpoints are delivered to the custom channel, the custom data is in the payload as well. This field can contain up to 5,000 alphanumeric characters.

1. For **Specify the endpoint types that will receive this message**, select the endpoint types that the custom channel applies to. By default, only the **Custom** endpoint type is selected. To add additional endpoint types, select **Choose endpoint types**.
**Note**  
Other endpoint types that arrive at this activity are sent through it, but only the endpoint types that you specify are sent to the Lambda function or webhook.

1. (Optional) For **Description**, enter text that describes the purpose of the activity. When you save the activity, this text appears as its label.

1. When you finish, choose **Save**.  
![\[\]](http://docs.aws.amazon.com/pinpoint/latest/userguide/images/journeys-create-step-3-add-activities-procedures-custom-webhook.png)

### Set up a wait activity


When a journey participant arrives on a **Wait** activity, they remain on that activity for a certain period of time or until a specific date and time. This type of activity is a useful way to schedule the sending of time-sensitive communications, or to give customers time to interact with messages that you sent earlier in the journey.

**To set up a wait activity**

1. Choose **Add activity**.

1. For **Add an activity**, choose **Wait**.

1. Choose one of the following options:
   + **For a period of time** – Choose this option if you want journey participants to remain on this activity for a certain amount of time. Then, enter the amount of time that you want journey participants to wait on this activity before they proceed to the next activity. You can specify a value that's as short as 1 hour or as long as 365 days.
   + **Until a specific date** – Choose this option if you want journey participants to remain on this activity until a specific date and time. Then, enter the date and time when journey participants should move to the next activity. You can choose any date and time that precedes the end date of the journey.

1. (Optional) For **Description**, enter text that describes the purpose of the activity. When you save the activity, this text appears as its label.

1. When you finish, choose **Save**.  
![\[\]](http://docs.aws.amazon.com/pinpoint/latest/userguide/images/journeys-wait-activity.png)

### Set up a yes/no split activity


When journey participants arrive on a **yes/no split** activity, they're sent down one of two paths based on their attributes or behaviors. You can use this type of split activity to send journey participants down separate paths based on their membership in a segment. You can also send participants down separate paths based on their interactions with other journey activities. For example, you can divide journey participants based on whether they opened an email that was sent earlier in the journey.

**Note**  
To create split activities that send participants down different paths based on push notification events (such as Open or Received events), your mobile app has to specify the User ID and Endpoint ID values. For more information, see [Integrating Amazon Pinpoint with your application](https://docs.aws.amazon.com/pinpoint/latest/developerguide/integrate.html) in the *Amazon Pinpoint Developer Guide*.  
If the Journey segment is at the user-level, with user\$1id in the data and the criteria used for evaluating a conditional split is an endpoint attribute, Amazon Pinpoint processes the journey attributes using a logical OR between the attribute values for the different endpoints of the user. For example, if a single user has multiple endpoints, and if any of these endpoints had the criteria satisfied, all endpoints linked to that user would be grouped together and evaluated as a ‘Yes’, and would go down the ‘Yes’ branch of a Yes/No split activity.

**To set up a yes/no split activity**

1. Choose **Add activity**.

1. For **Add an activity**, choose **Yes/no split**.

1. For **Select a condition type**, choose one of the following options:
   + **Segment** – Choose this option to send all members of the chosen segment down the "Yes" path. Then, for **Segments**, choose a segment.
   + **Event** – Choose this option to send users down the "Yes" path based on their interactions with a previous step in this journey. Then, complete the following steps:

     1. For **Events**, select the messaging activity you want to split on:

     1. For **Choose an activity**, choose the message activity that the split should be applied to. Depending on the channel type of messaging activity you select you will have the following options on split on:
        + For **Email** here are the events you can select.
          + **Send** – Amazon Pinpoint accepted the message and will attempt to deliver it.
          + **Delivered** – The message was successfully delivered to the recipient.
          + **Rejected** – Amazon Pinpoint rejected the message because it contained a virus or malware.
          + **Hard bounce** – The email wasn't delivered to the recipient because of a permanent issue. For example, the recipient's email address might not exist anymore. When a message generates a hard bounce, Amazon Pinpoint doesn't attempt to re-deliver it.
          + **Soft bounce** – The email wasn't delivered to the recipient because of a temporary issue. For example, the recipient's inbox could be full, or their email provider might be experiencing a temporary issue. When a soft bounce occurs, Amazon Pinpoint attempts to re-deliver the message for a certain period of time. If the message still can't be delivered, the message becomes a hard bounce.
          + **Complaint** – The recipient received the email, but used the "Report spam" or similar button in their email client to report the message as unwanted.
**Note**  
Amazon Pinpoint relies on complaint reports from email providers to generate complaint events. Some email providers give us these reports on a regular basis, while others send them infrequently.
          + **Open** – The recipient received the email and opened it.
**Note**  
For Amazon Pinpoint to capture an **Email open** event, the recipient's email client has to download the images contained in the message. Many common email clients, such as Microsoft Outlook, don't download email images by default.
          + **Click** – The recipient received the email and followed one of the links contained in the body of the message.
          + **Unsubscribe** – The recipient received the email and used the "Unsubscribe" link to opt out of future messages.
        + For **SMS**, here are the events you can select.
          + **Send** – Amazon Pinpoint attempted to send the message. 
          + **Delivered** – Amazon Pinpoint received a confirmation that the message was delivered. 
          + **Failed** – An error occurred when delivering the message to the endpoint address. 
          + **Opt-out** – The user who's associated with the endpoint address has opted out of receiving messages from you. 
        + For **Push**, here are the events you can select.
          + **Send** – Amazon Pinpoint attempted to send the message. 
          + **Opened notification** – Amazon Pinpoint received a confirmation that the message was opened by the user. 
          + **Received foreground** – Amazon Pinpoint received a confirmation that the message was received by the users device and displayed in the foreground. 
          + **Received background** – Amazon Pinpoint received a confirmation that the message was received by the users device and displayed in the background. 
        + For **Contact Center**, here are the events you can select.
          + **Connected** – Amazon Pinpoint received a confirmation that the call was connected to an agent. 
          + **SIT tone** – Amazon Pinpoint received a response that the call gave back a busy tone. 
          + **Fax** – Amazon Pinpoint received a response that the call gave back a fax tone. 
          + **Voicemail beep** – Amazon Pinpoint received a response that the call gave back a voicemail with beep. 
          + **Voicemail no beep** – Amazon Pinpoint received a response that the call gave back a voicemail without beep. 
          + **Not answered** – Amazon Pinpoint received a response that the call was not answered and rang out without a voicemail. 
        + **Custom channel** – For the custom channel activity you can define the response attribute and value you would like to split on. Make sure that this attribute and value is passed back to Amazon Pinpoint journeys in a way that can be read. For more information about how this response should be structured, see [Creating custom channels](https://docs.aws.amazon.com/pinpoint/latest/developerguide/channels-custom.html) in Amazon Pinpoint in the Amazon Pinpoint Developer Guide. 

     1. 
**Note**  
(Optional) For custom channel activities you can split based on the **Call to a function or webhook response**. To configure this, can you define:  
**Attribute** – The name of the attribute to evaluate.
**Value** – The value used to determine in which way to split.

1. For **Condition evaluation**, choose when Amazon Pinpoint should evaluate the condition. You can choose from the following options:
   + **Evaluate immediately** – If you choose this option, Amazon Pinpoint checks to see if the event condition that you specified has been met the moment when the journey participant arrives on the activity.
   + **Evaluate after** – If you choose this option, Amazon Pinpoint waits for a specified period of time. After the specified period of time has elapsed, Amazon Pinpoint checks to see if the event condition that you specified has been met.
   + **Evaluate on** – If you choose this option, Amazon Pinpoint waits until a specific date and time. When that date and time arrives, Amazon Pinpoint checks to see if the event condition that you specified has been met.

1. (Optional) For **Description**, enter text that describes the purpose of the activity. When you save the activity, this text appears as its label.

1. When you finish, choose **Save**.  
![\[\]](http://docs.aws.amazon.com/pinpoint/latest/userguide/images/journeys-yes-no-split-activity.png)

### Set up a multivariate split activity


When journey participants arrive on a **Multivariate split** activity, they're sent down one of several paths based on their attributes or behaviors. This type of split is similar to a yes/no split. The advantage of using a multivariate split activity is that it can evaluate more than one condition. Additionally, every multivariate split activity contains an "Else" path. Journey participants who don't meet any of the conditions that you specified in other paths are automatically sent down the "Else" path.

You can use this type of split to send journey participants down separate paths based on their membership in a segment. You can also send participants down separate paths based on their interactions with other journey activities. For example, you can divide journey participants based on whether they opened an email that was sent earlier in the journey.

**Note**  
If a journey participant meets more than one condition in a conditional split, they are sent down the first condition that they meet, in alphabetical order. For example, if a participant meets the conditions in Branch A and Branch D, they're sent down the path that corresponds with Branch A.  
To create split activities that send participants down different paths based on push notification events (such as Open or Received events), your mobile app has to specify the User ID and Endpoint ID values. For more information, see [Integrating Amazon Pinpoint with your application](https://docs.aws.amazon.com/pinpoint/latest/developerguide/integrate.html) in the *Amazon Pinpoint Developer Guide*.  
If the Journey segment is at the user-level, with user\$1id in the data and the criteria used for evaluating a conditional split is an endpoint attribute, Amazon Pinpoint processes the journey attributes using a logical OR between the attribute values for the different endpoints of the user. For example, if a single user has multiple endpoints, and if any of these endpoints had the criteria satisfied, all endpoints linked to that user would be grouped together and evaluated as a ‘Yes’, and would go down the ‘Yes’ branch of a Yes/No split activity.

**To set up a multivariate split activity**

1. Choose **Add activity**.

1. For **Add an activity**, choose **Multivariate split**.

1. Determine how many different paths (branches) you want to create. Choose **Add another branch** to create additional paths.

1. On each branch, for **Select a condition type**, choose one of the following options:
   + **Segment** – Choose this option to send all members of the chosen segment down the path. Then, for **Segments**, choose a segment.
   + **Event** – Choose this option to send users down the path based on their interactions with a previous step in this journey. Then, complete the following steps:

     1. For **Events**, select the messaging activity you would like to split on.

     1. For **Choose an activity**, choose the message activity that the split should be applied to. Depending on the channel type of messaging activity you select you will have the following options on split on:
        + For **Email**, here are the events you can select.
          + **Send** – Amazon Pinpoint accepted the message and will attempt to deliver it.
          + **Delivered** – The message was successfully delivered to the recipient.
          + **Rejected** – Amazon Pinpoint rejected the message because it contained a virus or malware.
          + **Hard bounce** – The email wasn't delivered to the recipient because of a permanent issue. For example, the recipient's email address might not exist anymore. When a message generates a hard bounce, Amazon Pinpoint doesn't attempt to re-deliver it.
          + **Soft bounce** – The email wasn't delivered to the recipient because of a temporary issue. For example, the recipient's inbox could be full, or their email provider might be experiencing a temporary issue. When a soft bounce occurs, Amazon Pinpoint attempts to re-deliver the message for a certain period of time. If the message still can't be delivered, the message becomes a hard bounce.
          + **Complaint** – The recipient received the email, but used the "Report spam" or similar button in their email client to report the message as unwanted.
**Note**  
Amazon Pinpoint relies on complaint reports from email providers to generate complaint events. Some email providers give us these reports on a regular basis, while others send them infrequently.
          + **Open** – The recipient received the email and opened it.
**Note**  
For Amazon Pinpoint to capture an **Email open** event, the recipient's email client has to download the images contained in the message. Many common email clients, such as Microsoft Outlook, don't download email images by default.
          + **Click** – The recipient received the email and followed one of the links contained in the body of the message.
          + **Unsubscribe** – The recipient received the email and used the "Unsubscribe" link to opt out of future messages.
        + For **SMS**, here are the events you can select.
          + **Send** – Amazon Pinpoint attempted to send the message. 
          + **Delivered** – Amazon Pinpoint received a confirmation that the message was delivered. 
          + **Failed** – An error occurred when delivering the message to the endpoint address. 
          + **Opt-out** – The user who's associated with the endpoint address has opted out of receiving messages from you. 
        + For **Push**, here are the events you can select.
          + **Send** – Amazon Pinpoint attempted to send the message. 
          + **Opened notification** – Amazon Pinpoint received a confirmation that the message was opened by the user. 
          + **Received foreground** – Amazon Pinpoint received a confirmation that the message was received by the users device and displayed in the foreground. 
          + **Received background** – Amazon Pinpoint received a confirmation that the message was received by the users device and displayed in the background. 
        + For **Contact Center**, here are the events you can select.
          + **Connected** – Amazon Pinpoint received a confirmation that the call was connected to an agent. 
          + **SIT tone** – Amazon Pinpoint received a response that the call gave back a busy tone. 
          + **Fax** – Amazon Pinpoint received a response that the call gave back a fax tone. 
          + **Voicemail beep** – Amazon Pinpoint received a response that the call gave back a voicemail with beep. 
          + **Voicemail no beep** – Amazon Pinpoint received a response that the call gave back a voicemail without beep. 
          + **Not answered** – Amazon Pinpoint received a response that the call was not answered and rang out without a voicemail. 
        + **Custom channel** – For the custom channel activity you can define the response attribute and value you would like to split on. Make sure that this attribute and value is passed back to Amazon Pinpoint journeys in a way that can be read. For more information about how this response should be structured, see [Creating custom channels](https://docs.aws.amazon.com/pinpoint/latest/developerguide/channels-custom.html) in Amazon Pinpoint in the Amazon Pinpoint Developer Guide. 

     1. For **Choose a journey message activity and event** choose Call to a function or webhook response.
        + **Attribute** – The name of the attribute to evaluate.
        + **Value** – The value used to determine which branch to traverse for the path.

   Repeat this step for each path in the activity.

1. For **Condition evaluation**, choose when Amazon Pinpoint should evaluate the condition. You can choose from the following options:
   + **Evaluate immediately** – If you choose this option, Amazon Pinpoint checks to see if the event condition that you specified has been met at the moment the journey participant arrives on the activity.
   + **Evaluate after** – If you choose this option, Amazon Pinpoint waits for a specified period of time. After the specified period of time has elapsed, Amazon Pinpoint checks to see if the event condition that you specified has been met.
   + **Evaluate on** – If you choose this option, Amazon Pinpoint waits until a specific date and time. When that date and time arrives, Amazon Pinpoint checks to see if the event condition that you specified has been met.

1. (Optional) For **Description**, enter text that describes the purpose of the activity. When you save the activity, this text appears as its label.

1. When you finish, choose **Save**.  
![\[\]](http://docs.aws.amazon.com/pinpoint/latest/userguide/images/journeys-multivariate-split-activity.png)

### Set up a holdout activity


When journey participants arrive on a **Holdout** activity, the journey ends for a random selection of participants. You can specify the percentage of total journey participants who are held out. Holdout activities can help you measure the impact of a journey by creating a control group that doesn't receive your messages. When a journey finishes running, you can compare the behaviors of the users who participated in the journey against those who were part of the control group.

**Note**  
Amazon Pinpoint uses a probability-based algorithm to determine which journey participants are held out. The percentage of journey participants who are held out will be very close to the percentage that you specify, but it might not be perfectly equal.

**To set up a holdout activity**

1. Choose **Add activity**.

1. For **Add an activity**, choose **Holdout**.

1. For **Holdout percentage**, enter the percentage of journey participants who should be prevented from proceeding to the next activity in the journey.

1. (Optional) For **Description**, enter text that describes the purpose of the activity. When you save the activity, this text appears as its label.

1. When you finish, choose **Save**.  
![\[\]](http://docs.aws.amazon.com/pinpoint/latest/userguide/images/journeys-holdout-activity.png)

### Set up a random split activity


When journey participants arrive on a **Random split** activity, they're randomly sent down one of up to five paths. You can create two to five separate paths for this type of activity. This type of activity is useful when you want to measure the effectiveness of different message variants.

**Note**  
Amazon Pinpoint uses a probability-based algorithm to determine which journey participants are sent down each path in a random split activity. The percentages of journey participants who are sent down each path will be very close to the percentages that you specify, but they might not be perfectly equal.

**To set up a random split activity**

1. Choose **Add activity**.

1. For **Add an activity**, choose **Random split**.

1. Determine how many different paths (branches) you want to create. Choose **Add another branch** to create each additional path.

1. In the field next to each branch, enter the percentage of journey participants who should be sent down that branch. The values that you specify have to be positive numbers, and they can't contain decimals. The sum of the values that you enter across all branches has to equal exactly 100%.

1. (Optional) For **Description**, enter text that describes the purpose of the activity. When you save the activity, this text appears as its label.

1. When you finish, choose **Save**.  
![\[\]](http://docs.aws.amazon.com/pinpoint/latest/userguide/images/journeys-random-split-activity.png)

**Next**: [Review and test a journey](journeys-review-test.md)

# Review and test a journey


Before you can publish your journey, you must review it to make sure that all of the activities that it contains are configured properly. It's also a good idea to enroll test users in a copy of the journey before you publish it, to confirm that it behaves the way that you expect it to behave. This section contains information and procedures related to reviewing and testing your journey.

## Reviewing a journey


The review feature provides information about configuration errors in your journey, and also provides some recommendations.

**To review a journey**

1. In the upper-right corner of the journey workspace, choose **Review**. The **Review your journey** pane appears in the journey workspace. The following image shows the journey workspace with the **Review your journey** pane opened.  
![\[\]](http://docs.aws.amazon.com/pinpoint/latest/userguide/images/journeys-review-pane.png)

1. Review the error messages that are shown on the first page of the **Review your journey** pane. You can't publish your journey until you resolve all the issues that are shown on this page. If there aren't any issues with your journey, you see a message stating that your journey doesn't contain any errors. When you're ready to proceed, choose **Next**.
**Tip**  
Choose an error to go directly to the activity that it applies to.

1. The second page of the **Review your journey** pane contains recommendations and best practices that are relevant to your journey. You can proceed without resolving the issues that are shown on this page. When you're ready to proceed, choose **Mark as reviewed**.

1. On the third page of the **Review your journey** pane, you can publish your journey. If you're ready for customers to enter the journey, choose **Publish**. However, if you want to test your journey first, close the **Review your journey** pane, and then complete the steps in [Testing a journey](#journeys-test).

## Testing a journey


One of the most important steps in creating a journey is testing it to make sure that it behaves as intended. Journeys includes a testing feature that streamlines the process to send a group of test participants through the journey. It includes features to reduce or removes the amount of time that participants spend on wait or multivariate split activities, so that you can test each journey thoroughly and quickly.

**To test a journey**

1. Create a new segment that contains only the test participants who you want to participate in the test journey. Or, if you already have a segment of test participants, proceed to the next step.

   For more information about creating segments, see [Building segments](segments-building.md).
**Tip**  
We recommend that you create a test segment by importing a spreadsheet. For more information, see [Importing segments](segments-importing.md).  
Only dynamic segments are supported for testing journeys with an event based entry conditions.

1. On the **Actions** menu, choose **Test**.

1. For **Test segment**, choose the segment that contains the test participants.

1. Choose how to handle delays in the journey. You can choose one of the following options:
   + **Skip all waits and delays** – Choose this option to have test participants proceed from one activity to another without any intervening delays.
   + **Custom wait time** – Choose this option to have test participants wait for a pre-defined amount of time at each activity that includes a delay. This option is helpful if your journey contains wait activities, or yes/no split or multivariate split activities that are based on customer interactions.

1. Choose **Send test**. Amazon Pinpoint creates a new journey with `Test-` added to the beginning of the journey name. The test participants are added to the journey.

1. When you finish testing, choose **Stop journey** to permanently end the test journey.
**Tip**  
During the testing process, if you discover that you need to make changes to the original journey (that is, the journey that the test journey was based on), return to the **Journeys** page. In the list of journeys, choose the original journey, and then make your changes. Changes that you make to the test journey aren't automatically applied to the journey that the test is based on.

### Best practices for testing your journeys

+ Include several test participants in the segment that you use to test your journey.
+ Include test participants whose email addresses are on domains other than your own.
+ Use a variety of email clients and operating systems to test the messages that are sent from your journey.
+ If your journey includes yes/no split or multivariate split activities that are based on interactions with your emails, test those interactions. For example, if you have a split activity that checks to see if an email was opened, then some of your test participants should open the email. Then, check the **Journey metrics** pane to make sure that the correct number of users went down each path.
+ If your email templates include message variables that refer to endpoint attributes, make sure that your test participants have those same attributes. For example, if your email template refers to a `User.UserAttributes.FirstName` attribute, the endpoints in your test segment should also have that attribute.

**Next**: [Publish a journey](journeys-publish.md)

# Publish a journey


After you've [tested your journey](journeys-review-test.md#journeys-test) and you're ready for customers to enter it, you can publish the journey. The publishing process requires you to complete the review process one more time.

**To publish a journey**

1. In the upper-right corner of the journey workspace, choose **Review**. The **Review your journey** pane appears in the journey workspace.

1. Review the error messages that are shown on the first page of the **Review your journey** pane. You can't publish your journey until you resolve all the issues that are shown on this page. If there aren't any issues with your journey, you see a message stating that your journey doesn't contain any errors. When you're ready to proceed, choose **Next**.

1. The second page of the **Review your journey** pane contains recommendations and best practices that are relevant to your journey. You can proceed without resolving the issues that are shown on this page. When you're ready to proceed, choose **Mark as reviewed**.

1. On the third page of the **Review your journey** pane, choose **Publish**.
**Note**  
Even if you configure the journey to begin immediately, there is a five-minute delay before participants actually enter the journey. During this time, Amazon Pinpoint calculates all the segment members, and prepares to start capturing analytics data. This delay also gives you a final opportunity to stop the journey if necessary.

1. Reviewing and publishing a journey adds an exit journey element to the journey flow, indicating that the journey was reviewed and published successfully. 

**Next**: [Pause, resume, or stop a journey](journeys-pause-stop.md)

# Pause, resume, or stop a journey


## Pausing a journey


After publishing a journey, you can pause that journey. During a paused journey, messages aren't sent and analytics data isn't generated. You can pause a journey during holidays, or if you need to re-evaluate the journey itself for changes. Any endpoints that entered the journey before the pause will complete the journey and are then paused. Any endpoints waiting to enter the journey don't enter the journey during the pause. If a journey is in a **Wait** activity, the timer on the **Wait** activity is paused. After the journey is resumed, the **Wait** activity continues from the point at which it was paused. A paused journey cannot be edited.

**To pause a journey**

1. Sign in to the AWS Management Console and open the Amazon Pinpoint console at [https://console.aws.amazon.com/pinpoint/](https://console.aws.amazon.com/pinpoint/).

1. For **All Projects**, choose an existing project.

1. In the navigation pane, choose **Journeys**.

1. Choose a currently published journey.

1. In the upper-right corner of the published journey's workspace, choose **Actions**. 

1. Choose **Pause**.

1. When prompted to confirm pausing the journey, choose **Pause**.

   A paused journey stays paused indefinitely until you resume it. 

## Resuming a journey


A paused journey can only be resumed after five minutes have passed. When you resume a paused journey, participants resume traveling through the journey from the point they were at when the journey was paused. If any journeys were in a **Wait** activity, the **Wait** activity countdown resumes from the point at which the journey was paused.

**To resume a journey**

1. Sign in to the AWS Management Console and open the Amazon Pinpoint console at [https://console.aws.amazon.com/pinpoint/](https://console.aws.amazon.com/pinpoint/).

1. For **All Projects**, choose an existing project.

1. In the navigation pane, choose **Journeys**.

1. Choose a currently paused journey.

1. In the upper-right corner of the paused journey's workspace, choose **Actions**. 

1. Choose **Resume**.

1. When prompted to confirm resuming the journey, choose **Resume**.

   The journey resumes.

## Stopping a journey


Stopping a journey permanently ends the journey and all activities associated with it. Any activities that are currently in-process are ended. However, you will still be able to view analytics data.

**Tip**  
If you are unsure whether to stop a journey, consider pausing instead. Because a stopped journey is stopped permanently, you must recreate the journey to use it again.

**To stop a journey**

1. Sign in to the AWS Management Console and open the Amazon Pinpoint console at [https://console.aws.amazon.com/pinpoint/](https://console.aws.amazon.com/pinpoint/).

1. For **All Projects**, choose an existing project.

1. In the navigation pane, choose **Journeys**.

1. Choose a currently published journey.

1. In the upper-right corner of the journey workspace, choose **Actions**. 

1. Choose **Stop**.

1. When prompted to confirm stopping the journey, choose **Stop journey**.

   The journey permanently stops.

**Next**: [View journey metrics](journeys-metrics.md)

# View journey metrics


After you publish a journey, the **Journey metrics** pane appears in the journey workspace, and Amazon Pinpoint begins to capture metrics related to the journey.

**Topics**
+ [

## Journey-level execution metrics
](#journeys-metrics-execution)
+ [

## Activity-level execution metrics
](#journeys-metrics-execution-activity)
+ [

## Journey-Level engagement metrics
](#journeys-metrics-engagement)
+ [

## Activity-level engagement metrics
](#journeys-metrics-engagement-activity)

## Journey-level execution metrics


Journey-level execution metrics include information about the endpoints that entered (or were prevented from entering) your journey. To view engagement metrics, choose **Engagement metrics** in the **Journey metrics** pane.

These metrics are divided into several sections, which are discussed in detail in the following sections.

### Entry metrics


The first section in the list of journey execution metrics shows how many participants entered your journey. An example of this section is shown in the following image.

![\[\]](http://docs.aws.amazon.com/pinpoint/latest/userguide/images/journeys-metrics-execution-entries.png)


This section contains the following information:
+ **Currently in journey** – The number of participants who are actively proceeding through the activities in the journey.
+ **Completed journey** – The number of participants who have reached an end activity in the journey.
+ **Lifetime journey entries** – The number of participants who have entered the journey since the start date of the journey. This section also contains a chart that shows the percentage of participants who completed the journey (shown in blue) and the percentage of participants who are still in the journey (shown in orange).

### Journey refresh metrics


This section shows the refresh metrics for the journey. It includes information about the number of segments refreshed, how many times a segment has been refreshed, and whether the segment is set to refresh on update or not. An example of this section is shown in the following image.

![\[\]](http://docs.aws.amazon.com/pinpoint/latest/userguide/images/journeys-metrics-refresh.png)


This section contains the following information:
+ **Total journey entries** – The total number of journey entries.
+ **Next entry group - *estimate*** – The number of endpoints that will be added on the next update. If a segment refresh interval isn't set, there will be no endpoints to add. The value displays as **N/A**.
+ **Does not refresh on segment update**/ **Refreshes on update** – Indicates whether **Refresh on segment update** was chosen when adding endpoints for the journey entry activity.
+ **Number of times entry segment will be refreshed** – The maximum number of times that the segment will be refreshed during the journey.
+ **Number of times entry segment has been refreshed since start** – The current number of times the segment has been refreshed since the journey started.
+ **Removed due to re-evaluation** – The number of endpoints that were removed from the journey because of the re-evaluation process that occurs when a participant reaches a **Send contact center** activity. For more information, see [Set up a contact center activity](journeys-add-activities.md#journeys-add-activities-procedures-contact-center).

### Unsent Message Metrics


The next section in the list of journey execution metrics includes information about the reasons why messages weren't sent to journey participants. An example of this section is shown in the following image.

![\[\]](http://docs.aws.amazon.com/pinpoint/latest/userguide/images/journeys-metrics-execution-unsent.png)


This section contains the following information:
+ **Maximum entries per endpoint**/**Exceeded maximum entries per endpoint** – Displays the maximum number of entries per endpoint and the number of participants who were prevented from participating in the journey because they would have exceeded the maximum number of times that a single endpoint can participate in the journey.
+ **Maximum daily messages per endpoint**/**Exceeded max daily messages per endpoint** – Displays the maximum number of daily messages per endpoint, and the number of messages that weren't sent because sending them would have exceeded the maximum number of messages that a single participant can receive during a 24-hour period.
+ **Quiet time**/**Not sent during quiet time** – Displays the current quiet time hours set for the journey, and the number of messages that weren't sent for the following reasons. 
  + If **Resume sending after quiet times** is not turned on and sending is blocked due to encountering the quiet time window.
  + If **Time zone estimation** is turned on and sending is blocked due to the endpoint having no time zone (result of missing `Demographic.Timezone` attribute and unsuccessful time zone estimation).

## Activity-level execution metrics


Activity-level execution metrics include information about the endpoints that entered (or were prevented from entering) your activity. Select an individual activity to view its execution metrics. To view engagement metrics, choose **Engagement metrics** in the **Journey metrics** pane.

**Important**  
The number of endpoints that move through each activity in your journey is noted in the top right corner of each activity modal.

These metrics are divided into several sections, which are discussed in detail in the following sections.

### Sent message metrics


The first section in the list of activity execution metrics shows how many endpoints entered your activity. An example of this section is shown in the following image.

![\[\]](http://docs.aws.amazon.com/pinpoint/latest/userguide/images/journeys-metrics-execution-activity-sent.png)


This section contains the following information:
+ **Messages sent** – The number of messages sent.
+ **Messages not sent** – The number of messages not sent.

### Unsent Message Metrics


Each activity in your journey includes a list of execution metrics that indicates information about the number of messages that couldn't be delivered because of system issues, Amazon Pinpoint account configuration, or end user preferences such as an opt-out. An example of this section is shown in the following image.

![\[\]](http://docs.aws.amazon.com/pinpoint/latest/userguide/images/journeys-metrics-execution-activity-unsent.png)


This section contains the following information:
+ **Not sent during quiet time** – The number of messages that weren't sent because they would have been delivered during quiet time in the recipient's time zone.
+ **Exceeded endpoint message limit** – The number of messages that weren't sent because sending them would have exceeded the maximum number of messages that a single participant can receive during a 24-hour period.
+ **Throttled** – The number of messages that weren't sent because sending them would exceed the sending quotas for your Amazon Pinpoint account.
+ **Temporary failure** – The number of messages that weren't sent because of a temporary failure.
+ **Service failure** – The number of messages that weren't sent because of an issue with the Amazon Pinpoint service.
+ **Permanent failure** – The number of messages that weren't sent because of a permanent failure.
+ **Unsupported channel** – The number of endpoints that weren’t sent through the activity because the endpoint didn't match the activity type.
+ **Unknown failure** – The number of messages that weren't sent because of an unknown reason.
+ **Custom delivery failure** – The number of messages that weren't sent because of a Lambda function or webhook failure.
**Note**  
This metric only appears on **Send through a custom channel** activities.
+ **Dial failure** – The number of messages that couldn't be delivered through a **Send through a contact center** activity because an issue prevented the number from being dialed. This type of failure can occur if there are permissions issues that prevent the call from being made, if an Amazon Connect service quota has been exceeded, or if a transient service issue occurs.
+ **Removed due to re-evaluation** – The number of endpoints that were removed from the journey because of the re-evaluation process that occurs when a participant reaches a **Send through a contact center** activity. For more information, see [Set up a contact center activity](journeys-add-activities.md#journeys-add-activities-procedures-contact-center).
**Note**  
The **Dial failure** and **Removed due to re-evaluation** metrics only appear on **Send through a contact center** activities.
+ **Quiet time**/**Not sent during quiet time** – Displays the current quiet time hours set for the journey, and the number of messages that weren't sent for the following reasons. 
  + If **Resume sending after quiet times** isn't turned on and sending is blocked due to encountering the quiet time window.
  + If **Time zone estimation** is turned on and sending is blocked due to the endpoint having no time zone (result of missing `Demographic.Timezone` attribute and unsuccessful time zone estimation).

## Journey-Level engagement metrics


Journey-level engagement metrics include information about the ways in which the participants in your journey interacted with the messages that were sent from the journey.

These metrics are divided into several sections, which are discussed in detail in the following sections.

**Important**  
Several of the engagement metrics are based on information that we receive from recipients' email providers or mobile phone carriers or from push notification services, such as Apple Push Notification service or Firebase Cloud Messaging. After we receive this data from these sources, there is a delay of up to two hours while we process the incoming metrics.

### Number of message activities


The engagement metrics for each journey provide the number of message activities in that journey.

If there are multiple activity types in the journey, the engagement metrics are broken down by type, as seen in the following image.

![\[\]](http://docs.aws.amazon.com/pinpoint/latest/userguide/images/journeys-metrics-engagement-number.png)


## Activity-level engagement metrics


Activity-level engagement metrics include information about the ways in which the participants in your journey interacted with the messages that were sent from the journey.

These metrics are divided into several sections, which are discussed in detail in the following sections.

### Email activity


Email activities provide the following engagement metrics.

#### Response metrics


These metrics provide information about participants' interactions with the messages that were sent from the email message activity.

![\[\]](http://docs.aws.amazon.com/pinpoint/latest/userguide/images/journeys-metrics-engagement-response.png)


This section contains the following information: 
+ **Total messages sent** – The number of emails sent from this activity, whether the messages were successfully delivered to the recipients’ inboxes.
+ **Total deliveries** – The number of messages that were delivered to recipients' email providers.
+ **Total opens** – The number of messages that were opened by recipients.
**Note**  
For Amazon Pinpoint to count an email open event, the recipient must load the images in your messages. Several email clients, such as some versions of Microsoft Outlook, prevent images from being loaded by default.  
If a message is opened once or opened multiple times within the same hour, it will be counted as one open. Multiple opens taking place at different hours will be counted as separate opens. For example, if a message is opened at 8:30 AM and 8:45 AM, it will count as one open but if the messaged is opened at 8:30 AM and 9:05 AM, it will count as two opens because the hour has changed. For this reason, it's possible (but unlikely) for the number of opens to exceed the number of sends or deliveries.
+ **Total clicks** – The number of times that recipients clicked links in messages.
**Note**  
If a message recipient clicks multiple links in a message or clicks the same link more than once, those clicks will be counted as one click if they occur within the same hour. Multiple clicks taking place at different hours will be counted as separate clicks. For example, a link is clicked at 8:30 AM and 8:45 AM it will count as one click but if the link is clicked at 8:30 AM and 9:05 AM it will count as two clicks because the hour has changed. For this reason, it's possible for the number of clicks to exceed the number of opens or deliveries.

#### Message engagement metrics


The final section in the list of engagement metrics provides additional email response metrics. An example of this section is shown in the following image.

![\[\]](http://docs.aws.amazon.com/pinpoint/latest/userguide/images/journeys-metrics-engagement-message.png)


This section contains the following information: 
+ **Emails soft bounced** – The number of messages that resulted in a soft bounce. A soft bounce occurs when a message can't be delivered because of a temporary issue (for example, when the recipient's inbox is full).
**Note**  
Amazon Pinpoint attempts to re-deliver messages that result in a soft bounce for a certain period of time. If the message is delivered during one of these redelivery attempts, then the message is counted in the **Total deliveries** metric and removed from the **Emails soft bounced** metric.
+ **Emails hard bounced** – The number of messages that resulted in a hard bounce. A hard bounce occurs when a message can't be delivered because of a permanent issue (for example, when the destination email address no longer exists).
**Note**  
Soft bounces that can't be delivered after a certain period of time are converted to hard bounces. For this reason, you might see the number of soft bounces decrease and the number of hard bounces increase.
+ **Emails unsubscribed** – The number of messages that prompted the recipient to unsubscribe.
**Note**  
For Amazon Pinpoint to count an unsubscribe event, the unsubscribe link in the email has to contain a special link tag (a tag called `unsubscribeLinkTag`, as in the following example: `<a ses:tags="unsubscribeLinkTag:click;" href="http://www.example.com/unsubscribe">`). Only links that contain this tag are counted as unsubscribes.
+ **Emails complained** – The number of messages that were reported by the recipient as unsolicited mail.
**Note**  
This metric is based on complaint report data that we receive from recipients' email providers. Some email providers send us complaint data immediately, while others send a weekly or monthly digest.
+ **Emails rejected** – The number of messages that weren't sent because they were rejected. A message is rejected if Amazon Pinpoint determines that the message contains malware. Amazon Pinpoint doesn't attempt to send rejected messages.

### SMS message activity


SMS message activities provide the following engagement metrics.

#### Delivery metrics


These metrics provide information about participants' interactions with the messages that were sent from the SMS message activity.

![\[\]](http://docs.aws.amazon.com/pinpoint/latest/userguide/images/journeys-metrics-engagement-activity-sms-delivery.png)


This section contains the following information: 
+ **Total messages sent** – The number of SMS messages sent from this activity, whether the messages were successfully delivered to the recipients’ devices.
+ **Total deliveries** – The number of SMS messages delivered from the provider to the recipients' devices.
+ **Total failures** – The number of SMS messages that failed to be delivered to recipients.
+ **Total SMS activity spend** – The estimated amount of money you've spent sending SMS messages through this activity.

### Push Notification Activity


Push notification activities provide the following engagement metrics.

#### Response Metrics


These metrics provide information about participants' interactions with the messages that were sent from the push notification activity.

![\[\]](http://docs.aws.amazon.com/pinpoint/latest/userguide/images/journeys-metrics-engagement-activity-push-response.png)


This section contains the following information: 
+ **Total messages sent** – The number of push notifications sent from this activity, whether the messages were successfully delivered to the recipients’ devices.
+ **Total deliveries** – The number of push notifications delivered from the push notification service to the recipients' devices. This metric only reflects deliveries that are made when an app is running in the foreground or background of a recipient's device. Due to discrepancies in how mobile operating systems prioritize background notifications, delivery of push notifications are not guaranteed.
+ **Total opens** – The number of push notifications that were opened by recipients.

#### Time to Live Metrics


The push notification engagement metrics also provide the time to live (TTL) value for the push notification activity. The TTL is the amount of time, in seconds, during which Amazon Pinpoint can deliver the message. After this time elapses, Amazon Pinpoint drops the message and doesn't attempt to re-deliver it.

![\[\]](http://docs.aws.amazon.com/pinpoint/latest/userguide/images/journeys-metrics-engagement-activity-push-ttl.png)


When the default TTL value is used, the metric displays a “-”. For custom TTL values, the metric displays the exact number and unit of time that you chose.

### Custom Channel Activity


Custom channel activities provide the following engagement metrics.

#### Call Success Metrics


These metrics provide information about participants' interactions with the messages that were sent from the custom channel activity.

![\[\]](http://docs.aws.amazon.com/pinpoint/latest/userguide/images/journeys-metrics-engagement-activity-custom-success.png)


This section contains the following information: 
+ **Call to function or webhook succeeded** – The number of times that a Lambda function or webhook was successfully invoked because of this activity. 
**Note**  
This doesn't indicate that the message was delivered to the destination, it only indicates that the Lambda function or webhook was called.
+ **Call to webhook or function failed** – The number of times that a Lambda function or webhook was not successfully invoked because of this activity.

### Contact Center Activity


You can use Contact center activity metrics to analyze participants' interactions with your calls.

#### Contact center metrics


The following call metrics are available:
+ **Total successful dials** – The total number of calls that were successfully dialed.
+ **Connected** – The number of calls that connected to an agent. If answering machine detection is enabled, then calls received by answering machines won't be included in the **Connected** metric. Otherwise, if answering machine detection is disabled they are included. For more information about answering machine detection, see [AnswerMachine DetectionConfig](https://docs.aws.amazon.com/connect/latest/APIReference/API_connect-outbound-campaigns_AnswerMachineDetectionConfig.html) in the *Amazon Connect Outbound Campaigns API Reference*. 
+ **SIT tone** – The number of calls that received a busy tone.
+ **Fax** – The number of calls that received a fax tone.
+ **Voicemail beep** – The number of calls that reached voice mail with a beep sound.
+ **Voicemail no beep** – The number of calls that reached voice mail without a beep sound.
+ **Not answered** – The number of calls that received a response, but the call continued to ring without reaching voice mail.
+ **Connection error** – The number of calls that received a response, but the call could not reach voice mail.
+ **Connection rate** – The rate of calls that successfully connected to an agent as compared to all successful dials.
+ **Total failed dials** – The number of calls that failed due to system issues, telecom issues, or permission errors.
+ **Total expired dials** – The number of calls that expired because the dialer faced an error or there were no agents available.

### Activity metrics


In addition to viewing metrics for channel-specific activity types (email, SMS, push, and custom channels), you can also view metrics for other activity types, which include the following: **Wait** activities, **Yes/no split** activities, **Multivariate split** activities, and **Random split** activities.

#### Wait activity metrics


Journey metrics for wait activities include the following information:
+ **Wait completed** – The number of journey participants who completed the activity.
+ **Wait date passed** – The number of journey participants who arrived on the activity and immediately moved to the next activity because the wait date occurred in the past.
+ **Currently waiting** – The number of participants who are currently waiting (in the activity).

#### Yes/No split activity metrics


Journey metrics for yes/no split activities include the following information:
+ **Total participants** – The number of journey participants who passed through the activity.
+ **Details for *path*** – The number of journey participants who were sent down each path of the activity.

#### Multivariate split activity metrics


Journey metrics for multivariate split activities include the following information:
+ **Total participants** – The number of journey participants who passed through the activity.
+ **Details for *path*** – The number of journey participants who were sent down each path of the activity.

#### Holdout activity metrics


Journey metrics for holdout activities include the following information:
+ **Total entered** – The number of journey participants who passed through activity.
+ **Participants held out** – The number of participants who exited the journey because of being held out by the activity.

#### Random split activity metrics


Journey metrics for random split activities include the following information:
+ **Total participants** – The number of journey participants who passed through the activity.
+ **Details for *path*** – The number of journey participants who were sent down each path of the activity.

# Tips and best practices for journeys
Tips and best practices

Although journeys are designed to be flexible and fully customizable, there are some fundamental strategies and practices that can help you plan, design, and manage any journey. Consider the following tips and best practices for designing and managing a successful journey.

**Topics**
+ [

## Scope and settings
](#journeys-best-practices-settings)
+ [

## Segments
](#journeys-best-practices-segments)
+ [

## Activities
](#journeys-best-practices-activities)
+ [

## Email messages
](#journeys-best-practices-email)
+ [

## Reviewing and testing
](#journeys-best-practices-review-test)
+ [

## Analytics
](#journeys-best-practices-analytics)
+ [

## Lifecycle management
](#journeys-best-practices-lifecycle)

## Scope and settings


Because a journey can perform a variety of different and interrelated tasks, it's a good idea to create a well-defined scenario for a journey. Also, you should choose journey settings that support your scenario and goals. By using journey settings, you can establish constraints that determine the timing, volume, and frequency with which a journey can engage participants. 

When you define a scenario, consider limiting its scope to a small aspect of a larger customer experience. Although Amazon Pinpoint supports large-scale journeys that have extensive workflows, you have more opportunities to monitor, refine, and manage a customer's experience if you design a journey to be part of a sequence of related journeys. 

For example, you can design a journey that focuses on welcoming new customers and providing them with recommended first steps during their first seven days as a customer. Based on each customer's actions during the first journey, you can then add them to a subsequent journey that's tailored to their initial level of engagement. One subsequent journey might provide next steps for customers who were highly engaged in the first journey. Another subsequent journey might promote different products or services to customers who were less engaged in the first journey. By creating a sequence of smaller-scope journeys, you can continually refine and manage the customer experience throughout the customer lifecycle.

After you define a scenario, choose journey settings that support your goals for the scenario. These settings define the timing, volume, and frequency with which any part of a journey can engage participants. To choose these settings, create or open the journey. Then choose **Settings** from the **Actions** menu, and expand the **Advanced settings** section.

Some key goals and related settings are:

**Store and use participants' local time zones**  
To optimize participant engagement in a journey that has a scheduled start and end time, configure the journey to use each participant's local time zone. This helps to make sure that journey activities occur when a participant is most likely to participate in those activities.   
Note, however, that the usefulness of this setting depends on whether you store local time zone values in the endpoint definitions for participants. If you use this setting and the endpoint definition for a participant doesn't specify a time zone, Amazon Pinpoint doesn't include the participant in the journey. To avoid this issue, use the `Demographic.Timezone` attribute to store time zone information for participants. This is a standard attribute that Amazon Pinpoint provides.

**Address quiet-time conflicts**  
If you configure an activity to send messages at a time that conflicts with the quiet-time settings for the journey, Amazon Pinpoint doesn't send the messages. Once quiet time ends, new messages are sent. If you chose to resume sending messages after quiet time ends, any messages held during quiet time will also be sent. If not, then those messages held messages are dropped. 

**Time zone estimation**  
  
Time zone estimation helps to estimate an endpoints time zone based on `Endpoint.Location.Country` and depending on the estimation methods selected, either `Endpoint.Address` `Endpoint.Location.PostalCode` or both. The endpoints time zone is used to avoid sending messages at inappropriate times of the day when *quiet time* is configured and also when a journey sends messages based on the local time zone. Time zone estimation is only performed on endpoints that do not have a value for the `Demographic.Timezone` attribute.  
Time zone estimation is not supported in AWS GovCloud (US-West)
If a journey contains an endpoint with multiple time zones:  
+ The journey will *start* sending messages according to the *latest* time zone for an endpoint, when **Recipient's local time zone** is enabled.
+ The journey will *stop* sending messages when either all messages have been sent or according to the *earliest* time zone for an endpoint, when **Recipient's local time zone** is enabled.
+ The journey does not send messages to the endpoint when within quiet time of any timezone, when **Quiet time** is enabled.
The journey will only send messages when all endpoints in the journey are allowed to receive messages based on all of the configured journey sending rules.  
**Journey with endpoints in multiple time zones and *quiet time***  
For example, if you set up your journey's *quiet time* between 20:00 (8:00 PM) to 08:00 (8:00 AM) and there are endpoints in UTC-8 `America/Los_Angeles` and UTC-5 `America/New_York` then the journey starts sending messages at 08:00 `America/Los_Angeles` (11:00 `America/New_York`) and stop sending messages at 17:00 `America/Los_Angeles` (20:00 `America/New_York`).

**Limit the number of messages that participants can receive**  
To help make sure that participants don't receive too many messages from the journey or project, limit the number of messages that can be sent to a participant during a 24-hour period. This can be especially helpful if a journey uses a segment that's also used by campaigns or other journeys. You might also create and use a segment that's designed explicitly for use by only a specific journey.

**Optimize the number of messages that can be sent**  
If a journey has a large number of participants and it sends a large number of messages, factor the amount of time that Amazon Pinpoint needs to process and send all of those messages.  
For example, consider a situation where you have a journey activity that sends messages to 1,000,000 participants, and the maximum sending rate for your Amazon Pinpoint account is 200 messages per second. Some participants won't receive the message until approximately 80 minutes after the activity starts. This is especially relevant if a journey includes wait activities that follow email activities. If Amazon Pinpoint hasn't finished sending all the messages by the time the wait activity ends, participants might be moved to the activity that follows the wait activity, before they've received the message.  
To mitigate this risk, consider increasing the maximum number of messages that a journey can send per second, and possibly increase it to the maximum sending rate for your account. Also consider [increasing the sending quotas for your account](channels-email-manage-limits.md).

**Limit the number of times that participants can enter a journey**  
Depending on the nature and design of a journey, limit the number of times that a single participant can enter the same journey. If you don't set this limit, a participant could enter a journey, complete several activities in the journey, arrive at an end activity, and then start the journey again. You might prefer to have each participant start and complete a journey only once.   
Note that Amazon Pinpoint doesn't allow a participant to enter a journey if they're already an active participant in the journey. For example, Amazon Pinpoint doesn't add a participant as a new participant if the participant starts a journey and you later update the participant's endpoint definition in a way that affects their inclusion in a segment (based on segment criteria) or the journey (based on activity conditions).

**Maximize opportunities for participants to start a journey**  
The journey entry activity, which is the first activity in a journey, determines how often new participants are added to the journey. Because new or existing customers could become participants at any time, it's a good idea to configure the entry activity to add new members to the segment frequently. You can also configure the segment to add new participants automatically based on specific user attributes or events. For an example of how to configure a segment in these ways, see [Building Your First Journey in Amazon Pinpoint](https://aws.amazon.com/blogs/messaging-and-targeting/building-your-first-journey-in-amazon-pinpoint/) on the AWS Messaging and Targeting Blog.

## Segments


Segments are key. They determine who can participate in an overall journey and specific journey activities. When you create segments for a journey, consider the following best practices:

**Create a dedicated test segment**  
If you have a regular group of people who test your journeys and messages, create a segment that contains only their endpoints. You can then use that segment as a consistent testing framework, especially if you use the journey testing feature that Amazon Pinpoint provides. For tips about how to build this segment, see [Review and test a journey](journeys-review-test.md).

**Use multiple segments**  
Although you can choose only one segment for the journey entry activity, that segment can include multiple smaller segments. Later in the journey, you can then use a multivariate split activity to divide participants into separate groups based on their segment membership. This approach can help you provide a more tailored experience for each participant. It can also help reduce processing times for email activities, because those activities will send messages to a smaller, more targeted audience.   
It's also a good idea to segment participants based on actions that they explicitly do or don't do. You can do this by using split activities. For example, you can use a yes/no split activity to send participants down a *Yes* path if they click a link in a message, and a *No* path if they don't. The absence of an action can be an opportunity to reengage a participant through a follow-up activity.

**Don't delete segments and endpoints**  
We encourage you to maintain segments that are part of an active journey. If you delete a segment that's being used by an active journey, the journey could fail and stop running. If the journey does continue to run, any participants who were part of the segment might be removed from the journey prematurely. In addition, those participants will be reported as “dropped” in the analytics data for the last activity that they were part of. This weakens the usefulness of your analytics data—you won't be able to distinguish between participants who left a journey independently and participants whom you removed.

**Leverage custom attributes**  
To identify and add journey participants to segments more easily, consider adding a custom, journey-specific attribute to endpoints when your application creates or updates endpoints. You can then use this attribute to identify a user or endpoint as someone who should participate in a journey.

## Activities


Activities are the building blocks of any journey. Therefore, when you choose the type and settings for each activity, and the relationships between activities, consider the following guidelines:

**Optimize the entry activity**  
The entry activity, which is the first activity in a journey, determines how often new participants are added to the journey. You can either add participants based on an activity – for example, adding users who download specific music – or add participants from existing segments. Because new or existing customers could become participants at any time, it's a good idea to configure the entry activity to update (add participants to) the associated segment frequently. By doing this, you maximize opportunities for participants to start a journey.

**Prepare for changes to segment and participant data**  
An activity's evaluation of segment conditions is based on the latest data for each participant (endpoint) in the segment, and this data might change over time. For example, a participant's favorite food could be pizza when they start an activity. That participant could later change their preference to hot dogs. If this happens, subsequent activities will evaluate the participant based on the participant's preference for hot dogs, not pizza. One way to prepare for these kinds of changes is to use split activities that predict the changes and send participants down an appropriate path.  
If an endpoint is `ACTIVE`, Amazon Pinpoint will send messages through campaigns and journeys. If an `ACTIVE` endpoint enters a journey and becomes `INACTIVE` before completing the journey, Amazon Pinpoint will continue to send messages to the endpoint.

**Take advantage of the *Else* path**  
A multivariate split activity can contain as many as four paths (each with its own criteria), in addition to an *Else* path. The *Else* path is for participants who don't meet any of the criteria for the other paths. Therefore, it provides an excellent opportunity to handle unexpected or unusual cases that you might not have considered when you designed the journey.

**Consider delays in receiving event data**  
Some event data, such as *email opens*, is based on information that we receive from participants' email providers. Some providers send us this information immediately, while others send it less frequently. Those delays can impact participants' experiences. When Amazon Pinpoint evaluates events as a condition of an activity, it moves a participant to a *No* path if it doesn't have any event data for a participant. To mitigate this risk, add buffer time to the evaluation schedule for activities that immediately follow email activities.

**Avoid consecutive email activities**  
We recommend that you insert a wait or other type of activity between two or more email activities. This can help account for the amount of time that Amazon Pinpoint needs to process and send messages, and any delays in participants receiving messages.

**Use re-entry intervals**  
Set a re-entry interval for when endpoints re-enter journeys. By setting a re-entry interval you'll space out the time between when users receive your messages, creating a better user engagement and also being less likely that your messages are processed as spam.

## Email messages


In addition to [general tips and best practices for sending email](channels-email-best-practices.md), consider doing the following before you create a journey:

**Create a dedicated “From” address**  
Consider using a dedicated email address or domain for all the messages that you send from a journey. This provides a consistent experience across all the messages that participants receive from a journey. It also allows each participant to adjust their email application settings to ensure that all of a journey's messages arrive in their inbox. In addition, if you subscribe to the [Deliverability Dashboard](channels-email-deliverability-dashboard.md), using a dedicated address or domain can streamline the process for you to access advanced analytics data for specific journeys. To learn how to set up a dedicated address or domain for sending messages, see [Verifying email identities](channels-email-manage-verify.md).

**Verify that you set up the email channel correctly**  
Before you publish a journey, make sure that your Amazon Pinpoint account has [production access for email](channels-email-setup-production-access.md). If it doesn't, your account is in the sandbox environment, which means that participants might not receive messages from the journey. (In the sandbox environment, you can send only a limited number of messages and you can send messages to only certain email addresses.) Also, make sure the sending quota and sending rate for your account can support the number of messages that you plan to send from the journey. To check the sending quota and rate for your account, you can use the **Email Settings** page on the Amazon Pinpoint console.

**Design a collection of related message templates**  
During the early stages of the planning process, it's a good idea to design and create a message template for each email activity that you expect to include in the journey. If you do this, you can make sure that all the messages have a consistent design. This also makes sure that each message is specific to and optimized for the corresponding phase of the journey. For example, in a journey that welcomes new customers, you might have three email templates. There is one template with introductory information, another with intermediate information for users who clicked a link in the first message, and another with revised introductory information for users who didn't click a link in the first message.

## Reviewing and testing


Amazon Pinpoint includes a review feature that checks for and warns you about configuration errors in a journey. It also simplifies the process of finding and fixing any errors. To find the activity or setting that has an error, click the error description. 

To fix an error, follow the recommendation provided in the **Review your journey** pane. We encourage you to use this feature to review and fix errors before you publish a journey. As a best practice, we also encourage you to complete this review process multiple times before you publish a journey.

Amazon Pinpoint also includes a testing feature that streamlines the testing process. After you complete the review process for a journey, you can use this feature to send a group of test participants through the journey. 

To make sure that only test participants can enter the journey, you can create and use a dedicated test segment with this feature. To expedite testing, you can configure this feature to reduce or removes wait times for and between activities. We strongly recommend that you use this feature to test all aspects of a journey, including each message that a journey sends, before you publish a journey.

To learn more about reviewing and testing a journey, see [Review and test a journey](journeys-review-test.md).

## Analytics


After you publish a journey, Amazon Pinpoint automatically starts collecting and aggregating analytics data for several types of standard metrics that apply to the overall journey and individual journey activities. We strongly recommend that you review these metrics regularly and frequently. 

Among other things, these metrics provide key insight into issues to address, such as failures and errors that might have occurred when Amazon Pinpoint attempted to evaluate or perform an activity. Overall, these metrics can help you determine what is or isn't working well in a journey, which can help you design more effective journeys in the future. For detailed information about the available metrics and how to view them, see [View journey metrics](journeys-metrics.md).

Amazon Pinpoint automatically stores your analytics data for 90 days. Depending on a journey's projected duration or your organization's long-term storage and reporting needs, you might want to store the underlying event data for more than 90 days. To do this, we recommend that you configure Amazon Pinpoint to export data to Amazon Kinesis Data Streams or Amazon Data Firehose. If you export data to Amazon Kinesis, you can also use other services and applications to perform deeper analysis or reporting. For more information, see [Streaming events with Amazon Pinpoint](analytics-streaming.md).

## Lifecycle management


As you move a journey through various phases of development and execution, keep the following in mind for each phase of the journey's lifecycle. Also note that you can stop (cancel) a journey at any time if any issues arise.


| Phase | Description | 
| --- | --- | 
| Draft |  The journey is being developed and hasn't been published yet.  In this phase, you can change any aspect of the journey, including segments, activities, and settings for the journey. You can also leverage Amazon Pinpoint features for reviewing and testing the journey. You can repeat the review and test processes as many times as you want.  | 
| Active |  The journey has been developed, reviewed, tested, and published. Depending on the journey's schedule, it might currently be running or scheduled to start running at a later time. In this phase, you can't add, change, or remove activities from the journey.  | 
| Closed |  The journey has been developed, reviewed, tested, and published. It has started running and is closed to new participants.  Depending on the journey's schedule and settings, it might have also passed its scheduled end time. Or the journey might have passed its scheduled start time, and it has an entry activity that's set to never add new segment members. In this phase, you can't add new participants to the journey, and no existing participants can enter the journey for the first time. However, any existing participants who are currently waiting to start an activity can resume the journey.  | 
| Stopped |  The journey was developed, reviewed, tested, and published, and then later stopped. You can't restart a journey after you stop it. You will need to recreate the journey again. If you stop a journey, Amazon Pinpoint continues to perform activities that are currently in progress until those activities are complete. Amazon Pinpoint also continues to collect and aggregate analytics data for those activities until the activities are complete. It also does this for any activities that were complete when you stopped the journey.  In this phase, you can't add, change, or remove any activities from the journey. In addition, Amazon Pinpoint stops evaluating the journey and doesn't perform any activities that haven't started.   | 

# Troubleshooting journeys
Troubleshooting

Verify that logging is turned on to assist in identifying the cause of failure. For more information on logging, see [Monitoring and logging](troubleshooting.md#troubleshooting-logging) and [Journey events](https://docs.aws.amazon.com/pinpoint/latest/developerguide/event-streams-data-journey.html).

## Event based journey isn't triggered when using a PutEvents request


****Issues and solutions****
+ Verify that the configured **Journey limits** are not being exceeded:
  + **Maximum daily messages per endpoint**
  + **Maximum number of messages an endpoint can receive from the journey**
  +  **Maximum number of journey messages per second**
  + **Maximum entries per endpoint** 
+ Ensure that the active number of event triggered journeys does not exceed the provisioned threshold. For more information, see [Quotas](https://docs.aws.amazon.com/pinpoint/latest/developerguide/quotas.html). 
+ Verify that all components of the [PutEvents](https://docs.aws.amazon.com/pinpoint/latest/apireference/apps-application-id-events.html) API request are complete, including [Event Component](https://docs.aws.amazon.com/pinpoint/latest/apireference/apps-application-id-events.html#apps-application-id-events-model-event) and [Endpoint Component](https://docs.aws.amazon.com/pinpoint/latest/apireference/apps-application-id-events.html#apps-application-id-events-model-publicendpoint).
+ Verify that the specific journey is in the same application as the one in the PutEvent request. 
+ Verify that the correct event is configured to activate your journey. You can confirm this configuration in the [Journey entry condition](https://docs.aws.amazon.com/pinpoint/latest/userguide/journeys-entry-activity.html#journeys-entry-activity-event-triggered).
+ Event-driven journeys are not conducive to Contact Center use cases because of the limited life span for dial operations is 3 minutes.
+ You can use the following example request to activate a journey using “TestEvent” as the entry condition.

  ```
  aws pinpoint put-events --application-id 7149cbb8XXXXXXXX --events-request file://PutEvents.json
  file://PutEvents.json 
  {
      "BatchItem": {
          "ExampleEndpointID": {
              "Endpoint": {
                  "User": {
                      "UserId": "10107"
                  }, 
                  "ChannelType": "EMAIL",
                  "Address": "johndoe@example.com"
                     
              },
              "Events": {
                  "JourneyEvent": {
                      "EventType": "TestEvent",
                      "Timestamp": "2019-02-10T19:48:57+00:00"
                  }
              }
          }
      }
  }
  ```

## All journey participants go through ‘No’ branch during ‘Yes/No’ split activity


****Issues and solutions****
+ This error can occur when no wait time is configured. Send events are evaluated immediately, which results in moving all participants to the 'No' branch. 
  + To resolve this issue, verify that some wait time is configured after the condition evaluation.
+ Yes/No splits based on an event criterion and following custom AWS Lambda activities have an implicit wait time of 15 minutes to accrue and process the event outcomes.
+ Yes/No splits based on an event criterion and following channel activities (SMS, EMAIL, PNS) have a wait time of 1 hour to accrue and process the delivery event statuses for channel message deliveries.
+ Only standard events specific to channel delivery statuses are supported for Yes/No splits.