What is Data Export?

Who can use this feature?
- Available with Enterprise and Advanced plans.
- Requires an admin or architect role to configure.

Using Data Export to power workflows, send data to third-party systems, or batch sync with your data warehouse? Check out Fullstory's new product, Data Direct, for an always-on alternative. 

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. 

When is data available in Data Export?

Data Exports are generated “on-demand,” meaning the data in the JSON files are fetched directly from our servers at the time that the export is requested

Most events will be available in Data Export about 30 minutes from the time that the event occurred. However, some of the data may not be "settled" at the time of the export. Fullstory applies logic to events in order to make the data more useful, so recently ingested events may be updated as more information streams in. Examples include linking events to an individual via FS.identify, calculating metrics like active session time or receiving swan song bundles. Since some sessions can last hours, the exported data may change depending when you run the export.

Fullstory recommends waiting 24 hours before exporting data if you are looking for finalized values that remain static across multiple export runs. It is possible to export data closer to real time. If you choose to go this route, we recommend that your pipeline accounts for a rolling export window with overlapping time periods, deduplication and updating records with fresher values.

Data Export files will be available to download for 7 days from when the export was completed. The file expiration time can also be found in the API.

How does user deletion interact with Data Export?

All Data Exports are generated “on-demand.” This means 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 Product analytics retention length that you currently subscribe to. This means that if your account is configured for 12 months of Product analytics retention, you will be able to export data that is up to 12 months old. It is important to note that once data expires and is deleted, it is truly not recoverable.

How long should I wait to export data?

A delay is necessary when exporting data because there is some latency between when an event is recorded and when it is available and complete. 24 hours is the default, but is also fairly conservative. In many cases this can be reduced safely to 3 hours, but note that events from "swan songs" may not be available.


Data Export Contents

 

User/Session Fields

Name Export Field Name

Description

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 IndvId value is not visible within the Fullstory UI, but it is part of the session URL.

 

Example:

https://app.fullstory.com/ui/<ORG_ID>/session/<INDVID>:<SESSIONID>

 

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.
Session Id SessionId The identifier for a particular session, within the context of a single user.  Use SessionId and UserId together as a compound key to uniquely identify sessions across all export data.
Page Id PageId The identifier for a particular page load/refresh, within the context of a single session. Use PageId, SessionId, and UserId together as a compound key to uniquely identify pages across all export data.
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.
User Display Name UserDisplayName The display name that was set via FS.identify or FS.setUserVars.
User Email Address UserEmail The email address that was set via FS.identify or FS.setUserVars.
IP Address PageIp The IP address corresponding to a session. IP addresses are used by Fullstory to infer a user's general location. IP address recording can be disabled if desired. More information on disabling IP address capture here.
Custom User Variables UserVars If you're passing any user variables into Fullstory, we'll include them in the export. 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.

 

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 Name PageName The name of the page, as set by FS.setVars() or FS('setProperties').
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.

 

Note: All of the Page- fields correspond to a unique "instance" of a page. A single page instance is represented by a unique combination of UserId, SessionId, and PageId.

Page URL PageUrl The full URL of the page on which the given event occurred.
Custom Page Variables PageVars If you're passing any page variables into Fullstory, we'll include them in the export.
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 page.

 

Note: When the PagePlatform is Web, the PageNum- fields indicate the number of events that occurred between when the HTML page was first rendered until the user navigated away or closed the tab. When the PagePlatformis Native Mobile, the PageNum- fields indicate the number of events that occurred between when an app was opened or foregrounded andbackgrounded or closed.

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.
Max Scroll Depth Percent PageMaxScrollDepthPercent A percentage representing the max depth that the user scrolled down the page. Present only for EventType “navigate”.
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 captured. 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 the REST API (server events) or 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": A watched element was visible in the browser.

See Event Types for a complete list.

Event SubType EventSubType If present, a refinement of the EventType field. See Event Sub Types for a complete list.
Event Custom Name EventCustomName The name of the event, if it is a custom event. The EventType field will have "custom" as its value as well for custom events.
Custom Event Variables EventVars If you're passing any custom event properties into Fullstory, we'll include them in the export.
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.

 

Note: Most non-alphanumeric characters within a selector will be encoded, e.g. “.my%2Dclass” rather than “.my-class”.

Event Duration EventDuration If present, indicates that the event has some duration associated with it. When the EventType is “seen”, this value is the duration in milliseconds that the watched element was rendered.
Event Secondary Duration EventSecondaryDuration If present, indicates that the event has a secondary duration associated with it. When the EventType is “seen”, this value is the duration in milliseconds that the watched element was visible.
Event Page Offset EventPageOffset

The time in milliseconds since the page was loaded.

Event Session Offset EventSessionOffset

The time in milliseconds since the session was started.

Cumulative Layout Shift EventCumulativeLayoutShift The cumulative layout shift score, only present when EventType is “cumulative_layout_shift”.
First Input Delay EventFirstInputDelay The duration, in milliseconds, of a first input delay measurement on a page. Only present when EventType is “first_input_delay”.
Event Web Source File URL

EventWebSourceFileUrl

If the EventType is “exception”, then this is the javascript source file associated with the error.
Event Mobile Source File URL

EventMobileSourceFile

Android only. If the EventType is “exception”, then this is the mobile source file associated with the error.
Request URL ReqUrl If the EventType is “request”, the URL for the corresponding XHR request.
RequestMethod ReqMethod If the EventType is “request”, the HTTP request method for the corresponding XHR request.
Request Status ReqStatus If the EventType is “request”, the HTTP response status code for the corresponding XHR request.

 

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. Typical types are:

  • 0 the event did not generate an error
  • 1 the event generated an error*
  • 2 the event generated a console error
  • 3 the event generated an uncaught exception

*Prior to 06-21-2021, this field did not distinguish between different types of errors.

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 captured.
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.
Browser Version PageBrowserVersion The browser version that was used for this session, as derived from the User Agent.
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: Android, 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 The time (in milliseconds) that DOMContentLoaded fires, when the initial HTML document has been loaded and parsed. Often this milestone occurs before stylesheets, images, and sub-frames finish loading, so the DOMContentLoaded event occurs before a page is done painting. Present only for EventType “load”.
Page Load LoadEventTime The time (in milliseconds) that 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. Present only for EventType “load”.
First Contentful Paint LoadFirstPaintTime The First Contentful Paint time (in milliseconds) for the page load. First Contentful Paint is the moment when the first "above-the-fold" layout change has happened and when web fonts have loaded. Present only for EventType “load”.
Largest Contentful Paint LoadLargestPaintTime The Largest Contentful Paint time (in milliseconds) for the page load. Largest Contentful Paint is the time that it takes for the largest "above-the-fold" element to be rendered on a page. Present only for EventType “load”.

 

Note: Additional fields for Fullstory for Mobile Apps are available in our developer documentation here

Was this article helpful?

Got Questions?

Get in touch with a Fullstory rep, ask the community or check out our developer documentation.