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.
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.
Page and section events
Grain gives each page and each tracked section its own node. A plainpage_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
- Start with a high-level journey, for example landing page to sign-up to activation.
- Create tracks for the journeys that matter to the business first.
- Read your tracks every week, so you see a trend early.
- Do not create a track with narrow filters. It holds too little data to read.
- Do not ignore the deadend paths. They show where visitors stop.
- 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.