Engineering · 6 min read

How to answer the what and the why using Fullstory data export

Sam Franklin
Posted September 05, 2019
How to answer the what and the why using Fullstory data export

Knowing What is happening can only get you so far: You need to know Why.

Too often, organizations only have traditional web analytics tools—the kind that show What is happening on their sites. And when a page is performing badly, these analytics provide just enough information to cause a panic—e.g. “Conversion rate has dropped 50% after launching the redesigned checkout page!”—but not enough information to objectively formulate a remediation plan.

Traditional web analytics tools simply lack the detailed data necessary to explain Why performance has dropped. Without this kind of data, determining how to fix problems is an exercise in uncertainty and can quickly devolve into contests between unsubstantiated theories, increasing the risk of making bad decisions.

Answering Why is essential for improving underperforming pages, maximizing conversion rates, and creating the kind of digital experiences people love.

That's where Fullstory comes in. Using Fullstory's extensive digital experience analytics features (e.g. session replay, search, frustration signals, etc.), you have the data you need to answer both the What and the Why questions.

And Fullstory doesn't stop there. Using Data Export, you can go even further.

Let's take a look.

Another Level for What and Why With Data Export

Fullstory’s Data Export API endpoint gives you access to the raw data extracts of every object, page event, and interaction logged on your site or app. Thanks to our open-source tool Hauser, parsing and loading the data to local or cloud storage is easy. With Data Export and Hauser, you can take your web analyses to entirely new levels.

(If you're new to Fullstory Data Export, check out our Guide.)

For example, Fullstory’s data science team leverages this digital experience data to answer What and Why questions about the website. One way we analyze digital user experiences using Fullstory’s data is by generating custom pathing analyses.

Pathing analysis, for the unfamiliar, reveals a complete user journey all the way from understanding a user’s point of origin to where the user ends up on your site. For example, if you manage an eCommerce site, you might use a pathing analysis to analyze how visitors from a Google search ad land on a product page, navigate your website, and ultimately convert.

We built a way to run pathing analyses with Fullstory data by using Jupyter notebooks (a web-based interactive development and reporting environment) and Python visualization packages (such as plotly).

Let’s take a look at how we use Fullstory Data Export to run a pathing analysis for the Fullstory /jobs page.

Solving Friction in the Fullstory “Career Path”

Because Fullstory is growing fast, we’re constantly looking for talented engineers. That means the Fullstory jobs page on our website is very important. What is the experience like for people visiting our engineering jobs page? Is there anything we can do to improve that experience?

Using the robust digital experience data logged by Fullstory, we can answer these questions—and we start by creating a pathing analysis. First, we visualize the paths visitors take to and from using a Jupyter Notebook that runs scripts from a Python Pathing Utilities package we’ve open-sourced. After some initial setup that includes loading data from Data Export, we generate a Sankey diagram by running sankey_funnel.plot_funnel().


The result is the stream-like graphic you see below. This Sankey diagram begins at the left with the visitor source (e.g. listed as A, B, C, or D, these sources might be direct traffic, Google, Twitter, etc.). From left to right, the diagram shows visitor paths up to five steps long.


This Sankey diagram generated from Fullstory data shows the path users take on the way to our /jobs page.

The “Unknown” and “Other” destinations listed on the right side of the diagram reveal that many visitors are leaving our engineering jobs page without looking at the details of Fullstory’s open roles or benefits. While that could be normal behavior, it could also be a sign of something that needs improvement on ~/jobs/engineering. Are there things on that page causing bad visitor experiences?

We definitely don’t want people struggling when they visit our engineering jobs page. With Fullstory's pre-configured frustration signals—i.e. Rage Clicks, Error Clicks, and Dead Clicks—it's easy to search sessions for any signs of user friction on ~/jobs/engineering in the past month.


Here we search for Rage Clicks on the ~/jobs/engineering page in Fullstory.

When we run this search, sure enough, we see Rage Clicks on the page! Why are these Rage Clicks happening? What can we do about it?

Now that we know What to pay attention to, we can switch to answering Why. And because we have Fullstory, all we need to do is watch a session to learn more. The analyze_traffic.get_sessions_for_funnel_and_click() function generates a list of links to viewable sessions that include a specific funnel and type of click, such as Rage Click.


We are then able to replay sessions. This step gives us the context we need to determine what to do next. Take a look at this example session from our search (note this is a video recording of a Fullstory session replay). The Rage Click action picks up around the 35 second mark:

Based on observations from Rage Click sessions like that above, we hypothesize visitors want to know more about Fullstory’s health and retirement benefits. Perhaps we should make those blurbs clickable elements that link to more documentation.

Also, replaying the sessions reveals that clicks on the individual job postings don’t do anything—clearly a huge barrier to people applying for our engineering jobs. They should be live links. These Dead Clicks need to be fixed immediately.

Having solved our What and Why questions, we can get to work fixing these two problems. And doing so will go a long way toward smoothing out friction for people looking to join the Fullstory team.

Imagine the Pathing Possibilities. Run Your Favorite Web Analyses With Fullstory

Creating and evolving lovable digital experiences is hard—but it's a lot easier with the right web analytics. The best tools help teams not only measure What is happening, they also reveal the behavioral insights that explain Why.

You can use the digital experience data from Fullstory Data Export to build the page-to-page path analyses, statistics, and graphics seen in traditional site analytics tools. You’ll get What you need to identify problems and opportunities. Then, you can jump right in and get qualitative context you need to understand the Why. It's the quantitative and qualitative, one-two punch you need to start improving your digital experiences right away.

Now ... If only Fullstory could find the most valuable opportunities for you automatically, that would be something, wouldn’t it?


You Might Also Like

P.S. We’re incredibly proud of the work we do, and want to share our love for engineering with the world. Fullstory is constantly on the lookout for others who share our enthusiasm for finding creative solutions to exceptionally challenging software problems. If that sounds like you, say "Hi." 👋

Want a perfect website or app? Fullstory can help. Request a demo today.

Sam FranklinFormer Director of Data Science and Analytics

About the author

Former Data Science & Analytics at Fullstory, Part-time professor, farmer, blogger, Ex-Googler

Return to top

Related posts

Blog Post
Fullstory and AI: Maximizing behavioral data insights

Discover how Fullstory leverages AI to turn raw data into actionable insights, transforming user experiences and driving business growth.

Read the post
Blog Post
Building a resilient organization: Strategies for risk mitigation and compliance considerations

Master risk management and compliance for robust organizational resilience and data protection.

Read the post
FullStory Engineering Blog
Is go duck-typed?

In programming languages, duck typing can be approximated as the application of the duck test to objects. Here we explore if go is duck typed.

Read the post