What is Data Export?

This feature is only available to Admin or Architect users on our FullStory Enterprise plans. Please contact your Account Executive or reach out to Support to learn more about FullStory Enterprise.

When the FullStory JavaScript loads, every object, page event and interaction on your site is automatically recorded and indexed. This system of data collection is what allows our empathy inducing playback to be paired with a powerful search feature. We also use the information we’re collecting to bubble-up relevant, instant feedback for a wide audience, such as Rage Clicks, Error Clicks, and Dead Clicks.

Our primary purpose at FullStory is to provide the best tool possible for you to improve your customer’s experience. Since we’re indexing so many events, we’re aware that there is some pretty powerful data under the hood and much of it could be applied more specifically to your organization. We’re also aware that the programmers, data scientists, and software engineers you have on staff may be salivating at the thought of getting their hands on the hard data we’re collecting! So we designed a feature with your top priorities in mind.

What is Data Export?

The Data Export provides a raw data extract of events that have been recorded for your organization and a page within FullStory to download export results. Additionally, a set of API endpoint to retrieve the data extracts. 

FullStory offers several ways to export data from your account:

Looking to go deep with Data Export? You can find SQL recipes for querying Data Export data in the Data Export Cookbook.

What information is available with Data Export?

See below for a full list of Data Export contents.

How do I use the information from Data Export?

The possibilities are endless! This data set can be used on its own or to supplement existing models that aim to analyze user behavior. You can simply use the data for providing your marketing team with a point and click analysis tool or you can plug it into your fraud detection (e.g.) algorithm to add extremely powerful data to your model. The point is, you know best how the data is most relevant to your business needs. 

How often are Data Export files updated?

The data is provided to you in the form of bundles. By default, a bundle contains data about events that occurred during a period of 24 hours. This period can be changed to anywhere between 30 minutes to 24 hours. This bundle will be available to download 24 hours after the last event in this bundle occurred. For example, if your bundle period was set to 6 hours, a data export bundle corresponding to events that happened on Jan 1 between 9:00 AM - 3:00 PM will be available to download on Jan 2 at 3:00 PM.

Data Exports are generated “on-demand,” meaning the data in the JSON bundles are fetched directly from our servers at the time that the bundle is requested. Note that because of swan song bundles and the on-demand nature of data export, exports can vary slightly depending on when the files are requested. The 24 hour delay for downloading data export files helps to ensure that more swan song bundles have been accounted for before the data export download begins.

How does user deletion interact with Data Export?

Data Exports are generated "on-demand," meaning the data in the JSON bundles are fetched directly from our servers at the time that the bundle is requested. Therefore, if you delete `Joe Smith` today and export data files tomorrow, Joe Smith's data will not be in those data files, as FullStory no longer has the user's data to include in the file. 

If you are fetching data export files daily, the data that you pull down and store on your servers may include personal data. This means when a user requests deletion, you may also need to delete their data from the data warehouse where you are storing FullStory's data exports. 

How far back in time can I export data?

Data export availability matches the session retention length that you currently subscribe to. This means that if your account is configured for 2 months of session retention, you will be able to export data for sessions that are up to two months old. It is important to note that once sessions expire and are deleted, they are truly not recoverable.

External Integrations


Data Export Contents

User/Session Fields

Name Export Field Name Description
User Id UserId A unique identifier for a user cookie on a given device/browser. This ID may be reset if the User clears their cookies, switches devices, changes browsers, etc.

This field is not visible within the FullStory UI—see UserAppKey below for more information.
User App Key UserAppKey The user identifier that was passed to FullStory from your system using FS.identify.

This field is visible in the FullStory UI as "User ID" when looking at a user's profile.
Individual Id IndvId A unique identifier for the Individual that combines all Users with the same User App Key. For example, if you’ve identified user 123 whenever they visit your site, their Individual will include all of their Sessions across devices, browsers, etc.

The IndvdId value is not visible within the FullStory UI, but it is part of the session URL.
Session Id SessionId The identifier for a particular session, within the context of a single user.  Use Session Id and User Id together as a compound key to uniquely identify sessions across all export data.
User Email Address UserEmail The email address that was set via FS.identify or FS.setUserVars.
User Display Name UserDisplayName The display name that was set via FS.identify or FS.setUserVars.
IP Address PageIp The IP address captured at the start of the session.
Custom User Variables (custom var name) If you're passing any user variables into FullStory, we'll include them in the export.  Each additional variable will appear as a separate field in the export file, where the field name is the variable name as provided to the FS.setUserVars function. Note that, if loading export bundles into Redshift or BigQuery with hauser, the custom variable fields are amalgamated into a single JSON document under a field named “CustomVars” prior to import into the export staging table.
Timestamp for Created User UserCreated UTC RFC 3339 timestamp for when the cookie associated with UserId was first seen.
Timestamp for Session SessionStart The absolute time when the session was started, in UTC, represented as a dateTime from the XML Schema Specification, e.g. 2018-01-04T20:07:11.191Z.

 

For more information about understanding user and session variables, see From Individual, User, and Session ID to replay.

Page Fields

A “page” tracks each instance when a user loaded a page with a particular URL.  The "PageId" is an Id that indicates the page was loaded or refreshed from the web server. A series of events for a single session can have one PageId and multiple PageURLs if it is a Single Page App that loads from the server once (one PageId) and then changes URLs without loading from the server again (a common pattern).

Name Export Field Name Description
Page Id PageId The identifier for a particular page load/refresh, within the context of a single session.  Use Page Id, Session Id, and User Id together as a compound key to uniquely identify pages across all export data.
Timestamp for Page Start PageStart The absolute time when the page was, in UTC, represented as a dateTime from the XML Schema Specification, e.g. 2018-01-04T20:07:11.191Z.
Page URL PageUrl The full URL of the page on which the given event occurred.
Page Duration PageDuration The total time this User spent on this page during this session (milliseconds).  This is not a running total; every event for a given page will show the same total duration.
Active Page Duration PageActiveDuration The active time (mouse movement, text entry, clicks, etc.) this User spent on this page during this session (milliseconds).   This is not a running total; every event for a given page will show the same total duration.
Page Referrer URL PageRefererURL The page from which the user reached this page.  The referrer may be empty if the user manually entered the page URL, or if the referrer has been scrubbed, etc.
Number of Events on a Page PageNumEvents The total number of events that occurred on the browser tab lifecycle (the time the HTML page was first rendered and displayed until the end user navigated to a new webpage or closed the tab).
FullStory-derived Events PageNumDerivedEvents The total number of FullStory-derived events that occurred on the page. This includes FS API validation events such as rate-limiting and invalid arguments.
Screen Width PageScreenWidth The width of the CSS Resolution of the screen in pixels.
Screen Height PageScreenHeight The height of the CSS Resolution of the screen in pixels.
Viewport Width PageViewportWidth The width of the viewport size of the browser in pixels.
Viewport Height PageViewportHeight The height of the viewport size of the browser in pixels.
Page Insights ID PageClusterId An internal identifier used by FullStory to group pages together for Page Insight analysis.

 

Event Fields

Name Export Field Name Description
Event Time EventStart The absolute time when the event occurred, in UTC, represented as a dateTime from the XML Schema Specification, e.g. 2018-01-04T20:07:11.191Z.
Event Type EventType The type of event that was recorded. Typical types are:
  • “abandon”: A form was abandoned.  Learn more about form abandonment.
  • “change”: The text in a text entry field was changed.  The Event Target Text field will contain the new text value.
  • “click”: An element on the page has been clicked.  The Event Target Text field will contain text of the clicked element, if applicable.
  • “custom”: A custom event that was sent via FS.event
  • “navigate”: A URL change, either to a completely new page or a new hash fragment.
  • “thrash”: The user moved the mouse cursor erratically or in circles.  Learn more about thrashed cursors.
  • "load": A page was loaded from the server. This may have a matching "navigate" event.
  • "request": An XHR request was initatied from the browser.
  • "seen": watched element was visible in the browser.
  • "uservar": A call to FS.identify or FS.setUserVars was made. The custom user variables object passed into either function will be treated as individual fields in the response.
Event Target Text EventTargetText Where applicable, this contains the text of the event target and its child elements. For example, if the user clicked a button that says “Pay now”, the event target text would be “Pay now”.  Long text may be truncated in some cases for performance reasons.
Event Target Selector EventTargetSelector Where applicable, this contains the CSS selector for the event target.  This will be a fully qualified descendant selector, starting from the HTML element, and including all CSS selectors of elements that appear in the DOM when walking from the HTML element through its children to the event target.  Most non-alphanumeric characters within a selector will be encoded, e.g. “.my%2Dclass” rather than “.my-class”.
Event Custom Name EventCustomName The name of the event, if it is a custom event. The EventType field will have "custom" as it's value as well for custom events.

 

Behavior Heuristics

For some events, one of a series of modifier fields will be set to provide additional information regarding user behavior.

Name Export Field Name Description
Rage Clicks EventModFrustrated Your customer clicked one or more elements on the page many times in rapid succession, potentially because they were frustrated. For each of the click events in this series of clicks, the numeric value of this field is a running total of the number of clicks that have occurred. It will be zero for click events that were not part of a series of rage clicks.   Learn more about rage clicks.
Dead Clicks EventModDead Your customer clicked something, but nothing happened. Will be 1 for dead clicks, zero for non-dead clicks.
Error Clicks EventModError Your customer clicked something and a console error was generated, either by an actual error occurring, or by logging an error to the console. Will be 1 for error clicks, zero for non-error clicks.
Suspicious Actions EventModSuspicious Your customer entered text or navigated to a URL that was suspicious.  When set to zero, nothing was suspicious.  When 1, it indicates a possible SQL injection attack.  When 2, it indicates a possible cross site scripting attack.  Learn more about suspicious activity detection.
Error Kind Token EventVarErrorKind Error kind token indicating error (if an error is present) for this event. Typically will only be provided if EventType ends with “_error”.
Field Error EventVarFields Fields relevant to the error (if an error is present). Typically used to indicate custom properties that triggered an error.

 

Console Statistics

Name Export Field Name Description
Console Infos/Logs PageNumInfos The number of times the JavaScript function console.log() was called, plus the number of times console.info() was called on the page. This is a running total for the page, and will steadily increase until the user navigates to a new page.
Console Warnings PageNumWarnings The number of times console.warn() was called on the page.  This is a running total for the page.
Console Errors PageNumErrors The number of times console.error() was called, plus the number of JavaScript errors that occurred on the page.  This is a running total for the page.

 

Environment Fields

Name Export Field Name Description
Latitude/
Longitude
PageLatLong The latitude/longitude corresponding to this session.  These values are derived using IP geolocation, which is only capable of pinpointing a user’s general area, often just at the city level, not their exact location.
User Agent PageUserAgent The full user agent string for the system on which this session was recorded.
Browser PageBrowser The browser that was used for this session, as derived from the User Agent. Current possible values: Chrome, Firefox, Internet Explorer, Microsoft Edge, Safari, Opera, Mobile App, Yandex, Robot, Unknown.  New values may be added to this list at a later date.
Device PageDevice The device type that was used for this session, as derived from the User Agent.  Current possible values: Desktop, Mobile, Tablet, Robot, Unknown.  New values may be added to this list at a later date.
Operating System PageOperatingSystem The operating system type that was used for this session, as derived from the User Agent.  Current possible values: Chrome OS, OS X, iOS, Windows, Windows Phone, Linux, Robot, Unknown.  New values may be added to this list at a later date.
Platform PagePlatform The platform that was used for this session.

Current possible values: Web, Native Mobile

 

Dev Tools Fields

All of the following fields represents the duration (in milliseconds) since the page began to load until the corresponding event was fired.

DOM Content Loaded LoadDomContentTime DOMContentLoaded fires when the initial HTML document has been loaded and parsed. Often this milestone occurs before stylesheets, images, and subframes finish loading, so the DOMContentLoaded event occurs before a page is done painting.
Page Load LoadEventTime The onload event or "Page Load" fires when the whole page and all of its dependent resources have finished loading. Page Load often occurs later, after the point in time when the page is rendered and interactive for a user.
First Contentful Paint LoadFirstPaintTime The First Contentful Paint event relates to the moment when the biggest "above-the-fold" layout change has happened and when web fonts have loaded. We believe that this metric relates most closely to a user's experience in terms of perceiving a page to be "loaded".

 

Note: Additional fields for FullStory for Mobile Apps are available at the bottom of our developer documentation here

Need to get in touch with us?

The FullStory Team awaits your every question.

Contact us