Analyzing Individual User Journeys in Tableau with Snowplow Data
For data modelers and consumers
Learn how to visualize event-level user journeys with Snowplow data and Tableau, using a Gantt-style chart approach to explore behavioral flows at the individual level.
Can I visualize individual user journeys in Tableau using Snowplow data?
Yes, absolutely. With Snowplow's granular behavioral event tracking—particularly when using page_view and page_ping events—you can build highly detailed visualizations of a user's journey through your website or app in Tableau. These charts can resemble a Gantt chart, with each bar representing a single event and its duration, plotted across a timeline for a single domain_userid.
This is especially valuable for:
- Debugging behavioral issues
- Visualizing content engagement patterns
- Investigating anomalies in session behavior
- Presenting qualitative narratives to stakeholders
What Snowplow data do I need to build this in Tableau?
To recreate the Gantt-style individual journey chart, you should have the following:
Required Fields
Field - Description
domain_userid - Unique identifier for a user across a domain
event_name - Type of event (e.g., page_view, page_ping)
page_url - URL of the page visited
derived_tstamp - Timestamp of the event (used for ordering on the timeline)
pp_xoffset_min / pp_yoffset_min - Mouse scroll position (optional, but helpful for engagement analysis)
etl_tstamp - Timestamp the event was processed (optional sanity check)
page_view_id - Unique identifier for each page view (used to join with pings)
dvce_created_tstamp - Device-generated timestamp, helpful for latency and ordering checks
Recommended: Use page_ping events
The Snowplow page ping event tracks time-on-page and scroll depth. When properly configured, these allow you to measure how long a user spent on a page—critical for constructing Gantt-like bar lengths.
How do I structure the data for Tableau?
You'll want to pre-aggregate the event data into a format that Tableau can interpret as task durations over time.
Steps:
- Filter to a single user by domain_userid.
- Join page_view and page_ping events using page_view_id if needed.
- Calculate duration of each event:
- For page_view, you can assume a default duration (e.g., 5s) or use inferred session gaps.
- For page_ping, you can use the interval (e.g., 10s if that's your ping frequency).
- For page_view, you can assume a default duration (e.g., 5s) or use inferred session gaps.
- Create a record per event with:
- Event start: derived_tstamp
- Event end: derived_tstamp + duration
- Event start: derived_tstamp
- Pivot data into a format with Event Name, Start, and End columns for Tableau.
What does the Tableau visualization look like?
You’re aiming for a Gantt-style chart:
- X-axis: derived_tstamp (time)
- Y-axis: Sorted event sequence or page_url
- Bar length: Duration of the event
- Color: Event type or category
In Tableau:
- Use a Gantt chart type.
- Assign Start time to Columns.
- Use Duration as the Gantt bar size.
- Break down rows by page_url or event_name.
Are there example queries or templates I can use?
Yes. The original Snowplow guide (archived here) provides a walkthrough for how to do this. While focused on content engagement, it includes detailed instructions and logic that can be adapted for Tableau or other BI tools.
Here's a simplified SQL sketch (e.g., for BigQuery):
SELECT
domain_userid,
event_name,
page_url,
derived_tstamp AS event_start,
TIMESTAMP_ADD(derived_tstamp, INTERVAL 10 SECOND) AS event_end -- adjust based on ping frequency
FROM atomic.events
WHERE domain_userid = 'your_target_user'
AND event_name IN ('page_view', 'page_ping')
ORDER BY derived_tstamp
From there, export to CSV or connect Tableau directly to your Snowplow warehouse for analysis.
Are there alternative tools to Tableau for user journey visualization?
Yes. If you’re looking for more native pathing analysis or advanced visualizations beyond what Tableau offers:
Graph databases
- Build user paths as nodes and edges in Neo4j or TigerGraph
- Supports complex pattern matching and journey discovery
Indicative
- Snowplow integrates with Indicative, a purpose-built behavioral analytics platform
- Offers powerful no-code pathing and funnel analysis
Process Mining (e.g., Disco)
- Tools like Disco enable deep exploration of event sequences using Snowplow data
- Best suited for process-based applications
Final thoughts
Visualizing individual user journeys at the event level is one of the most powerful ways to extract qualitative insights from behavioral data. Snowplow's rich, unopinionated event model makes this possible—but it requires thoughtful data modeling.
By using Tableau (or any BI tool that supports Gantt-style visualizations), you can transform raw events into vivid timelines that reveal:
- Where users struggle
- Which content captures attention
- How long they stay engaged
Want to explore this further? Check out the original Snowplow recipe or get started with a test query in your data warehouse.
Related reading
Need help building this out? Snowplow BDP and Snowplow Community Slack offer support for advanced use cases like this—feel free to reach out.
Let your data tell the full story.