Skip to main content
Journey settings control who enters, when they exit, whether they can re-enter, and when the Journey starts or stops.

Naming and describing your Journey

When you click Create Journey, a modal appears (only once per new Journey) prompting you to:
  • Enter a Journey Name (required)
  • Enter a Description (optional)
Validation rules:
  • Journey name is required.
  • Name maximum length: 300 characters
  • Description maximum length: 255 characters
Click Continue to save the Journey and open the Settings panel. If you click Cancel, the Journey will be created using the default auto-generated name (for example, New Journey YYYY-MM-DD) with an empty description.
The initialization modal does not appear when duplicating a Journey or creating one from a template.

Editing name and description

After creation, the Journey Name and Description appear at the top of the page and can be edited inline. The description field supports multi-line text. Start by giving your Journey a name and description that clearly communicate its purpose to your team. Common examples include:
  • Abandoned Cart
  • Welcome Campaign
  • Inactive User Reach Out
Journey Settings screen
Alpha feature: Journey and Message Goals are currently in alpha. To become part of the alpha program, contact support@onesignal.com.
Goals help you measure whether your Journey or a specific message inside it is performing the way you expect.A goal is a metric threshold like “more than 1 user entered the Journey” or “CTR is greater than 20%”—that OneSignal continuously evaluates as your Journey runs.You can configure goals in two places:
  • Journey Goal (overall Journey performance)
  • Message Goal (for individual message action steps that support goals)
Goals are not currently supported for Journey action steps.

Journey Goal

A Journey Goal tracks a single success metric for the entire Journey, for example whether users are entering, exiting, or completing it.
Journey Settings with a Journey Goal configured
To set a Journey Goal:
  1. Open your Journey and click Settings.
  2. Select Goals.
  3. Enable Set a Journey Goal.
  4. Enter a Name (required) and optional Description.
  5. Choose a Metric and condition, then set the Value threshold.
  6. Click Save.
Once configured, your Journey Goal appears at the top of the Journey report with its current value.
Journey report showing the Journey Goal and current progress

Journey Goal metrics

Journey Goals support Journey-level engagement metrics such as:
  • Entered Journey (users who started the Journey)
  • Completed (users who reached the end)
  • Exited Early (users who left due to exit rules)
Use Journey Goals when you want a quick health check like:
  • “Did at least 100 users enter this Journey?”
  • “Are most users completing it?”
  • “Are too many users exiting early?”

Message Goals (Push + other supported message steps)

Message steps support their own Message Goal, which measures performance for that specific message. For example, a Push Notification step can track CTR, confirmations, or clicks.
Push step settings showing Message Goal configuration
To set a Message Goal:
  1. Click the message action step in your Journey (for example, Push Notification).
  2. In the editor, enable Set a Push Goal (or equivalent goal toggle).
  3. Enter a Name and optional Description.
  4. Select a Metric, condition, and Value.
  5. Click Save.
When the message is sent, the goal appears in the message-level report so you can monitor whether that message is meeting your benchmark.
Message report showing goal status and delivery metrics

Message Goal metrics (Push)

Push goals support delivery and engagement metrics such as:
  • Sent
  • Delivered
  • Confirmed
  • Clicked
  • CTR
  • Failed
  • Unsubscribed
  • Capped
Some metrics may allow you to track either:
  • Rate (percentage-based), like CTR
  • Count (total number), like clicks

Entry rules

Entry rules define how users can enter your Journey based on their segment membership or custom events.
Entry rules cannot combine Segments and Custom Events. You must choose one type per Journey. You can still use Custom Events to continue users through a Journey via the Wait until step.Once a Journey is set live, you cannot switch between Segment-based and Custom Event-based entry rules. To change the entry type, stop and archive the Journey, duplicate it, then configure the new entry rules.
Segment-based Journey entry rule configuration

Audience segment

Use Include Segment and Exclude Segment to control who qualifies for your Journey. Segment checks are done at the Subscription level and consider all of a user’s Subscriptions. See the exit rules Warning for what happens when a user matches both entry and exit rules. If a Journey is active, the segments used in its entry rules cannot be edited. To modify them, archive the Journey or remove the segment from the entry rules first.

How inclusion and exclusion logic works

  • ✅ If any Subscription is in an Included Segment(s) → the user enters the Journey.
  • ❌ If any Subscription is in an Excluded Segment(s) → the user is blocked entirely.
Journeys evaluate audience qualification using all of a user’s Subscriptions. To avoid unexpected behavior, always define both Included and Excluded Segments explicitly.Example: You’re targeting users inactive for 60+ hours (last_session > 60hrs).
  • Include: Segment where last_session > 60hrs
  • Exclude: Segment where last_session ≤ 60hrs This prevents users with one inactive and one active Subscription from mistakenly qualifying.

Future additions only

When this option is checked, the Journey ignores all users who are already in the included or excluded segments at the time it goes live. Only users who join the segment after launch can enter. This applies permanently — even if an existing user leaves the segment and re-enters later, they are still excluded. Use this for one-time campaigns (e.g., onboarding) where current users should not receive the Journey.
Once a Journey with “Future additions only” is set live, the included and excluded segments are locked and cannot be edited. If you need to change the target audience, you must duplicate the Journey, edit the included and/or excluded segments, and launch the new Journey.

Custom events

Define which users should enter the Journey based on Custom Events. Users who satisfy the entry rule requirements can enter the Journey more than once at the same time. When a Custom Event name (and optional properties) match the entry rules, the user enters the Journey and the event is stored. The stored event can be referenced in Liquid syntax for message personalization and used for Event Matching in action steps. Each entry carries its own event properties, so multiple entries for the same user can contain different data.
  • Custom Event Name: The event name you plan to send via API.
  • Filter by property: Additional property conditions to further filter which users enter the Journey.
Journey custom event property filters
Custom events can also be used for:

Exit rules

Exit rules define when users automatically leave the Journey. They may re-enter later based on your re-entry settings.
If a user matches the entry rules and exit rules, they enter the Journey and complete the first step before exiting. You can prevent this in two ways:
  • Add a Wait step as the first step of the Journey.
  • Add an Excluded Segment to the entry rules that explicitly filters out users who should not enter. See Audience segment for details.
Exit rules configuration panel in Journey settings

Exit when user becomes active in your app/website

As soon as the user returns to your app or website with the OneSignal SDK, their “last session” updates, making them active again and exiting them from the Journey. Useful for re-engagement or reactivation Journeys.

Exit when custom event condition occurs

Send a Custom Event to exit the user from the Journey immediately.

Exit when user no longer matches the audience conditions

Automatically remove users if they stop matching the original entry rule audience segments.

Exit when a user enters a segment

If a user enters a selected segment at any point, they are removed from the Journey and stop receiving messages.

Tag users when they exit early

Apply or remove a tag when users exit early.
  • Leave the value blank to remove an existing tag.
  • If the app is at the tag limit, no tag will be applied.
Common use cases:
  • Trigger another Journey: Tag users (e.g. exited-journey-1:true), then use that tag to define a segment for your next Journey.
  • Limit concurrent Journeys: Tag users when they enter (in-journey:true), and remove the tag when they finish or exit. This allows you to exclude them from other Journeys using that tag.

Re-entry rules

Re-entry rules determine if and when users can enter the Journey again after exiting. The re-entry timer starts when the user exits the Journey — not when they entered. Re-entry rules apply only to Journeys with Audience Segment entry rules. Custom Event-based Journeys always allow re-entry.
Re-entry configuration for a Journey
Use re-entry for recurring campaigns like cart abandonment or inactivity re-engagement.
If your Journey uses a time window node for recurring sends, set the re-entry duration longer than the time window duration to prevent users from re-entering and receiving a second message within the same window. See Using time windows for recurring sends for details.
When editing a Journey’s re-entry rules:
  • Re-entry settings only apply to users who exit after the rules are updated.
  • Earlier exits follow the original re-entry configuration.

Schedule

Set when the Journey should start and end.
  • Start the Journey immediately or at some point in the future.
    • The Journey will appear as Scheduled in the dashboard until the start time.
    • It automatically becomes Active at the configured start time.
  • Allow the Journey to run indefinitely until you stop it or set a future end time.
    • If an end date is set, the Journey will be Stopped and Archived automatically once the end time is reached.
    • All messages immediately stop for users currently in the Journey.
    • These users will not trigger exit or early exit events.

Let current users finish the Journey

To stop new users from entering but let current ones finish:
  1. Update the Entry Rules Audience Segment to only include an empty segment (e.g. a Test Users segment).
  2. Update the Exit Rules to Uncheck “Exit when a user no longer matches the audience conditions”.
This ensures existing users continue through to the end.
If your account has reached its Journey limit:
  • Scheduled Journeys will not launch.
  • The most recent scheduler will be notified.
To resolve, archive an active Journey, then try again.

FAQ

Can I change entry rules after a Journey goes live?

You cannot switch between Segment-based and Custom Event-based entry rules on a live Journey. To change the entry type, stop and archive the Journey, duplicate it, and configure new entry rules on the copy.

What happens if a user matches both entry and exit rules?

The user enters the Journey and completes the first step before exiting. To prevent this, add a Wait step as the first step or refine your Excluded Segments to filter those users out before entry.

Can I edit the segments used in a live Journey’s entry rules?

No. Segments referenced in a live Journey’s entry rules are locked. To modify them, archive the Journey or remove the segment from the entry rules first.

How does “Future additions only” work?

When enabled, all users currently in the included or excluded segments at launch are permanently excluded from the Journey — even if they leave and re-enter the segment later. Only users who join the segment after launch can enter.

Can a user re-enter a Journey triggered by Custom Events?

Yes. Custom Event-based Journeys always allow re-entry. Each time a matching event fires, the user enters a new instance of the Journey with that event’s properties.

Journeys overview

Introduction to Journeys and what you can build with them.

Journey actions

Add branching logic, wait steps, split paths, and delays.

Journey messages

Configure push, email, SMS, and in-app message steps.

Custom events

Send events from your app or API to trigger Journey entry and exit.