Skip to main content
Version: v2

Snowflake (Raw Data)

Fullstory customers with Anywhere: Warehouse can sync raw data to Snowflake that is suitable for transformation by data engineers. Refer to the Setup Guide for instructions on getting started.

Sync Expectations​

The following table describes the sync behavior of Fullstory events to Snowflake.

DestinationSync IntervalRelevant TimestampsSetup Guide
SnowflakeApproximately processed_time rounded to the next hour + 1 hourevent_time
updated_time
processed_time
Snowflake Help Doc

Duplicate events: We guarantee at least once delivery for each event. Events may be duplicated in your warehouse (less than 1%).

Data Schema​

Events Table Schema​

The following table contains the schema for the Fullstory events in Snowflake. For information on the data types, see the Snowflake documentation.

FieldTypeDescription
event_idVARCHARThe identifier for the event.
event_timeTIMESTAMPThe time in UTC that the event occurred.
processed_timeTIMESTAMPThe time in UTC that the event was processed by Fullstory's servers.
updated_timeTIMESTAMPThe time in UTC that event was updated in the database. Set via SYSDATE when merging.
device_idBIGINTThe device ID as defined in the base event model.
session_idBIGINTThe session ID as defined in the base event model.
view_idBIGINTThe view ID as defined in the base event model.
event_typeVARCHARThe type of this event.
event_propertiesVARIANTA json object containing the associated event properties.
source_typeVARCHARThe source type of the event.
source_propertiesVARIANTA json object containing the associated source properties.

Element Definitions Table Schema​

The following table contains the schema for Fullstory named element definitions.

PropertyTypeDescription
idVARCHAR(MAX)The named element's ID. Use the ID to join on the element_definition_id.
nameVARCHAR(MAX)The name of the named element.
descriptionVARCHAR(MAX)The description of the named element.
stateVARCHAR(MAX)The state of the named element (e.g., active, archived).
created_timeTIMESTAMPTZTimestamp of when the named element was created.
created_byVARCHAR(MAX)The Fullstory user that created the named element.
modified_timeTIMESTAMPTZTimestamp of when the named element was last modified.
modified_byVARCHAR(MAX)The Fullstory user that last modified the named element.
updated_timeTIMESTAMPTZTimestamp of when this record was last synced.

Event Definitions Table Schema​

The following table contains the schema for Fullstory defined event definitions.

PropertyTypeDescription
idVARCHAR(MAX)The defined event's ID. Use the ID to join on the event_definition_id.
nameVARCHAR(MAX)The name of the defined event.
descriptionVARCHAR(MAX)The description of the defined event.
stateVARCHAR(MAX)The state of the defined event (e.g., active, archived).
created_timeTIMESTAMPTZTimestamp of when the defined event was created.
created_byVARCHAR(MAX)The Fullstory user that created the defined event.
modified_timeTIMESTAMPTZTimestamp of when the defined event was last modified.
modified_byVARCHAR(MAX)The Fullstory user that modified the defined event.
updated_timeTIMESTAMPTZTimestamp of when this record was last synced.

Page Definitions Table Schema​

The following table contains the schema for Fullstory page definitions.

PropertyTypeDescription
idVARCHAR(MAX)The page ID. Use the ID to join on the page_definition_id.
fs_link_idVARCHAR(MAX)The ID that can be used to construct a url in the Fullstory app, e.g. https://app.fullstory.com/ui/<org_id>/settings/pages/<link_id>
nameVARCHAR(MAX)The name of the page.
descriptionVARCHAR(MAX)The customer-entered description of the page.
is_user_definedBOOLEANTrue if the page was defined by the user, False if defined by a Fullstory algorithm.
stateVARCHAR(MAX)The state of the page (e.g., active, archived).
created_timeTIMESTAMPTZTimestamp of when the page was created.
created_byVARCHAR(MAX)The user that created the page.
modified_timeTIMESTAMPTZTimestamp of when the page was last modified.
modified_byVARCHAR(MAX)The user that modified the page.
updated_timeTIMESTAMPTZTimestamp of when this record was synced.

Querying the Events Table​

To demonstrate how to query the events table, the following example shows how to count the number of Rage Click broken down by browser and URL for a single day.

SELECT
source_properties:user_agent.browser::string as browser,
source_properties:url.path::string as path,
count(1) as rage_clicks
FROM
FULLSTORY_DB.FULLSTORY_ORG_ID.events
WHERE
date(event_time) = '2024-01-01'
AND event_type = 'click'
AND event_properties:fs_rage_count::int > 0
GROUP BY
browser,
path
ORDER BY
rage_clicks DESC;

Analyze with DBT​

Fullstory provides a DBT package to help you get started with Snowflake. The package includes models for Fullstory events, sessions, and users.