How Conversion works with Snowflake
Conversion syncs data from Snowflake into its data model on a schedule you choose. You write a SQL query for each sync, and the rows become contacts, custom objects with their relationships, or events that can trigger workflows. Conversion reads from Snowflake and never writes back to it.
What you can do
SQL you control
Each sync is a query against the tables and views you already model. Rename columns with AS and they map to Conversion fields by key.
Incremental schedules
Run syncs every 15 minutes, hourly, every 6 hours, or daily. Filter on last_sync_time so each run reads only the rows that changed.
Objects, not flat fields
Warehouse models land as custom objects related to contacts, so segments and emails can reference a product, plan, or usage record directly.
Events that start workflows
Synced events can trigger workflows and feed audiences, so product signals from Snowflake drive campaigns without an engineering ticket.
What syncs
| Data | Direction | Details |
|---|---|---|
| Contacts | Into Conversion | Create or update contacts, matched by userId or email. Columns map to fields by name. |
| Custom objects | Into Conversion | Products, subscriptions, usage, or any model you define, with relationships to contacts. |
| Events | Into Conversion | Rows become timestamped events on contacts, deduplicated by eventId. |
How to connect Snowflake
- 1 Create a dedicated Snowflake warehouse, role, and user for Conversion, with read access to the databases you want to sync.
- 2 Generate an unencrypted PKCS#8 key pair and assign the public key to the Conversion user.
- 3 Allowlist Conversion's IP addresses if you use a Snowflake network policy.
- 4 Add the connection in Conversion settings, then create a sync for each destination with its SQL query and schedule.