Journey elements

Deprecated doc version

Please follow the link to find the up-to-date one.

Journey elements are points of communication and controls needed to create a journey:

To add an element to a journey, drag-and-drop it from the left pane to the canvas, or pull it out of the circle on the previous element.

To delete an element, click it once and press the bin icon on the top.

To edit an element, click it twice and fill in the fields of the pop-up window appeared.


Start Event

Start Event is a specific action user performs thus entering the journey.

To add the Start Event, drag-and-drop it from the left pane to the canvas. To specify the Event, double-click the Start Event element, select the app, and choose the Event from the drop-down menu on the pop-up appeared. Then, press Apply to save changes.


Make sure to include HWID (hardware ID) into your /postEvent API request for the Start Event of the journey. Otherwise, users won't enter the journey.

UserID is not applicable for identifying users in Customer Journey.

Events should be created in advance. Click here to learn how to create Events in your own app.

If needed, you can specify attributes of the Start Event so that it'll start the journey only if the event is triggered with those specific attributes. To do so, press the Add condition button when editing the element. Select an attribute from the drop-down and set its operator and values in the corresponding fields.

You can add multiple Start Events — in that case, any of them will start the journey. Each Start Event could start their own journey but all of them should end at the same Exit point.

Start Segment

Start Segment is a pre-built segment of a particular app's users who will enter into your journey.

Start Segment should be built by Filters in your Pushwoosh account. A segment includes app subscribers who comply with Filter’s conditions. Learn more about Filters from the guide.

To add a Start Segment, drag-and-drop it to the canvas and double-click. In the pop-up window opened, choose an app and an Audience Source (i.e., the pre-built Segment of that app subscribers).

Once the journey is activated, all users from the segment selected will enter the journey.

No timezone-sensitivity

Please be aware that users' timezones won't be taken into account when sending messages to the Start Segment. All users will receive your messages simultaneously with no regard for the timezone set up on their devices.

Repeated start by segment

By default, users from the segment enter the journey only once at its activation. However, there's an option to repeat the same flow automatically within the journey – a scheduled launch for the Start Segment entry element.

When enabled, the Scheduled Launch refreshes the segment prior to every next entry and lets those users into the journey who got into the segment after it started the journey last time. Users who are traveling the journey at the moment of the repeated start by segment don't enter it again.

You can set the Start Segment to repeat once a day, once a week, once a month, or at any custom period or specific dates.

As a custom period, you can set the Start Segment to repeat once a several weeks or months in the days of the week or the month you specify. For example, every three weeks, three time a week on odd days.

You can also set the entry by segment to repeat on the specific dates. It might come in handy when some events in your app occur thus updating the audience segment with new users.

When scheduled, the Start Segment entry repeats at the same time of the day the journey has been activated. For example, if the journey is activated at 11 AM, the next entry by the same segment will happen at 11 AM as well.

To adjust the communication time, add the Wait until element next to the Start Segment.

Combining entry elements

You can add multiple entry elements — in that case, any of them will start the journey. Each entry element could start their own journey but all of them should end at the same Exit point.

If you use both Start Segment and Start Event simultaneously, conditions of both will apply but not intersect. That means the journey will include users who comply with the Start Segment conditions and those who trigger the Start Event. These sets of users may or may not intersect; not intersection enters the journey, but the whole sets in a union. After entering, all users will have the same flow through the journey.


Send Push

Send Push element indicates a point to communicate to a customer with a push notification.

To specify when to send a push message to a journey traveler, add the Send Push element to the canvas following the journey point you consider to be the appropriate basis for communication. Choose the app you’d like to send a message to. You can either choose a preset saved in your Pushwoosh account or create message content from scratch.

Please be aware that if any segmentation rules are saved in a Push Preset you choose, they won’t be applied to the Journey.

You can split the remaining journey flow based on whether this push notification is opened or ignored. For example, it might be helpful to send emails to those who don’t open pushes or send one more push to those who have read the first one.

Check the checkbox and set the period to wait after the push is sent – after that period, all users who open the push will go to the Opened journey branch, and others will pass through the Not opened branch.

Waiting period can be set to up to 7 days.

When everything’s set, press Apply.

Send Email

Send Email element indicates a point to communicate to a customer with an email message.

To send a message at some moment of the customer journey, add the Send Email element to the canvas following the event you consider to be the appropriate basis for communication. Choose the app and the email template you'd like to use.

Adding Send Push element

Please be aware that if any segmentation rules are saved in a Push Preset you choose for a Journey, they won't be applied to the Journey.

Send In-App


For Android, the OS versions 6.0 and later are supported.

To show the In-App to users within the journey, add the Send In-App to the canvas next to any element. Choose an app and a Rich Media page to be shown.

  • If your app is opened at the moment the Send In-App element is triggered, the In-App will be displayed immediately.

  • If the app is closed, the In-App will be displayed the next time the user opens the app.


In-Apps are displayed to only those users who have subscribed to push notifications.

To target all users, even those who opted-out from receiving push notifications, consider using the In-Apps outside the journey in your Pushwoosh projects.


Segment Splitter

True/False Splitter uses Filters created in your Pushwoosh account. To learn more about Filters, please refer to the guide.

Splitter divides the journey into two separate branches based on segmentation. Choose a Filter from your Pushwoosh account to constitute the first segment. Customers who do not fall under Filter's conditions will go through the second branch of the journey. Each branch can include any elements following the Segment Splitter and end with its own Exit.

You can add as many Splitters as you need, even flowing out of each other.

Wait for event

Events should be created in advance. Click here to learn how to create Events in your own app.

Wait for event element lets you set different communication scenarios based on whether a user triggers a particular event within specified time period or not. For example, to recover the abandoned shopping cart, set up the Wait for event element as follows:

Users who add some products to their cart and purchase within five minutes will exit the journey right after the CheckoutSuccess event is triggered and won't receive any messages. To those users who don't purchase in five minutes after the entry event, you can send a message reminding of items in their carts.

The waiting period is limited by 90 days.

You can add several events in a single Wait for event element, and specify attributes for each of them. User who triggered any of the events specified will follow the [Triggered] branch of the journey.

A/B Split

Test which sequence of messages works best with the A/B Split and adjust your communications to your audience's needs and preferences.

Place the A/B Split element to the canvas after any other element. Double-click it to set the percentage of users going to each branch. According to the percentage you set, journey travelers who reach this journey step will be split randomly into two branches.

By default, the journey travelers are split in half, 50% for each branch.


Wait until

The Wain until element delays the next journey element for the specified period or until the specified time. To set up, add the Wait until element to the canvas and double-click it.

To set the exact time the user will continue the journey, check the Wait until checkbox and set the time in 24h format. Users will go to the next journey element once the specified time passes in their timezone. If the time has already passed in the user’s timezone, that user waits till the next day.

To set the time to wait after the previous element triggered, check the Delay for checkbox and set days, hours, and minutes to wait before triggering the next journey element.

The possible delay period is limited to 90 days.

Set tags

To assign tag values to users within the journey:

  • Add the Set tag element wherever you'd like on the canvas.

  • Choose an app which tags you're going to set.

  • Press Add tag and select a tag from the drop-down list containing all the tags created in your Pushwoosh account.

  • Specify values for the tag selected depending on its type.

You can set up to 10 tags at once.

For user-specific tags, values are assigned to all user's devices with the same user ID. For tags that are not user-specific, values are assigned to a particular device a user's traveling the journey with.

As for use cases, there are plenty of. For example, tagging users who reach a particular journey stage comes in handy when building further communications. Setting tag values according to events users trigger or their attributes, you can communicate to that users more personally and send them personalized offers.


Using webhooks, you can share journey data with just about any other service out there: analytics, CRM systems, marketing automation services, and much more. For example, automatically notify external services when a customer has taken a particular action within the journey, send customer data into your analytic tools, trigger third-party emails or SMS on specific in-journey events – there are numerous use cases, choose yours.

Check out some examples of how to implement webhooks for different use cases and services: Webhook Integration Samples

  1. Drag-and-drop the Webhook element to the canvas. Place Webhook anywhere you'd like, keeping in mind what journey info you're going to send to a third-party service.

  2. Give it a name. It might be handy to name webhooks according to the services they send data to or the use case.

3. Specify the request URL that you want to send the data to.

4. Set the content type. By default, the content type is application/json. If the service you're sending the webhook to requires another content type, enter the appropriate one in the Content-Type header value. Examples of content types are:

  • x-www-form-urlencoded

  • text/plain

  • text/xml

5. Add headers if needed.

For example, some APIs may require HTTP Basic authentication. To authenticate such requests, do the following:

  • Open plain text editor and type without any spaces username and password separated by a colon, e.g.: myuser:mypass

  • Encode it into Base64.

  • Copy the resulting string (e.g. bXl1c2VyOm15cGFzcw== )

  • Add the Authorization header in webhook settings, where the value would be "Basic <YOUR BASE64 STRING>". Mind the space after the word "Basic".

6. Compose the request.

Make sure to use the proper request syntax.

For example, if the content type you use is application/json, you can test the request validity in any JSON checker.

7. To add the Dynamic Data (customer's tag values, attributes of the events the customer triggered, device data, etc.) to your webhook, choose the Dynamic Data parameter, copy the placeholder, and paste it to the request body.


Exit is a point where the journey ends. Once you specified all communications in a single journey, add the Exit element to complete it.

Last updated