Available for the following Plan types:
FullStory for Mobile Apps*
*with the following add-on:
Available to the following User roles:
Our Snowflake integration is currently available as an early access release. If this is a feature you are interested in, please reach out to your account representative for more details.
Snowflake is a cloud-based data storage and analytics service that can be used as a data warehouse. We've built an integration, powered by our Data Destinations technology, that allows you to send your structured event data directly to Snowflake.
Enabling the integration (Snowflake)
We recommend that you use the names provided in the code block below. However, for simplicity, we recommend they be unquoted identifiers.
Note: The role value is not configurable at this time.
Here is an example of how to create a secure and random password using the openssl CLI tool. This generates a pseudorandom series of 32 bytes and base64 encodes them.
>> openssl rand -base64 32
Replace the blank
user_password string in the script below with the output of this command.
Important Note on Data Security: FullStory should only be granted access to read/write the data that we will be managing as part of this sync. To ensure all sensitive data remains secure, FullStory strongly recommends creating a unique user, role and database within your data warehouse, specifically for FullStory to access. This user and role should not be given permission to access any other data in any way.
Once you've set the parameters, run the script below in your Snowflake Worksheet to create all of the required objects and grant the necessary privileges to the role/user that FullStory will use to perform the data sync.
set database_name = 'fullstory';
set user_name = 'fullstory';
set user_password = '';
set wh_name = 'compute_wh';
set fullstory_role = 'fullstory_loader';
use role useradmin; create role if not exists identifier($fullstory_role) comment = 'The role that the FullStory application uses to load event data.'; create user if not exists identifier($user_name) password = $user_password must_change_password = false comment = 'The user that the FullStory integration uses when connecting to the Snowflake database.'; grant role identifier($fullstory_role) to user identifier($user_name); use role sysadmin; create database if not exists identifier($database_name); grant all on database identifier($database_name) to identifier($fullstory_role); grant usage on warehouse identifier($wh_name) to role identifier($fullstory_role);
Get IP addresses for network policy
FullStory does not currently support static IP allocation or two-factor authentication. If you have either of these security policies in place for your data warehouse, please reach out to your Customer Experience Manager to discuss solutions.
Below is a script to fetch IPs for all of FullStory’s possible US servers and format them for Snowflake:
curl https://www.gstatic.com/ipranges/cloud.json | jq -r '.prefixes | select(.scope == "us-central1" and .ipv4Prefix != null).ipv4Prefix' | xargs printf "'%s'," | sed 's/,$/\n/'
create network policy fullstory_policy allowed_ip_list = (
< insert list generated from above command here >
alter user fullstory set network_policy = fullstory_policy;
Enabling the integration (FullStory)
To start syncing, follow the steps below:
- Navigate to Settings > Integrations > Manage > Data Exports
- Find the Snowflake integration and click Add.
- As shown in the screenshot below, in the menu that appears, add in your Snowflake Account ID, Warehouse, the Database you created and the Username and Password for the new FullStory user.
Note: Please ensure all credentials are correctly entered. If any are incorrectly entered, the integration sync will fail.
- When you are ready, click Save at the bottom.
- After saving, you will see data start flowing into your warehouse within an hour.
Can you set up more than one Data Destination in your account?
FullStory only allows you to set up a single Data Destination per account. If you have already activated another destination you must remove the other before you can add a new one.