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.
To ease your journey configuration, use the hotkeys allowing instant managing journey's parts with no clicks:
- select a journey element and copy-paste it by Ctrl+C/Ctrl+V (Cmd+C/Cmd+V);
- select several journey elements by holding Shift/Cmd and copy-paste the whole selected combination by Ctrl+C/Ctrl+V;
- copy and paste elements between journeys (however, the limitation exists: do not switch the tab while copying);
- delete journey elements from the canvas by pressing your system Delete hotkey.
When a Trigger-based Entry is set for the journey, users who trigger a specific event (i.e. performs a specific action) enter that journey once that event takes place.
To set a Trigger-based Entry, locate the element on the canvas. 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 Trigger-based Entry 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.
You can add multiple Trigger-based Entry points — in that case, any of them will start the journey.
Audience-based Entry launches a journey for a pre-built segment of a particular app's users. A segment includes app subscribers who comply with the specific conditions.
To set up the Audience-based Entry, 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.
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 Audience-based Entry 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 Audience-based Entry 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 Audience-based Entry 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 Audience-based 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.
You can add multiple entry elements — in that case, any of them will start the journey. Each entry element can start their own journey.
If you use both Trigger-based and Audience-based simultaneously, conditions of both will apply but not intersect. That means the journey will include users who comply with the Segment conditions and those who trigger the Event. These sets of users may or may not intersect; not intersection enters the journey, but the whole sets in a union.
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 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.
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.
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 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.
- If your app is opened at the moment the 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.
Segment Split 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 Split and end with its own Exit.
You can add as many Segment Splits as you need, even flowing out of each other.
Wait for Trigger element lets you set different communication scenarios based on whether a user triggers a particular event within specified time period or not. Users will split to two branches – Triggered and Not triggered – each of which can be followed up with any communications and flow controls to reach the maximum results.
The waiting period is limited by 90 days.
You can add several events in a single Wait for Trigger 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/n Split and adjust your communications to your audience's needs and preferences.
Place the A/B/n 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 Time Delay element makes users wait for a specified amount of time before moving forward to the next journey step. The delay can be set as a time period, exact time, or can be automatically taken from a tag value or event attributes.
When set to a specific time period, the Time Delay element lets users continue their journey only when the specified amount of time passes.
For example, if a delay is set to 8 hours, a user who reaches this journey point will wait for 8 hours before moving to the next step.
You can set the exact time for users to move forward through their journey. That means the users who have reached the delay point go to the next journey step once the specified time within that same day occurs.
For example, if a user gets to a delay point early in the morning and you have set the delay to wait until 5:30 PM, those users will proceed to the next journey point at 5:30 PM according to their device's timezone.
For some cases, you might need to set a delay dynamically, based on what you already know about journey travelers or what actions they perform within their journey.
To set a delay based on user tags or events they trigger:
- choose the Based on user/event data option;
- select a tag or event to get data from.
The next journey step can be scheduled to happen right on the date and time specified in a tag value or event attributes or several days after/several days before that date.
For example, you set the "before 2 days" delay to remind users of their appointment by getting the date and time of the visit from the Appointment event attributes. If a user makes an appointment for tomorrow, they won't fall under the "before 2 days" delay condition and will exit the journey right after they reach the Time Delay point in their journey.
However, to manage these cases, you can split the further journey into two branches following the Time Delay element and let users continue their journey even if they fall out on the delay step.
Check the Split to branches if the date's in the past or date is empty checkbox, and the further flow will be split up into two branches – "In the future" and "In the past", where "in the past" will gather users whose tag values or event attributes don't fall under the delay conditions and can be built of any other elements (for example, another Time Delay, Segment Splitter, Wait for Event, or immediate communication).
To assign tag values to users within the journey manually:
- Add the Update User Profile element wherever you'd like on the canvas.
- Press + Manual value 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.
Dynamic User Profile Update means the tag values are taken automatically from attributes of the events the user trigger prior to reaching the Update User Profile journey point. Setting tag values according to events users trigger or their attributes, you can communicate to that users more personally and send them tailored offers.
To set dynamic tag values, do the following:
1. Put the Update User Profile element anywhere on the canvas providing that at least one triggered-based element (Trigger-based Entry or Wait for Trigger) precedes the Update User Profile point.
2. Double-click the element and press +Dynamic Value in the Dynamic Tag Value section.
3. Select the tag to set.
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.
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.
- 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:
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.:
- 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.
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.