Skip to main content

Journeys

A journey is an automated, multi-step flow that guides users through a sequence of messages and decisions over time. Where a campaign is a single send, a journey reacts to user behavior -- waiting, branching, and messaging across multiple steps until the user reaches the end of the flow.

Journeys are ideal for automations like onboarding sequences, abandoned-cart recovery, trial nudges, and lifecycle re-engagement -- anything where timing and follow-up matter.

Journeys vs. campaigns

Use a journey when you need automation that unfolds over time. Use a campaign when you just need a one-time (or scheduled) send to an audience.

Builder overview

Journeys are built on a visual canvas (an n8n-style flow editor). You add nodes for each step and connect them to define the path users take through the flow.

  • Drag nodes onto the canvas for waits, channel messages, and segment filters.
  • Connect nodes to define order and branching. Connections are flexible -- you arrange them to match the logic you want.
  • Publish when the flow is ready. The journey is resolved and validated at publish time, so the editor checks the structure before it goes live and surfaces problems you need to fix first.

Until a journey is published, no users enter it. Publishing activates the entry criteria and begins enrolling qualifying users.

Entry criteria

Entry criteria decide who enters the journey and when. A user can be enrolled by:

  • An event trigger -- the user performs a specific event (for example, signed_up or added_to_cart), and that entry point starts their journey.
  • Matching a segment -- the user belongs to a chosen segment.

You can combine these so that only users who trigger an event and match a segment qualify.

Entry gating further controls qualification -- it determines which users are actually allowed to enter when they meet the trigger or segment conditions. This prevents unintended or duplicate enrollments and keeps the entry audience precise.

Wait / sleep nodes

A Wait (sleep) node pauses a user's progress through the journey for a set duration before they move to the next step.

Use waits to space out messages and give users time to act -- for example, wait one day after a welcome email before sending a follow-up, or wait a few hours after a cart is abandoned before sending a reminder.

While a user is sitting in a wait node, the rest of the journey is unaffected; each user advances on their own timeline.

Channel nodes (webhook / push / in-app / email)

Channel nodes are the steps that actually send a message to the user. The available channel nodes are:

  • Email -- send an email, built and personalized the same way as in Email campaigns.
  • Webhook -- POST a JSON payload to a URL you specify (server-to-server).
  • Push -- send a mobile push notification via FCM (Android) / APNs (iOS).
  • In-app -- display a pull-based message inside your app or site.

Each channel node uses the corresponding delivery channel configured for your account. Make sure the channels you reference are connected under Settings -> Channels; for example, a Push node requires a configured Mobile Push channel.

When a user reaches a channel node, the message is sent (subject to your account's global send limits and Do-Not-Disturb windows), and the user then continues to the next connected node.

Segment filter nodes

A Segment filter node is a mid-flow check that lets a user continue only if they still match a segment. Place one anywhere in the flow to branch on the user's current state.

This is useful when a user's situation may change while they move through the journey. For example, after a wait node you might add a segment filter for "has not purchased yet" so that users who already converted are not sent a reminder. Users who no longer match are stopped or routed differently, while matching users continue along the flow.

Because the check runs at the moment the user reaches the node, it always reflects the user's up-to-date attributes and behavior -- not their state when they first entered the journey.

Goals

You can attach an overall goal event to the entire journey to measure success. The goal is the action you ultimately want users to take -- for example, completing a purchase or activating their account.

JourneyLayer tracks how many users who enter the journey go on to perform the goal event, giving you a single, journey-level measure of effectiveness across all of its steps.

Reports

Journeys include built-in reporting at two levels:

  • Per-node delivery stats -- for each channel node, see how messages performed (for example, how many were sent and delivered). This helps you spot which step in the flow is underperforming.
  • Journey-level reporting -- see how users move through the journey overall, including progress toward the goal you attached.

Use these reports to understand where users drop off, which steps drive conversions, and how to refine the flow over time.