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 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 edit, double-click the element on the canvas.
Give a name to the Start Event point to distinguish it from others. Then, choose an Event to be used as a trigger for users to enter the journey.
If the Event you select has some attributes, you can narrow the Start Event conditions with 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.
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.
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 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 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.
Please be aware that users' timezones won't be taken into account when sending messages to the Start Segment. All users will enter the journey once you activate it.
To schedule start of sending journey messages according to users' timezones, set the Wait until element right after the Start Segment.
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 scheduled 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 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 even 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.
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. 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.
Personalizing messages content
For greater relevance of your messages to journey travelers, you can add personalized content based on users' behavior. For example, sending an Abandoned Cart push, add the product name for better conversion – remind users of what exactly they wanted to purchase, that'll make your message more convincing.
When a user triggers some event within the journey, i.e. performs some action in the app (e.g., adds a product to their cart or reaches a specific game level), use this event's attributes in your follow-up message's content instead of inserting tag values.
While setting the Send Push / Send Email element on your journey canvas, toggle Personalize message with event attributes. Choose the personalization placeholder (or several placeholders) to populate with the event attributes.
Please take into account that personalization from event attributes is available for presets only. Custom content can be personalized with tag values instead.
Split to opened/ignored
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 element indicates a point to communicate to a customer with an email message.
To send an email at some moment of the customer journey, add the Send Email element to the canvas following the point you consider to be the appropriate basis for communication. Choose the email preset you'd like to use.
Please be aware that if any segmentation rules are saved in the email preset you choose for a Journey, they won't be applied to the Journey.
For Android apps, 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 and choose 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 uses Segments created in your Pushwoosh account. To learn more about Segments, please refer to the guide.
Segment Splitter divides the journey into two separate branches based on segmentation. Choose a Segment from your Pushwoosh account to constitute the first segment. Customers who do not fall under Segment'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.
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 and double-click it to set the branches.
You can divide the journey travelers into two, three, or four branches.
Set the percentage of users going to each branch. The total of all branches should be 100%. According to the percentage you set, journey travelers who reach this journey step will be split randomly into the specified number of branches.
By default, the journey travelers are split in half, 50% for each branch.
For each branch, you'll see the number of users who pass through that particular branch within the journey.
Before sending messages to your users, you might need to check whether they are reachable via a specific channel, be it push notifications or emails. Try reaching out to users who are not subscribed to pushes or emails via other channels, and make sure every single user is engaged!
Drag and drop the Reachability check element from the left panel to the canvas after any element you want to follow up by the communication. Then, choose the channel you'd like to check – push notifications or email.
For push notifications, the Push Alerts Enabled tag values will be reviewed, and the journey travelers will be split into two branches accordingly, one for those who have this tag set to "true" and those with "false" tag value. As for emails, users who have the Unsubscribed Email tag set to "true" will go to the not-reachable branch.
Then, follow up the Reachability check point with the communications accordingly – reach out to users not subscribed to pushes with emails and vice-versa, or send an In-App to cover all of them. You might want to check both channels simultaneously, and it's a piece of cake – just follow up the not-reachable branch of pushes, for example, with the reachability check for emails. Thus, you can detect the users who are not subscribed to any of your updates at all and reach out to them with In-Apps or other mediums (such as, e.g., SMS – refer to the Webhooks samples).
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.
To assign tag values to users within the journey:
Add the Set tag element wherever you'd like on the canvas.
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 tailored offers.
Dynamic Tag Value
Tags can be set both manually and dynamically.
To set tags manually, select the tag in the Manual Tag Value section of the Set Tags settings. Then, type in the values to be assigned to users who have reached this point during their journey.
Setting tags dynamically means the tag values are taken automatically from attributes of the events the user trigger prior to reaching the Set Tags journey point.
To learn more about Events and their attributes, please refer to the Events guide.
To set dynamic tag values, do the following:
1. Put the Set Tags element anywhere on the canvas providing that at least one event-based element (Start Event / Wait for Event) precedes the Set Tags point.
2. Double-click the element and press +Dynamic Value in the Dynamic Tag Value section while configuring the Set Tags element.
3. Select the tag to set.
If you choose a tag to be set manually, it won’t appear in the tags list of the Dynamic Tag Value section.
4. Choose an event from the dropdown list and the tag, which value will be set dynamically depending on the attributes of the event the user triggers.
Please make sure the tags’ and event attributes’ types are the same. For example, to set the STRING tag, the STRING event attribute should be used. To learn more about tag types, please refer to Tags and Filters guide.
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.
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.
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:
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.