Define wait periods, branch journeys based on user behaviour, and tag users using journey steps.
Users move the Journey in real-time. Use the wait action to space out your messages and steps. Define your wait time in minutes, hours, days or weeks. When a user enters these steps they will wait here the defined amount of time before leaving and going to the next step.
A wait node with users currently waiting to progress in the journey
For example, if you send a message in the Journey and want to split users based on the interaction with that message, you should set a wait node for how long you want the user to interact with the message before continuing.
Select the partic#ular days on which users should be allowed to move forward into the next step of the Journey.
For example, if you want to only send a notification to users in the evening at the weekend, you could set up a time before the notification that specifies that the user can only progress to the message node during this time period:
Screenshot showing an example of a time window node
When specifying a Time Window outside the predefined allowed periods, a timer will be activated to determine the wait duration until the next eligible period within the Time Window. The timer will be set to trigger at any time within the allowed Time Window.
Example:
If the allowed Time Window is every Tuesday from 1:00 PM to 6:00 PM PST, and you set a Time Window outside this period, OneSignal will set a timer to activate at a random time within the allowed window on the next available Tuesday.
For instance, if the user sets the Time Window outside the allowed period, the timer might activate at 5:45 PM on that Tuesday.
Use the Yes/No Branch to personalize a user’s journey based on segment membership or previous message behavior.
Branches depending on what segment the user is in. For example, if you tag your users with a plan type (lets say “Free” and “Paid”) then you can create a branch for free users and paid users. The free branch may contain more messaging incentivizing users to upgrade, while the paid branch may introduce more paid features.
Branch depending on what behavior the user had for other messages in the same Journey. For push those options are “Clicked” and “Delivered”. For email those options are “Delivered”, “Opened” and “Clicked”. For example, if a user did clicked a previous notification, maybe you want to follow up with another notification or add a data tag to those users
Safari does not support Confirmed Delivery so keep this in mind when you create branched messages.
An example of a 3-way split branch
Split branches direct random segments of your audience to different messaging paths. Marketers use this feature to test various elements, such as message content, channel performance at specific stages of the customer journey, or even the overall flow structure. You can split your audience across up to 20 different branches.
Once a Journey is live, you cannot edit a Split Branch step. If you would like to add/remove branches, you will need to create a new Journey.
Split branch settings
You can choose to distribute your audience evenly across branches or customize the percentage allocation. If the percentage split results in repeating decimals (for example, with 3-way or 6-way splits), the system will round the percentages to whole numbers, evenly distributing them and rounding up the last branch to make the total 100%.
Percentage splits are applied at the user level, meaning the distribution may not always be perfectly even, especially with smaller sample sizes. For instance, with a 50/50 split and a 6-person audience, you might end up with 4 people on one path and 2 on the other. However, the distribution will be more even with larger sample sizes.
By default, users who re-enter a Journey will continue to be randomly routed through your percent split branches. If you would like to users to continue on the same branch each time they re-enter, you can toggle off the Randomize on re-entry setting.
To track which branch a user followed, you can utilize the Tag Step.
You can set up ABN tests by nesting your Split Branches and setting the percentages in accordance with your ideal sample group structure.
For example, if you want to set up a test with 3 variants with equally proportioned, randomized sample groups, then you start by adding a Split Branch set to send 33% of the audience down one path, and 67% down the other. Next, under the 67% branch, you’ll nest another Split Branch, sending 50% of that group down each branch. This will give you approximately a 1/3 breakdown across each of your 3 branches.
See how audience members naturally behave without a touch point by keeping one path free of message nodes.
Once you’ve assessed and concluded that one branch is the highest performing, the split branch node can be edited to send 100% of the audience down that particular path.
Use the tag user action to add tags to users. Examples of why you might add a tag include tagging them with the Journey and step they are on in case you want to creates a segment or target this group later.
You can also use tags to make use of in-app messaging in Journeys. Tag users at a particular step in a Journey and then set up an in-app message that targets an audience with that tag.
Using Tag User action as part of an Onboarding/Welcome Flow.
A use case for Tagging Users in a Journey can be to take users exclusively through an Onboarding/Welcome Flow without new users participating in any other Journeys as the Onboarding/Welcome Flow takes priority.
As such the first action of a Journey would be to add a custom tag such as onboardingJourney : Active and use that tag to create a live audience of all users going through their Onboarding/Welcome flow and ensuring that this segment gets excluded on other, lower priority Journeys that you wish will not interfere with the user experience.
A simple onboarding/welcome flow
The last step before users exit and leave the Onboarding/Welcome Journey would be to delete the tag so that the user now leaves the aforementioned audience thus making them eligible to participate in any other Journeys you see fit. Simply leave the value as blank in the Tag User action as in the example below:
A tag node settings to remove the tag from the user