Journeys

Automate Your Message Sequences

Our easy-to-use visual builder empowers you to craft personalized messaging journeys, all with no code.

Create Journeys for every situation:

  • Onboarding sequences to guide your users to success
  • Re-engagement campaigns to get your users back
  • Abandoned cart workflows to drive sales and revenue
  • Promo, upsells, post-action followups, and more
1427

Example of an Abandoned Cart Journey

Requirements

Journeys are currently available to customers on our Professional and Enterprise plans (see pricing).

To utilize Journeys you need to be identifying your users with External User ID. Only users with an External User ID can enter a Journey. This will enable OneSignal to track a user all the way through a Journey, sending messages from across any of the channels you'd like to use. You can see if you are setting these IDs today by checking your All Users page and turning on the External User ID column to see if it is populated.

If you are not setting External User ID today and want to make use of Journeys, there are multiple ways to set these including CSV upload or in our web and mobile SDKs.

The Journeys feature is available today for the full Omni-Channel experience - mobile push, web push, in-app message, email, and SMS.

Journey Settings

Start by naming your Journey something descriptive to find it in the dashboard. Like "Abandoned Cart", "Welcome Campaign", "Inactive User Reach Out", etc.

1424

Journey entry rules

Entry Rules

This defines how users will enter your Journey and any filters you want to apply to that audience.

User matches the segment criteria

Use this option to target specific segments. When a user enters a segment they will enter the Journey.

Users will not automatically exit a Journey when they exit the segment, instead you need to define an exit rule.

User is inactive for amount of time

Use this option to support re-engagement and reactivation campaigns, targeting users who have not been on your website or app for a specific time period. This setting will take into account the duration that current users may already have been inactive, allowing for more immediate re-engagement activity upon Journey creation.

Note that you will still need to select at least one segment to include when selecting the User is inactive for amount of time option and that the users that enter the journey will be those that have been inactive for the selected period of time and match the segment criteria.

Segments

Include or exclude the segment(s) of subscriptions that are eligible to enter the Journey.

To enter a Journey a device must have an External User ID defined so the user is identified.

Future additions only

Segments are dynamic and have users entering and exiting them constantly. Check this option if you only want to target every user that enters your selected segments after the Journey is live.

1412

Audience stats

Audience stats

This will give you the current count of subscriptions based on your entrance criteria. This is displayed in the Journey settings and on the Journey canvas. Use this to help understand what type(s) of messages might reach the most people when creating your Journey.

Push includes the count of all web and mobile push subscriptions that are subscribed and can receive push.

Email includes the count of all email subscriptions that are subscribed and can receive email.

SMS includes the count of all SMS subscriptions that are subscribed and can receive SMS.

In-App includes the count of all subscriptions that are reachable via iOS and Android. Note that unlike other channels, in-app messages do not require users to subscribe or opt-in, but they do require the user to have the app open to receive the in-app.

Exit Rules

744

Journey Exit and Re-entry Rules

These settings define if and when a user should automatically exit your Journey. They can re-enter a Journey based on the re-entry rules you define.

Exit when user becomes active in your app/website

Use this option if you want users who visit your website or app to exit immediately. This is useful if your Journey is a re-engagement or reactivation campaign.

Exit when user no longer matches the audience conditions

Use this option if you want users to exit immediately in cases where they no longer match the original target audience segment.

Exit when a user enters a segment

If at any time the user falls into one of the selected Segments, they will immediately exit and not enter any more steps or be sent any more messages.

Tag users when they exit early

744

Tag User on Early Exit

This will add a tag to a user when they get to this step. If value is left empty the tag will be removed if it exists. If your app has reached the tag limit, no tag will be applied.

For example, if you want users to enter another Journey when they exit early, you could tag them (exited-journey-1:true) then create a segment for that tag and value, and set the trigger for the next Journey to be when users enter that segment with tag (exited-journey-1:true).

Another good use case is using tags to ensure users are not active in too many Journeys. By tagging users when they start a Journey, finish a Journey, or exit early, you can create segments that exclude these users from other Journeys e.g. at the start of a Journey tag users (in-journey:true), then at the end of the Journey and on exit, remove that tag.

Re-Entry Rules

Defines how often they can repeatedly enter a Journey. Some message sequences you want to send once, like a Black Friday promotion. Some messages you’ll want to send every time a user is eligible to receive, like an abandoned cart campaign every time a user abandons the card, or a reactivation campaign every time they are inactive. This helps you space out the time in between.

🚧

Journey Settings: Scheduling

Scheduling is not currently supported. Once you make your Journey live it is live until you stop or delete it.

Journey Messages

Send a Push Notification

Select the Message Template you would like to send. We strongly encourage creating new templates specifically for your Journey to ensure analytics are accurate and not shared across instances of the template. Also, name the template something recognizable so you can easily find it in the dropdown.

Message scheduling is not currently supported. When a user reaches this step in your Journey they will be sent the message immediately.

Send an In-App Message

First, ensure that you’re set up to support sending In-App Messages.

Once set up, you can add an in-app message node to your Journey by clicking on the (+) and selecting “In-App Message”. This will open up a side panel where you can manage the content and format of your message via drag and drop or HTML editor.

Aside from the content of the message, you also have the option to set trigger conditions for the message as well as a delivery schedule, which defines the duration of time the in-app message will remain active and continue triggering for your users.

Currently for In-App Messages (IAM) to display, the user must have reached the Journey IAM node before a new session. A new session is when the app is out of focus for 30 seconds+ and put back into focus.

Users that enter the IAM node during the current session are not eligible to get the IAM until a new session begins. Users go through Journeys in real time so they may not be eligible for IAMs at the time they reach the IAM node. You set the amount of time the user can create a new session to get the IAM using the "Delivery Schedule" within the IAM node.

Send an Email

First ensure you’ve set up your app to support sending email.

Select the Message Template you would like to send. We strongly encourage creating new templates specifically for your Journey to ensure analytics are accurate and not shared across instances of the template. Also, name the template something recognizable so you can easily find it in the dropdown.

Message scheduling is not currently supported. When a user reaches this step in your Journey they will be sent the message immediately.

Send an SMS

First ensure you’re set up to support sending SMS.

Next, make sure you’ve created an SMS template with the messaging you’d like to send out from your Journey. You can access this by:

  • Clicking on “Messages” at the top of your screen
  • Then click on “Templates”
  • Finally click “(+) New Template” where you’ll select “New SMS Template”

Then, in your Journey, click on the (+) to add an SMS node. This will open up the side panel where you can select the template you’d like to send out at that specific point in the Journey.
Once users reach that step in the Journey, SMS messages will send out to them immediately.

Journey Actions

Wait

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.

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.

Time Window

Select the particular days on which users should be allowed to move forward into the next step of the Journey.

Yes/No Branch

Use the Yes/No Branch to personalize a users journey based on segment membership or message behavior.

Segment Membership

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.

Previous Message Behavior

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 not click a previous notification, maybe you want to get more aggressive and send more messages, or send them a bigger incentive.

Safari does not support Confirmed Delivery so keep this in mind when you create branched messages.

Split Branch


Split branches send randomized portions of your audience down each branch and is a way to test various things like message content, channel performance at that step of your Journey, or even larger flow structures.

The randomization works at each audience member which means you may not always see perfectly proportioned groups, especially with smaller sample sizes. For example, with a 50/50 split on a 6-person audience, you may see 4 go down one path and 2 down another. However, this will look much closer with larger sample sizes.

📘

User Re-entry Branch Path

Users that re-enter the Split Branch Step will continue to follow the same path. For example, a user that followed Branch A will continue to do so upon re-entering the Journey.

To track which branch a user followed, you can utilize the Tag Step.

ABN Tests (Multi-Variant Testing)

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.

Control Groups

See how audience members naturally behave without a touch point by keeping one path free of message nodes.

Choosing a Winner

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.

Tag User

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.

📘

If you'd like to adjust when a customer sees a message, you can drag and drop messages and actions on the canvas while your Journey is in Draft.

Managing Active Journeys

"Refresh Stats" Button

Clicking Refresh Stats will refresh all of the Journey statistics to see an updated view of users passing through the Journey.

"More Options" Dropdown

  • Journey Examples— will open a new browser window to a page that shows examples of pre-built Journeys inside of our documentation
  • Delete — will delete a Journey. Once deleted you cannot retrieve it.
  • New Journey — will bring you to a new instance of Journey.
  • Stop + Archive — stops the Journey and gives it an archive status. These can still be accessed and duplicated.
  • Duplicate — creates a copy of that Journey which you can then edit and make live.
  • Export as Image — will automatically download a PNG image of your Journey. The image will only capture what is visible on your screen.

"Edit" Button

Clicking Edit will enter "Edit Mode" allowing you to update your Journey

🚧

Saving changes in edit mode will be made live immediately.

Please note that changes made in edit mode will be made live immediately. As soon as steps are added or changed, audience members will be able to enter into or other experience those changes, as applicable.

Supported Edits

  • Journey Name
  • Update Entry Segments
  • Update Exit Criteria
  • Add new steps between existing steps
  • Update details of existing steps
  • Delete Message steps
  • Delete Tag steps
  • Delete Wait periods - note that deleting a wait node will immediately move your users into the next node

Not yet supported Edits

The following list of edits is not yet supported. To make any of these changes, you can Stop and Archive the Journey, then duplicate it. When duplicating it, we also recommend that you exclude any previous users who have already received/experienced the Journey.

  • Update Triggers for entry criteria
  • Update Re-entry Rules
  • Delete branches
  • Pause a Journey

"View Stats" Button

The View Stats button will exit the "Edit mode"and enter "Stat Mode" allowing you to view the statistics of the message templates.

Journey Stats

Warning: Stats are reported at a template level. If you are reusing a template across different Journeys or in combination with Automated Messages the send and open stats will be combining these counts. We recommend creating a new template or duplicating a template for each Journey it is used in to reduce any confusion here.

Stats for each step

NameDescription
StartedNumber of users that entered this step. For “Entrance” this is the total number of users that started this Journey. This will increment every time a user restarts a Journey.
WaitingNumber of users that are waiting in this step. For message steps this will typically be 0 as users are immediately sent the message and they move to the next step.
CompletedNumber of users that have completed this step and moved to the next step. For “Exit” this is the total number of users that went through the full Journey.
Exited EarlyNumber of users that exited due to the exit rule configured. For “Exit” this is a count of all users who exited early at any point in the Journey i.e. they didn’t make it all the way through the Journey. This is a good way to track the goal of your Journey, for example, if your exit rule is entered an upgrade segment, this is a good way to track how many users converted.

Push Stats

NameDescription
SentNumber of messages we attempted to send.

Things that will affect delivery include users not being subscribed to push, if you have frequency capping turned on, if users have unsubscribed from push. You can get a better idea on deliverability by looking at your Delivery page to see in detail what is happening with each individual message.
ClickedTotal clicks for this message template.

In-App Message Stats

NameDescription
ViewedTotal unique views for this message.
ClickedTotal unique clicks for this message.

Email Stats

NameDescription
SentNumber of messages we attempted to send.

Things that will affect delivery include users not being subscribed to email, if users have unsubscribed from email. You can get a better idea on deliverability by looking at your Delivery page to see in detail what is happening with each individual message.
Total OpensTotal opens for this message template. Note this is total opens and not unique opens.
Total Link ClicksTotal clicks for this message template. Note this is total clicks and not unique clicks.

SMS Stats

NameDescription
SentNumber of messages we attempted to send.

Things that will affect delivery include users not being subscribed to SMS, if users have unsubscribed from SMS. You can get a better idea on deliverability by looking at your Delivery page to see in detail what is happening with each individual message.