Getting Started with LiveRamp Activation for Snowflake
LiveRamp Activation for Snowflake allows customers with data in Snowflake to resolve identifiers to RampIDs within Snowflake and then to share that RampID-based data with LiveRamp for activation to destination platforms.
Overview
The LiveRamp Activation for Snowflake workflow consists of the following activities:
Performing identity resolution within Snowflake to resolve identifiers to RampIDs
Sharing the RampID-based data to your LiveRamp account
Building segments from your data in the LiveRamp UI
Activating those segments to your desired destination platforms in the LiveRamp UI
LiveRamp's identity resolution is available through a native app in Snowflake's Marketplace.
When you install the native app, it creates a set of tables and a schema and writes a set of procedures into the Snowflake worksheet.
To perform an identity resolution operation, you first provide an input table that contains the relevant identifiers and a metadata table that contains information on the operation to be performed. You then perform the identity resolution operation and the operation creates an output table with RampIDs in your Snowflake account.
To share the output table data with your LiveRamp account, you first create a copy of the table and then share that copy with LiveRamp's Snowflake account.
Note
LiveRamp will only see the explicit tables that are shared for Activation in a read-only mode. LiveRamp will not have the ability to modify, delete, or create new tables in a client's Snowflake environment.
Once the share has been configured and received into your LiveRamp account, the table will be available in your account in the LiveRamp UI for segment building.
Once you’ve created your desired segments in your LiveRamp, you can use the LiveRamp UI to activate those segments to your desired destination platforms.
Note
LiveRamp’s Embedded Identity is only currently available in Snowflake regions AWS-US-EAST-1, AWS-US-WEST-2, and Azure EastUS2.
Prerequisites
Before you begin the process, make sure that the following prerequisites are in place:
Administrator or role access to a Snowflake account. For information, see “Enabling non-ACCOUNTADMIN Roles to Perform Data Sharing Tasks” in the Snowflake help.
Permission to create Snowflake roles.
Overall Steps to Activate Snowflake Data
Once you've completed all the pre-contract activities, LiveRamp Activation for Snowflake involves these basic steps:
LiveRamp provides you with the necessary information:
If you don’t already have credentials for LiveRamp's Identity API, LiveRamp sends you a client ID and a secret for authentication.
If you don't already have credentials for LiveRamp's platform (https://app.liveramp.com/), LiveRamp will send you the credentials.
You send LiveRamp your Snowflake account ID/locator.
Note
You can find the account ID/locator in Snowsight in the bottom left corner by hovering over your account.
You set up a native app in Snowflake so that you can perform identity resolution on your data.
You prepare the input and metadata tables necessary for identity resolution.
You perform the identity resolution operation to translate the identifiers in the input table to RampIDs.
You create a local copy of the Identity output table and then share the local copy of the output table to LiveRamp’s Snowflake account so that LiveRamp can make that table available in your LiveRamp account in the LiveRamp UI.
You build segments from your table data in the LiveRamp UI.
You activate the segments to your desired destination platforms in the LiveRamp UI.
You activate the segments at the destination platforms.
See the sections below for more information on performing these steps.
Key Implementation Decisions
Work with your LiveRamp account manager to determine your initial choices in these areas:
Deciding which database and scheme will be used for LiveRamp Activation: A recommended practice is to create a Snowflake database and schema that will only be used for LiveRamp Activation, which provides the following advantages:
Creates a central place for you to review all data shared with LiveRamp.
Simplifies setup by only creating a single location to be used by the enterprise
Allows data to be removed from the share programmatically, without impacting the rest of the enterprise
Allows for easier audit, since there is only a single location to review and monitor
Set Up a Native App in Snowflake
Identity resolution capabilities are available within Snowflake through a LiveRamp native app, which creates a share to your account, opening up a view to query the reference data set from within your own Snowflake environment. The LiveRamp native apps are installed using tiles in the Snowflake Marketplace.
Upon initialization, the native app runs an installer script in your account to create an appropriate role and pass the needed stored procedures. The data can then be queried from your account while the reference data set remains in LiveRamp's account. This is accomplished through the secure share capability, enabling view access to the app database.
To set up a native app, you’ll perform the following overall steps:
Accept the Marketplace terms and conditions in the Snowflake UI.
Note
This must be performed by a user with an "orgadmin" role.
Install the LiveRamp Identity Resolution native app.
Set the necessary variables that will be used in subsequent steps.
Update the firewall configuration to enable authentication.
Create and grant permissions to a role that gives the App Share database access to your tables (including logging and metrics tables).
Create logging and metrics tables, add them to a share, and share that share back to LiveRamp. For more information, see the Snowflake help topic "Working with Shares."
For detailed information on performing these steps, see "Set Up a Native App".
Prepare the Tables for Identity Resolution
LiveRamp's Identity Resolution capability in Snowflake allows for the translation of various identifiers to RampIDs. This allows you to resolve personally-identifiable information (PII) or device identifiers to a persistent pseudonymous identifier for persons and households. You can also input an individual-based RampID and get back any household-based RampID that might be associated with that individual.
The following identifiers can be resolved:
Names
Postal addresses
Email addresses
Phone numbers
Cookies
MAIDs (mobile device IDs)
CTV IDs (Connected TV Device IDs)
CIDs (custom identifiers)
Person-based, maintained RampIDs (for resolution to household RampIDs)
Once you’ve successfully set up the native app for identity resolution, you need to create two tables to perform the identity resolution operation:
A metadata table, indicated in the code as
$customer_meta_table_name
.Note
A metadata table can be reused for multiple operations, but a separate metadata table must be prepared for each different identity resolution operation you want to perform. For example, if you’re going to perform identity resolution on both MAIDs and hashed emails, you’ll need a different metadata table for each operation.
An input table, indicated in the code as
$customer_input_table_name
.Note
An input table needs to be prepared for each identity resolution operation and can only contain one type of identifier.
For detailed instructions on creating the input and metadata tables, see “Prepare the Tables for Identity Resolution”.
Perform the Identity Resolution Operation
Once you’ve completed the previous steps, you’re ready to perform the identity resolution operation.
You perform an identity resolution operation by running the identifier resolution procedure shown in “Perform the Identity Resolution Operation”, which includes checking that the output has succeeded.
You can then view the output table to check the results. The output tables vary somewhat, depending on the type of identifiers being resolved. For more information, see “View the Output Table”.
Share Data from Snowflake to Your LiveRamp Account
Once one of the Identity Resolution functions has been executed and you have data tied to RampIDs in your Snowflake account, you can share that data to your LiveRamp account so you can use it in LiveRamp's marketer-friendly UI for building segments and distributing to desired destinations.
This involves creating a local copy of the Identity output table and then sharing that copy to LiveRamp’s Snowflake account.
For instructions, see “Share Data from Snowflake to Your LiveRamp Account”.
Once the share has been configured and received into your LiveRamp account, the table will be available in the LiveRamp UI for segment building (typically within 10 minutes if the share name has already been configured). You can view your tables on the All Assets page in the LiveRamp UI.
Build Segments from your Data Tables
Once the share has been received into your LiveRamp account, you can go into the LiveRamp UI and build segments.
You can use the Segment Builder to build a segment from the table attribute fields and segments in your account by constructing a series of filter rules, using individual filter rules and filter groups. For more information, see "Build a Segment".
Each filter rule is made up of an attribute (such as "Car_Make"), an operator (such as "contains"), and a value (such as "Ford") to create a filter rule statement (such as "Car_Make contains Ford").
A number of operators are available when constructing individual filter rules, depending on the attribute type. To see a list of available operators and their descriptions, see "Available Filter Operators for the Segment Builder".
For instructions on building a segment from your data tables, see “Build a Segment”.
You can view the segments you’ve built, including segment processing status, on the Segments page.
Once the segment has completed processing and shows a segment status of “Ready”, the segment can be distributed to destination platforms.
Activate Segments to Destination Platforms
Once your data is in LiveRamp and you’ve created your desired segments, you can activate those segments to your desired destination platforms and create a single or recurring distribution.
To activate data to destination platforms, you perform the following overall steps to create a “data delivery group”:
Select a group of segments.
Specify the destinations to send the data to. This includes specifying the integration to use for that destination, such as a first-party data integration or a Data Marketplace (third-party data) integration. It also usually includes configuring the integration with your ad account information and other properties.
Specify the delivery rules, such as how often data should be refreshed and whether you want to target at the individual or household level.
A group of segments that have been configured to be sent to specified destinations with shared delivery rules is called a “data delivery group”. For more information on data delivery groups, including creating a data delivery group, see "Data Delivery Groups".
A configured destination integration is called a “destination connection”. You can create destination connections during the process of creating a data delivery group or outside of that process. For more information on destination connections, see "Destination Connections".
Each data delivery group can be configured to send data to multiple destination connections.
For example, you might create a data delivery group consisting of three segments to be sent through your Facebook Direct destination connection and your Google DV360 destination connection, with the data refresh cadence set to "weekly" and targeting at the household level.
Once you’ve created an data delivery group and distribution has started, you can view the activation status of that data delivery group and your activated segments.
Segments are typically available at the destination platforms within 2-3 days.