Use the bi-directional Snowflake Connection to enrich BlueConic profiles with data from Snowflake and vice versa, via an Amazon S3 server or Google Cloud Storage bucket.
Connection frequency
The Snowflake Connection supports:
Scheduled batch import and export.
Real-time import.
Before you begin
Ensure you have the proper Snowflake and Google Cloud Storage or Amazon Web Services (S3) credentials.
Enable snowflake database privileges for all databases that will be accessed via the BlueConic Snowflake Connection. Your account must have the following grants:
SELECT
INSERT
UPDATE
DELETE
CREATE STAGE
CREATE FILE FORMAT
CREATE OR REPLACE FILE FORMAT
Create a Snowflake Connection
Click Connections > Add Connection.
Select the Snowflake connection from the popup.
Enter the name and metadata details for the connection.
Click Save.
Authenticate
To set up a connection between BlueConic and Snowflake, you need to add your Snowflake account credentials as well as your Google Cloud Storage or Amazon Web Services (S3) account information, to authenticate the connection.
On the Set up and run tab under Snowflake Authentication, enter your Snowflake:
Account name with region
For example, “blueconic.eu-west-1” or “blueconic.dev.us-central1.gcp” would be accepted values. See the Snowflake documentation for assistance finding your account name and region.
Username
Password
If using batch import and export goals, scroll to Select Storage provider and choose either Amazon Web Services (S3) or Google Cloud Storage (GCS).
Enter the corresponding credentials in the authentication section below.
Amazon Web Services requires:
Access key ID
Secret access key
Bucket. Note that BlueConic saves files to the bucket root of the S3 server.
Google Cloud Storage requires:
Client ID
Client secret
Authentication
Project ID
Bucket
Save the Connection
Experiencing issues with Snowflake and multi-factor authentication? See here.
Configure the batch import
Click Add goal in the lower left panel and select Import profiles - Batch
Select a BlueConic domain group. Only profiles in the domain group you select will be added or updated.
Select the location of the data in Snowflake. Here, you can tell BlueConic where to find the data to be imported by selecting your Snowflake database, schema, and table. You can select multiple nested tables to import data from. Use the circular link icon to link tables together through IDs that exist in both tables.
Optional: Correct your files before the import
Add a data processor to transform, filter, or manipulate your data (e.g., email cleansing, name normalization).Link identifiers between Snowflake and BlueConic.
To match customer data between the two systems, enter one or more customer identifiers. Use the dropdown menu in the BlueConic field to select either the BlueConic profile identifier or a profile property.Use the "Allow creation..." checkbox to allow BlueConic to create new profiles for data that does not match an existing BlueConic profile.
Map Snowflake data to BlueConic profile properties.
Match Snowflake fields on the left with BlueConic profile properties on the right. Use the dropdown at the right to select how imported content should be added to existing values:Set
Set if empty (if the profile property is empty)
Set or clear (if the Snowflake field is empty)
Add the data field to the list of existing values
Sum a number with the existing values (if the data field is a number.) Use the Add mapping button to create additional mapping rows. You can add multiple mapping rows at once with the "Add remaining fields" option. BlueConic detects the remaining Snowflake fields and matches them with BlueConic profile properties. You can set the merge strategy for imported field (set, set if empty, set or clear, add, sum) and also provide a custom prefix to the names of BlueConic profile properties (optional).
Optional: Import events to the BlueConic Timeline
Click Import data into BlueConic events, select a BlueConic timeline event type, and map the correct Snowflake fields into the corresponding BlueConic Timeline event properties.
Configure the batch export
Click Add goal in the lower left panel and select Export profiles
Select a BlueConic segment for the export. Only profiles in this segment that have matching identifiers in Snowflake will be exported.
Select a location in Snowflake for the export.
Select the Snowflake database, schema, and table to export profile data to (or create new ones here). Note: If you set the export goal to use a predefined Snowflake table, BlueConic will try to merge the new values into the existing table without rewriting, overwriting fields defined in the mapping, or adding new rows.Optional: Correct your files before the export
Add a data processor to transform, filter, or manipulate your data (e.g., email cleansing, name normalization).Link identifiers between BlueConic and Snowflake.
Here, you match identifiers between BlueConic profiles and Snowflake fields. You can optionally choose to let BlueConic create new records in Snowflake if no existing match is found.Map BlueConic data to Snowflake.
Match the BlueConic data fields you're exporting to Snowflake fields. In each mapping row (created via the Add mapping button), select the type of information you want to export by clicking the BlueConic icon and choosing one of these options from the dropdown:Profile property: The value of a specific profile property.
BlueConic profile identifier: The unique identifier for a profile.
Associated segments: All segments, or a selection of one or more specific segments that the profile is associated with.
Associated lifecycles: All lifecycles this profile is associated with.
All viewed interactions (all time): The interactions that the profile has seen.
Permission level: The permission level set in the profile.
Text value: Any static text
Processor value (optional): If you have selected one or more data processors in step 3, map the processor value(s) here. For example, if you are using a data processor that outputs several values, add them here as fields to be mapped to Snowflake.
Optional: Export BlueConic Timeline events to a Snowflake table
To create a new set of mappings, click the Export events to Snowflake button. Here, you select a table from Snowflake, select your BlueConic Timeline event type, and then map your Timeline events on the left with Snowflake fields on the right. Additional mappings let you export BlueConic profile property data with your event data. (Note: If you have installed data processors in your tenant, the processor(s) you select in step 3 can filter or transform your event data.)
Configure the real-time import
By creating a real-time import goal, you can activate data stored in Snowflake in real time. For details and use cases, see Using Real-Time Sync for dynamic personalization.
On the Set up and run tab, scroll to Define channels and select the channels for the connection to be active on or leave it as the default "All pages on all channels."
Click Add goal in the lower left panel and select Import profiles - Real time to open the page.
Select data location.
Select the location in Snowflake (the database, schema, and tables) where the data you want to import is located.Link identifiers.
Link identifiers to match the data from Snowflake to BlueConic profiles.Map Snowflake data to BlueConic.
Map the Snowflake fields you want to import into BlueConic to the corresponding BlueConic profile properties.Click Save and your import goal is enabled to start collecting data from Snowflake in real time.
Run the connection
Scheduling the Snowflake connection
To run the connection on a schedule, follow these steps:
Click Set up and run in the left-hand panel.
Click the settings icon in the Run history section of the Set up and run page.
Schedule the connection to run by choosing options in the Schedule window.
Click OK.
Switch the connection On and Save your settings.
To run the connection immediately, click Run now.
After the connection has run, scroll down to the Run history section. This table shows all past and scheduled runs for the connection. In the details column, it also lists the last five created or updated profiles and links to the profile identifier so you are able to see exactly how and whether profiles were created or updated correctly.
Note: BlueConic does not clean up or delete files from the S3 bucket after the connection runs.
Learn more about scheduling and running BlueConic connections.
Data exchange
Once the connection has been run, the data exchange section in the Setup page shows the number of unique BlueConic profiles imported from and exported to Snowflake via this connection.
Next Steps
Add the Snowflake connection to an Objective, allowing for privacy management of the information that is being picked up. A connection will only process the profiles of visitors who have consented to at least one of the objectives that the connection is linked to.
FAQ
Why can't I retrieve my Google Cloud Storage bucket and project ID?
You need to be successfully connected to your Google Cloud Storage account to retrieve bucket and authentication details. Authenticate first and the options will function as expected.