Skip to main content
Version: v2

Snowflake

Sync Expectations

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

DestinationSync IntervalUpdate Window*Relevant TimestampsSetup Guide
SnowflakeApproximately processed_time rounded to the next hour + 1 hour99% stable within 3 hoursevent_time
updated_time
processed_time
Snowflake Help Doc

* Update Window: These are observed aggregates and may vary based on the specifics of the data capture for your site or app.

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 unique 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 clicks 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.