Docs
grovs.io Start for free

Build a journey

Set how people enter, add waits, splits, pushes and in-app messages, set goals and a control group, and launch.

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

Build a welcome series for Fitloop, a fitness app. New users get a push after a day if they haven't finished a workout, then an in-app tip. They leave as soon as they complete their first workout.

Push steps need push set up in your app (iOS). In-app steps need in-app messages running in your app or site. Your app must track the events used for entry, waits and goals.

1
Start a journey

Go to Engage › Journeys and click New journey. Choose Blank, or start from Welcome series, Cart recovery or Win-back. Enter a Journey name.

The editor shows the journey as a map, from the Starts when… card to the Leaves when… card. Click a card to edit it in the side panel.

2
Choose how people enter

Click Starts when… and pick the Entry:

  • They do something: pick an Entry event (a custom event, a screen or a built-in event such as an install), with optional property filters. People enter at once. For Fitloop: the custom event signup_completed.
  • They join a segment: checked every 15 minutes. Everyone already in the segment enters when the journey opens.

Under Who may enter, keep Everyone or choose Only people in a segment.

Under Re-entry, choose Only once, ever, Again after they leave or Again after some days. See re-entry rules.

3
Add steps

Click the + on a line between two cards and pick a step:

StepSettings
WaitWait for 5 minutes to 30 days. To move on early, set Move on early if they… to Do an event, Open the push above or Click the in-app above. The wait then has two paths: Did it and Time ran out.
Send pushTitle and body, plus optional link, image, custom data and sound. Quiet hours sends only between 09:00 and 21:00 on the person's clock; outside those hours the push waits for the next 09:00 there.
Show in-appBuilt as in the in-app composer: template, content, trigger and limits. The device gets it at its next sync and shows it on its own trigger, such as the next app open. Keep it for 1 to 30 days. The journey moves on once it's seen or the days run out.
SplitBy a condition: Did an event (at least so many times in the last 1 to 90 days), Is in a segment, Has an attribute or Uses a platform. Matches take Yes, the rest No. By percentage: 2 or 3 random paths adding up to 100%; each person always takes the same path. See Experiment paths.
Set attributeWrites a key starting with journey_ and a value on the person, such as journey_welcome = done. Later splits and in-app conditions can check it.

For Fitloop: wait 1 day, until they do workout_completed. Did it ends the path; Time ran out continues to the push.

Paths may join: the + at the end of a path can continue at a step further down. A path can't point back up, since that would be a loop. A journey holds up to 60 steps.

4
Set goals

Click Leaves when… and Add a goal: a custom event, a screen, a built-in event or a purchase (any product, or only some). Add up to three.

Reaching any goal takes the person out from whichever step they're on and counts them as converted. The report measures conversions within the first goal's window.

For Fitloop: workout_completed, within 7 days.

Without a goal, people leave when their path ends.

5
Add a control group and schedule (optional)

Set a Control group of 1 to 50% to keep people out, so the report can show what the journey changed. Held-back people are counted, get nothing, and never enter later.

Under Schedule, set a start and an end in your time zone. After the end nobody new enters; people inside finish.

6
Save and launch

Click Save (⌘S). Before you launch lists anything missing, such as a step unreachable from the first step or a message without text.

Click Launch and confirm. After launch you can change only messages and timings: push and in-app content, wait lengths and split percentages. Entry, goals, control group and the map's shape are fixed. See Changing a live journey.

Read the report

Open the journey from the list. The Results tab shows:

CardShows
EnteredPeople who entered in the period
In the journeyPeople inside right now (live)
ConvertedPeople who reached a goal within the first goal's window
Held backPeople kept out by a control group
LeftHow many reached a goal, finished their path, or left after 90 days

With a goal or a control group, the report says whether the journey beats the control once there are enough people for a clear answer (95% confidence).

The Steps table and the By step tab show how many people Reached each step in the period, how many are there Now, and how many took each path. Push and in-app steps link to their Push report and In-app report.

Each percentage split gets its own card; see Experiment paths.

Pause, resume, end

ActionDoes
PauseNobody enters or moves. Queued pushes and in-app messages are held
ResumeReleases what was held, and admits anyone who joined the entry segment meanwhile
EndNobody new enters. People inside finish their paths
DuplicateA draft copy, to change what a live journey can't
Last updated 2026-10-26
Was this page helpful?