Skip to main content
A track shows how visitors move from one event to another. You choose a start event and a goal event. Grain reads the sessions in between and draws a graph of the paths that reached the goal and the paths that stopped. Tracks live in the dashboard under Tracks.

The parts of a track

When you save a track, Grain does this:
1

Rebuild the sessions

Grain groups events into sessions. A session ends after 30 minutes without an event.
2

Extract the paths

Grain takes every event sequence between the start event and the goal event. If a visitor triggers the start event several times, each occurrence starts a new journey.
3

Sort the paths

A conversion path reached the goal. A deadend path stopped before the goal.
4

Score the hub nodes

Grain scores each event on flow, degree, betweenness, stability, and goal proximity. The events with the highest scores are hub nodes. Read the table below.
5

Draw the graph

Grain orders the nodes topologically and lays them out with a force-directed layout.

Create a track

1

Open Tracks

In the dashboard sidebar, click Tracks. Then click Create Track or press Cmd/Ctrl + N.
2

Choose the start event

Choose the event where the journey begins, for example page_viewed. Add event property filters if you want a narrower start, for example page equals /signup.
3

Choose the goal event

Choose the outcome, for example account_created.
4

Set the time window

Choose the last 7 days (the default), the last 30 days, or a custom range of at most 90 days. Then save.
Start with broad events, for example page_viewed to purchase_completed. Add filters after you have seen the full graph.

What a track shows

Time to goal

Use these values to set timeout windows, to find slow steps, and to measure a change.

Hub nodes

A hub node is an event where many journeys converge. A change to a hub node moves more conversions than a change to any other node. Grain scores each event on five values:

Read the graph

You can narrow the graph:
  • Show only conversion paths, or only deadend paths.
  • Hide paths under a minimum number of visitors.
  • Break the graph down by country, device, referrer, or a custom property such as plan tier.
To compare two periods, two variants of an A/B test, or two cohorts, create one track per case with the same start and goal events and different filters.

Page and section events

Grain gives each page and each tracked section its own node. A plain page_view node hides which page the visitor saw. The normalized node names it. A path that reads page_view:/home, button_clicked, page_view:/pricing, purchase_completed tells you that visitors saw the homepage before the pricing page. You can use the normalized names as the start or goal event, for example section_view:pricing_table to checkout_initiated.
Grain removes scroll:section_* events from tracks. Use heatmaps to read scroll behavior. Read Heatmaps.

Logarithmic normalization

Grain applies a logarithm to the path counts of each visitor. Then one visitor with 1000 page views does not hide 50 visitors with 10 page views each.

Common tracks

Read the conversion rate

If visitors take a path that you did not expect, find out why. If the path works, make it easier. If it does not work, guide visitors to a better path.

Rules for tracks

  1. Start with a high-level journey, for example landing page to sign-up to activation.
  2. Create tracks for the journeys that matter to the business first.
  3. Read your tracks every week, so you see a trend early.
  4. Do not create a track with narrow filters. It holds too little data to read.
  5. Do not ignore the deadend paths. They show where visitors stop.
  6. If you want journeys across devices, identify your users. Without a user ID, Grain cannot connect the sessions of one person on two devices. Read Identify users.

Limits

A track runs on demand, not in real time. For a track with millions of events, Grain uses balanced sampling. The sample holds both conversion paths and deadend paths, and it always holds the start event and the goal event. The conversion metrics stay accurate.

What tracks do not do

  • A track does not update in real time. It runs when you open it.
  • A track does not connect sessions across devices without a user ID.
  • A track does not show scroll events. Heatmaps do.