Docs
grovs.io Start for free

Journeys

Move each person through a multi-step flow of waits, splits, push notifications and in-app messages, and measure it against a control group.

All Cloud plans and self-hosted Enterprise · Requires iOS SDK 3.1.0, Android SDK 3.1.0, Web SDK 2.1.0

A journey is a flow you draw once and grovs runs for every person. For example: when someone adds to cart, wait up to two hours for checkout. If none, send a push. Wait a day for an open. If still nothing, show an in-app discount. Stop as soon as they check out.

The server moves each person along the map on its own clock. Push steps send real push campaigns and in-app steps show real in-app messages, with the same reports, tracking and SDK behaviour as standalone sends.

How a journey works

Entry

People enter in one of two ways:

  • They do something: a custom event or screen view, with optional property filters, or a built-in event such as an install or link open. They enter at once.
  • They join a segment: checked every 15 minutes. When the journey opens, everyone already in the segment enters too. Use a segment for past behaviour, such as "viewed a product in the last 7 days and hasn't ordered".

Who may enter can narrow either to Only people in a segment. Re-entry decides whether someone can go through again after leaving. Nobody is in a journey twice at once.

Steps

StepDoesLeads to
WaitWaits 5 minutes to 30 days, optionally until the person does an event, opens the push above or clicks the in-app message aboveOne next step, or Did it and Time ran out
SplitBy a condition (did an event, is in a segment, has an attribute, uses a platform) or By percentage (2 or 3 random paths)Yes and No, or one per path
Send pushSends a push, optionally only between 09:00 and 21:00 on the person's clockOne next step
Show in-appGives the person's device an in-app message, shown on its own trigger, kept for 1 to 30 daysOne next step, once seen or when it expires
Set attributeWrites a journey_ attribute on the person, readable by later splits and in-app conditionsOne next step

Sends never branch. To act on an open or click, add a wait after the send: "until they open the push above, up to 1 day".

Paths can join, so two branches can continue at the same step. Loops aren't allowed.

Exits and goals

A person leaves when:

  • their path ends (a step with no next step)
  • they reach a goal (an event, screen, built-in event or purchase), from any step
  • 90 days have passed since they entered

Goals are also what the report measures. With a goal and a control group, the report shows whether people in the journey converted more than people kept out.

Control groups

A journey's Control group (1 to 50%) keeps some people out entirely, for comparison. The project-wide control group in Engagement Settings applies too.

Where journeys run

Push steps reach devices with a push token. In-app steps reach devices on iOS SDK 3.1.0, Android SDK 3.1.0, Web SDK 2.1.0, Flutter plugin 3.2.0, React Native SDK 3.1.0 or Unity package 1.0.0 or later.

People without a device for a step's channel still move through the journey; that step doesn't reach them.

Last updated 2026-10-26
Was this page helpful?