The Snowflake Connection in BlueConic is used to enrich BlueConic profiles and/or groups with data from Snowflake and vice versa. With Snowflake Secure Data Sharing, a new data access method leverages Snowflake's Secure Data Sharing capabilities, providing a secure and efficient alternative to traditional import methods that relied on intermediary storage or complex credential management.
Note: To enable Secure Data Sharing for Snowflake, Snowflake has been added as a sub-processor under your existing BlueConic agreement.
For more details, you can review the full explanation, click here.
For details about the traditional connection, using external storage (Amazon Web Services S3 or Google Cloud Storage GCS) and API-based integration.
click here.
This feature supports
Batch profile import and export (Up to 6 times per day)
Batch group import and export (Up to 6 times per day)
Batch timeline event import and export (Up to 6 times per day)
Delta-based data processing
Before you begin
Enable Change Tracking:
For Tables:
Run the following command to enable change tracking on a table:
ALTER TABLE <table> SET CHANGE_TRACKING = true
For Views:
Although Snowflake provides a command to enable change tracking on a view, remember that views are built upon one or more underlying tables. Therefore, ensure that both the view and its underlying tables have change tracking enabled.
Run the command below to enable change tracking on a view:
ALTER VIEW <view> SET CHANGE_TRACKING=trueNote: Enabling change tracking on the underlying tables is critical because it ensures that all changes captured by the view are fully tracked.
Note: If you don't see the tables listed in the Import goal, double-check if Change tracking is enabled on each table and view.
Configure Secure Data Sharing
To use Secure Data Sharing in the Snowflake Connection:
Open the Set up and run page of your Snowflake Connection.
Note: We recommend creating a new Snowflake connection instance to test or setup Secure Data Sharing, instead of switching to SDS in an existing connection. Please turn the initial connection off.
2. Under Data access method, choose the “Secure Data Sharing” option.
If you switch to this option in an existing Snowflake Connection, a pop-up will appear confirming that you wish to make this change.
A Secure Data Sharing configuration will appear. Select a Cloud Platform from the dropdown. This should be where your Snowflake instance is hosted: AWS, Azure, or Google Cloud.
Select the geographic region of your Snowflake instance.
Important: Direct Data Sharing is only supported within the same cloud provider and geographic region as your Snowflake account.
Set up import using Secure Data Sharing
Once the cloud platform and region are defined, if you would like to import data from your Snowflake account, do the following steps:
Use the Secure Share Identifier and BlueConic Account, which will populate and look something like:
Copy the Secure Share Identifier and set up a share with this exact name in your Snowflake environment.
Copy the BlueConic Account and use it as the unique identifier of the BlueConic Snowflake account to set up the share.
Create the private share. In your Snowflake account, go to Data Products > Private sharing.
Click Share on the top right, and click on Create a Direct Share.
Select a database and the tables and views you want to share with BlueConic. Click Done.
7. Enter the Secure Share Identifier and add the BlueConic Snowflake account, as shown in the BlueConic UI in step 1. Then click Create Share.
Note: Ensure you have a Snowflake Enterprise Edition or higher for creating shares.
8. In BlueConic, click the Validate configuration button to test that everything works correctly.
9. When validated, the button will show a checkmark.
Note: If you make any changes to the configuration, the button will reactivate.
Set up export using Secure Data Sharing
Once the cloud platform and region are defined, if you would like to export data from BlueConic to your Snowflake account, do the following steps:
Enter your Snowflake Account locator in the “Your Snowflake Account” textbox; the BlueConic share identifier is automatically populated.
To find your Snowflake Account Locator, open your Snowflake Account:
Copy the Data sharing Account Identifier and paste it in the “Your Snowflake Account” field in the Set up and run page in BlueConic UI.
Click the “Validate configuration” button in the BlueConic UI.
Save the Connection.
Configure batch group import
1. Click Add goal in the lower left panel and select Import groups into BlueConic
2. 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.
3. Link identifiers between Snowflake and BlueConic.
To match group data between the two systems, enter the identifier used in Snowflake. Use the "Allow creation..." checkbox to allow BlueConic to create new groups for data that does not match an existing BlueConic group.
4. Map Snowflake data into BlueConic group properties.
Match Snowflake fields on the left with BlueConic group 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 group property is empty)
Set or clear (if the Snowflake field is empty, allow to clear)
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 group 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).
Configure batch profile 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.
Ensure that change tracking is enabled.
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 batch group share
Click Add goal in the lower left panel and select Share groups
2. Select a location in Snowflake for the export.
Select the Snowflake database, schema, and table to export group 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.
3. Link identifiers between BlueConic and Snowflake.
Here, the identifiers between BlueConic groups and Snowflake fields are matched. It is not editable. You can optionally choose to let BlueConic create new records in Snowflake if no existing match is found.
4. Map BlueConic data to Snowflake.
Match the BlueConic data fields you're exporting to Snowflake fields.
Configure batch profile share
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.
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.)Tip: To help manage the amount of event data exported, choose a time period for the events you want to export through the Timeline period section at the bottom of this step.
Running the connection
Turn the Snowflake connection on in the right upper corner
Go to the Setup and run page. Scroll down to the Run history section. This table shows all past and scheduled runs for the connection.
To start the import and export manually, save your settings and select Run now.
To schedule the import and export, select the Settings icon. Choose how to schedule the import by choosing an option from the drop-down list:
Number of times per day
Days of the week
Days of the month
Weekday of the month
Tip: Make sure you have added Import and/or Export goals and saved your settings before running the connection.
Use Snowflake connections with BlueConic Lifecycles
You can add Snowflake profile share goals as touchpoints in BlueConic Lifecycles. Here are some key points to consider:
Exporting Lifecycle stage information to Snowflake: When you add a Snowflake share profile goal to a BlueConic Lifecycle, you can use that share goal to send a list of profiles that attain a certain lifecycle stage along their customer journeys and use this information for campaigns.
Setting Lifecycle stage restrictions: You can restrict a connection goal to export only the profiles that are currently part of a certain lifecycle stage.
FAQ
How can I monitor the status of my Snowflake connection?
You can track the status of your connection using the run log and email notifications.The Run history table shows all past and scheduled runs for the connection. In the details column, you can also see the last five created or updated profiles, along with links to their profile identifiers. This helps you verify how and whether profiles were updated correctly.
Are data processors supported for Secure Data Sharing imports?
No. Data processors are not supported for imports when using Snowflake Secure Data Sharing.
Are there any limitations for Secure Data Sharing imports?
Yes, there are several limitations to be aware of:
Deletes for profiles and nested timeline events are not fully supported
Schema changes are not supported
Geospatial data types are not supported
Nested timeline events may overwrite incorrectly if identifiers are not mapped properly
How do exports behave with enabled vs. disabled connections?
For Secure Data Sharing exports:
Deletes are only tracked when the connection is enabled
If you run the connection manually while it is disabled, it will trigger a full export instead of an incremental export


