Snowflake

Use GrowthLoop audiences for Snowflake tables.

Connect this destination to export audience membership as rows in a Snowflake table, for use downstream.

This destination writes to your Snowflake account and is a good fit when you want to:

  • Write audience rows in Snowflake rather than a paid-media or messaging API
  • Have a warehouse, database, and schema the export role can write to
  • Match contacts on a unique identifier

This maps to GrowthLoop Audiences and Journeys:

Use it forAudiencesJourneys
Writing audience membership to a Snowflake table✓✓

To connect Snowflake as your GrowthLoop warehouse source, see Snowflake. If MessageGears reads the table, use MessageGears instead.

Prerequisites

Make sure you have:

  • A Snowflake warehouse, database, and schema where GrowthLoop should write the table.
  • Your Snowflake Account ID, Username, and Role.
  • A private key for that user. See Snowflake's key-pair authentication. If the key is encrypted, have the passphrase.

The role must be able to create tables and load data in that schema.

If you already have these values, skip to Set up Snowflake as a destination.

Find your warehouse, database, and schema

In Snowflake, click the context bar in the upper left of the query editor. The dropdown shows the warehouse, database, and schema.

Snowflake query editor context bar showing warehouse, database, and schema

Find your role and Account ID

The role appears under your username in the upper left.

Snowflake user menu showing the current role

Click the dropdown next to your username. The Account ID appears below Log Out.

Snowflake user menu showing the Account ID below Log Out

Set up Snowflake as a destination

  1. In GrowthLoop, click the Destinations tab on the left sidebar.
  2. Click New Destination in the top right corner.
  3. Search for Snowflake under Data Warehouse and click Add Snowflake.
Select Destination modal showing Add Snowflake under Data Warehouse
  1. Enter the required information, then click Create.

You set the warehouse connection here. You choose the Table Name later, when you export.

FieldDescription
Destination NameName this destination in GrowthLoop. Use a name so your team recognizes its purpose, like "Snowflake Export".
Sync FrequencySet the default export frequency (for example, hourly or daily). You can override this setting for individual exports.
SchemaThe Snowflake schema where GrowthLoop should create the table.
DatabaseThe Snowflake database that contains that schema.
WarehouseThe Snowflake warehouse that runs the load.
AccountYour Snowflake account ID.
UsernameSnowflake username.
RoleSnowflake role for the load.
PassphraseOptional. Passphrase for the private key, if the key is encrypted.
Private KeyThe user's private key.
Columns to ExportOptional. Comma-separated warehouse column names. If you leave this blank, GrowthLoop exports all columns.

GrowthLoop validates the connection. Snowflake then appears in your list of connected destinations.

Export to Snowflake

From within GrowthLoop, export from an audience or from a journey Destination Node. See Export an audience or Build a journey if you need more information on these steps.

After building or selecting an audience, click Export, then search for your Snowflake destination. In a journey, add a Destination Node under Datawarehouse and select Snowflake.

Journey Destination Node with export name, match fields, and personalization signals

Map identifiers

On an audience or in a journey Destination Node, map Unique Identifier. This destination requires a unique identifier for each row.

You can also map custom attributes from the audience or from the journey as additional fields.

Configure the export

This is where you set the campaign type and schedule for audience exports. On a journey Destination Node, you set timing on the journey canvas.

SettingAudience exportJourney Destination Node
Export NameDefaults to the audience name.Required. Enter a name so you can find the export in GrowthLoop.
Table NameRequired. Letters, numbers, and underscores only.Required. Letters, numbers, and underscores only.
Campaign typeChoose a one-time or ongoing export.The journey schedule controls when the journey runs and rows are sent to Snowflake.
Export Inclusion CriteriaAll audience members for a full refresh, or Newly added audience members for additions and removals since the last export.The journey sends contacts who reach this node.
ScheduleSet frequency, start date, end date, and days of the week for ongoing exports.Users reach this node when the journey runs. Add a Delay Node or set Criteria Evaluation to control timing.
Personalization FieldsExtra columns for this export. By default, GrowthLoop sends the destination Columns to Export.Extra columns for this export.

Export behavior

This is what GrowthLoop writes when you export an audience.

BehaviorWhat happens
What GrowthLoop writesRows in the Snowflake table you named. Direction is GrowthLoop → Snowflake.
When it runsGrowthLoop sends the export as a batch on the next successful run. An export that starts Now runs within about 15 minutes. Journeys send exports on demand when users reach the Destination Node.
TableGrowthLoop creates the table in the Database and Schema from setup, using the Table Name on the export. If the table exists, GrowthLoop adds any missing columns.
Match fieldUnique Identifier is required.
Columns to ExportIf you set this on the destination, GrowthLoop limits the table to those columns unless you add personalization fields.
export_dateEach run writes an export_date on the loaded rows.
One-time exportsGrowthLoop sends current membership once.
Ongoing exportsEach run loads updated membership. Earlier rows stay in the table.
DeletesGrowthLoop does not drop the Snowflake table or delete earlier rows.

Confirm the export was successful

When the run finishes, confirm you can use the data in Snowflake.

  • Audience export: Open the Database and Schema you selected during setup and look up the Table Name from the export.
  • Journey Destination Node: Open that schema and look up the table named on the Destination Node.

In GrowthLoop, review counts on the audience Exports tab, or open the Activity tab on the journey Destination Node. See Export an audience or Monitor a journey for more information.

Congrats on successfully exporting to Snowflake!

Troubleshooting

These are the issues we see most often. You can always email us at [email protected] for help.

ProblemCauseResolution
Connection fails to validateAccount, Username, Role, or Private Key is wrong, or the role cannot use that databaseConfirm the account ID, key-pair user, and role. The role must be able to use the Warehouse, Database, and Schema
Authentication failsThe private key does not match the user, or Passphrase is missing for an encrypted keyAssign the matching public key to the Snowflake user. Enter the passphrase only if the private key is encrypted
Table Name is rejectedThe name uses characters other than letters, numbers, or underscoresUse only letters, numbers, and underscores
The table is missingYou are looking in the wrong database or schema, or Table Name does not match the exportOpen the Database and Schema from destination setup and look for the export Table Name
Expected columns are missingColumns to Export or Personalization Fields omit those columnsAdd the columns on the destination or on the export
Rows fail to exportUnique Identifier is not mappedMap Unique Identifier

What’s Next

Export an audience after you connect a destination

Did this page help you?