Snowflake
This guide walks you through configuring Snowflake as a destination for your Webflow Analyze and Optimize data export.
Prerequisites
- Locate your Public Key generated on your behalf. The Public Key will be a long string of text, loosely resembling the format:
'MIIBI...<SHORTENED>...Xrw2nwIDAQAB' - In order to complete the following setup steps, you or a Snowflake admin on your team must have the securityadmin and sysadmin roles. (To check your account for these roles, run
SHOW GRANTS TO USER <your_username>;and review therolecolumn.) - If your Snowflake data warehouse is using Snowflake Access Policies, use the Webflow static IP:
34.69.83.207/32to complete Step 2.
Recommendation: Key-pair authentication with service user
Snowflake is deprecating single-factor passwords and will disallow passwords for service users (TYPE=SERVICE) by October 2026. For that reason, we strongly recommend configuring the transfer user as a service user with key-pair authentication.
Configuration steps
Create role, user, warehouse, and database in the data warehouse
-
Review and make any changes to the following setup script.
Alternative authentication method: username & password
By default, this script creates a new user using key-pair authentication. If you’d prefer to use username & password authentication, instead of:
Use the following block:
Using an existing
schemaBy default, a new schema (with a name you provide) will be created in the target Snowflake database upon the initial connection. If instead you create the
schemaahead of time, you may remove theCREATE SCHEMApermission, and insteadgrant ALL PRIVILEGESon the targetschemafor the designatedrole.The script below can be used to complete this step:
Using an existing
warehouseordatabaseBy default, this script creates a new warehouse and a new database. If you’d prefer to use an existing warehouse/database, change the
warehouse_namevariable fromTRANSFER_WAREHOUSEto the name of the warehouse to be shared/database_namevariable fromTRANSFER_DATABASEto the name of the database to be shared. -
In the Snowflake interface, select the dropdown next to the “Run” button, and click Run All. This will run every query in the script at once. If successful, you will see
Statement executed successfullyin the query results.
Configure the Snowflake access policy
If your Snowflake data warehouse is using Snowflake Access Policies, a new policy must be added to allow Webflow’s static IP to write to the warehouse.
-
Review current network policies to check for existing IP allowlists.
-
If there is no existing Snowflake Network Policies (the
SHOWquery returns no results), you can skip to Step 3. -
If there is an existing Snowflake Network Policy, you must alter the existing policy or create a new one to allowlist Webflow’s static IP address. Use the
CREATE NETWORK POLICYcommand to specify the IP addresses that can access your Snowflake warehouse.
Network allowlisting
Webflow Static IP: 34.69.83.207/32
Creating your first network policy
If you have no existing network policies and you create your first as part of this step, all other IPs outside of the ALLOWED_IP_LIST will be blocked. Snowflake does not allow setting a network policy that blocks your current IP address. (An error message results while trying to create a network policy that blocks the current IP address.) But be careful when setting your first network policy.
Add your destination
Use the following details to complete the connection setup: host name, database name, your chosen schema name, username, and password.
- Instructions for Analyze / Optimize for Webflow sites
- Instructions for Optimize for non-Webflow sites
Permissions checklist
- Role grants:
USAGEon the target warehouse- If the destination schema will be created by the service:
USAGEandCREATE SCHEMAon the target database (the setup script also includesMONITOR)
- If using a pre-created schema:
USAGEon the target databaseALL PRIVILEGESon the target schema
- User defaults set (optional but recommended):
DEFAULT_ROLE,DEFAULT_WAREHOUSE - If using key-pair authentication: user has the PKCS#8
RSA_PUBLIC_KEYset - If network policies are enforced: Webflow’s egress IP is allowlisted
FAQs
How is the Snowflake connection secured?
We recommend key-based authentication. You register a public key on a Snowflake user and we authenticate using the corresponding private key, so no password is shared or stored. You can also enforce Snowflake Network Policies to allowlist Webflow’s egress IP.
What permissions does the data transfer role need?
Minimum grants:
USAGEon the warehouse- If the destination schema will be created by the service:
USAGEandCREATE SCHEMAon the database - If using a pre-created schema:
USAGEon the database andALL PRIVILEGESon the schema
Can I use an existing warehouse?
Yes. Grant USAGE on that warehouse to the transfer role. You may also size the warehouse to control performance/cost.
Should I include the -----BEGIN PUBLIC KEY----- and -----END PUBLIC KEY----- tags in the public key when adding it to Snowflake?
No, you should only provide the raw public key string, without the -----BEGIN PUBLIC KEY----- and -----END PUBLIC KEY----- tags.