The Trade Desk connector for Snowflake: Get started
Advertisers and data providers can use The Trade Desk connector native app to upload data. Key benefits include the following:
- The installation and configuration process is automated, including safely pairing your Snowflake account with your account at The Trade Desk using mutual authentication.
- The native app supports first-party, commerce, and non-commerce use cases, and includes mapping from email addresses and phone numbers to UID2 (signed paperwork is required for UID2).
- The Snowflake Native App solution includes a streamlined setup interface and troubleshooting assistance to get your integration working smoothly.
- It is valid for all Snowflake cloud regions outside of Europe.
- All code runs in your account, with support for versioning and other aspects of maintenance, following the general Snowflake Native App model of ease of use.
NOTE: To use UID2 for your data, work with your contact at The Trade Desk to sign relevant paperwork.
To learn more about the Snowflake Native App, watch the following demo videos:
- First-party data: Shows how to send your first-party audience data from Snowflake to The Trade Desk.
- Conversions: Shows how to correctly configure offline conversion events in The Trade Desk connector for Snowflake.
Requirements
To use The Trade Desk connector native app to send your own first-party or third-party audience data or conversion data to The Trade Desk, you must have the following:
An account with The Trade Desk.
An account with Snowflake.
Role and permissions in Snowflake to install the application and grant required privileges. For details, see Native app permissions.
Data properly prepared for ingestion for each integration type, including one or more Tracking tags for sending conversions.
NOTE: To use The Trade Desk connector native app to send first-party audience data or conversion data to The Trade Desk on behalf of others, you must complete these steps and also have a pairing relationship with the participant whose data you're uploading. For details, see Onboarders.
Snowflake marketplace listing
The following listing from The Trade Desk for processing conversion events and audience data in Snowflake is available in the Snowflake marketplace:
- TTD Connector: Audience & Conversion Data
Application roles
Application roles, defined by The Trade Desk connector for Snowflake, control permission to perform specific functions offered by the native app, in contrast to regular roles (database roles) defined by your client.
As part of getting started, it's important to make sure that there is at least one user with the APP_ADMIN application role, and that any other users have the necessary application role for the functions they'll be performing.
IMPORTANT: Any privileges granted to application roles are passed to the app owner role (the role used to install the app). The app owner can also delegate application roles to other roles using GRANT APPLICATION ROLE.
For general information about application roles in Snowflake, see About application roles and GRANT APPLICATION ROLE in the Snowflake documentation.
| Role Name | Description | Capabilities |
|---|---|---|
APP_ADMIN |
Users with this role can perform all functions. Includes all capabilities of the APP_USER and APP_DATA_INPUT roles also. |
Users with this role can perform the following functions:
|
APP_USER |
Users who need to review, but not change, data or configuration: for example, advertising operations (AdOps) personnel. | Users with this role can perform the following functions:
|
APP_DATA_INPUT |
Users and services that populate and update the data input tables. | Users with this role can perform the following functions:
|
Process overview
Here is a high-level summary of the steps to take to request access to the Snowflake Native App, install and configure it, process your data, and send it to The Trade Desk platform.
- Request access to the native app.
- Install the native app through the Snowflake Marketplace listing.
- Configure the native app.
- Process the data:
- Conversions
- First-party segments
- Third-party segments
- Verify the results for your data:
- Conversions
- First-party segments
- Third-party segments
Request access
To request access to the Snowflake Native App, follow these steps:
Go to the Snowflake marketplace listing for the type of data you're processing.
Click the Request button at the upper right of the listing, and provide the information requested.
A Technical Account Manager will contact you by email and confirm when your access request has been approved.
The next step is to install the native app.
Install the native app
When you're approved for access to the native app, you can install it. Follow these steps:
In Snowflake, go to Data Sharing > Private Sharing.
In the Shared With You tab, choose The Trade Desk connector.
On the Snowflake Marketplace listing page, click Get.
Snowflake installs the native app on your Snowflake account and performs some steps to prepare for processing your data, including creating a table for data input and a table for results. When installation is complete, the app displays a Successfully Installed message.
You’re now ready to configure the native app.
Configure the native app
When you've installed the native app, the next step is to:
- Configure application roles. See Application roles.
- Configure the native app. This includes granting required permissions and establishing pairing. The process is the same for conversions and audience segments.
IMPORTANT: If you want to create a relationship with a specific data provider, ask your Technical Account Manager to make sure you have access to the data provider before creating the pairing.
To configure the native app, follow these steps:
At the Successfully Installed message, click Configure.
Snowflake initializes the application framework that's common to all Snowflake Native Apps, and the app creates objects for data processing. The steps include creating input tables, stored procedures, tasks, and output tables in the application database.
In the Permissions page, grant all necessary permissions:
Click Grant External Integration Access, specify network rule storage if needed, and then click Connect.
Click Grant Warehouse Task Access, specify the Snowflake virtual warehouse that you want the app to use for processing your data, and then click Save.
Click Grant Privileges and then, in the next dialog, click Grant Privileges again.
For details about the permissions, see Native app permissions.
In the Pairing page, complete the pairing flow to establish a trust relationship between your Snowflake account and The Trade Desk account:
Copy the sharing URL that was generated.
IMPORTANT: At this point, in some cases the workflow requires some steps from a Technical Account Manager. For details, see Pairing scenarios.
Go to the URL in another tab or browser instance to access the page in the Partner Portal.
The Trade Desk Partner Portal loads this page:
https://partner.thetradedesk.com/v3/data/integrations/. The Configure New Data Integration Pairing dialog is pre-filled with your pairing code, as well as these additional values: Account Name, Account ID, Data Platform, and Organization. Review the data that's displayed to make sure the values are correct. In this example, the values are blurred.From the Select partner to use in this pairing dropdown, choose the main partner you want to work with.
From the Select advertisers to use in data integration dropdown, choose one or more advertisers that you want to work with for data integration.
Click Create. The pairing task does the following:
Creates entries in The Trade Desk database based on your selections.
Adds some entries in your Snowflake account to establish the relationship.
NOTE: This step might take a short time.
When processing is complete, the entry is displayed in the Partner Portal at the
https://partner.thetradedesk.com/v3/data/integrations/URL, and the following message is displayed: "Successfully submitted pairing request. Return to Snowflake to configure your integration."Go back to the previous browser instance or tab where you're running the Snowflake Native App.
In the native app, the partner and advertisers that you selected are displayed with a message, "Pairing Complete."
If you want to partner with an additional partner or advertiser, see Create additional pairing tokens.
Managing pairing tokens
You can perform the following activities to manage your pairing tokens:
- Create additional pairing tokens
- Revoke a pairing
Create additional pairing tokens
If you want to pair with more than one partner, you have to create a separate pairing token for each partner. The pairing token is unique to your relationship with a specific partner.
There are two parts to pairing:
- In the Snowflake Native App, create the token.
- In the Partner Portal, pair the token with a partner and one or more advertisers.
To create a new pairing token, follow these steps:
In the Native App, click Pairing to go to the Pairing Details page.
Click the Create Additional Pairing Token button. You'll see the message "New pairing token created!"
Copy the link, and then go to the URL in another tab or browser instance to access the Configure new data integration pairing overlay in the Partner Portal.
Subsequent steps are exactly the same as when you create the first pairing token. From the dropdown partner list, choose a different partner and one or more advertisers to pair with. For details, see Configure the native app Step 3-2.
Revoke a pairing
You might need to revoke a pairing: for example, if your relationship with the partner has ended, or if the token was compromised and you need to create a new one.
To revoke a pairing, follow these steps:
In the Partner Portal, go to the Data Integrations page, TTD Connector App Integrations tab (
https://partner.thetradedesk.com/v3/data/integrations?tab=pairing), and find the pairing ID on the list.On the right, click Revoke.
At the prompt, click Continue.
The pairing integration is deleted.
Native app permissions
The following table lists the permissions for the native app, with additional information on each.
| Permission | Purpose | Notes/Details |
|---|---|---|
| External Integration Binding | Allows the native app to send a request (API call) to an external endpoint owned by The Trade Desk. | This is needed for interactions with The Trade Desk APIs to process the data by calling production endpoints on this domain: data-ingestion.adsrvr.org.The endpoint maps the hashed email addresses and phone numbers to UID2s and then sends the data to the applicable The Trade Desk endpoint—for example, for conversions, the Offline Conversions API. NOTE: Advanced options are available for configuration of network rules and external access integration. We recommend that you do not change the default values. Keeping the defaults simplifies setup and any troubleshooting. |
| Warehouse Task Binding | Grants the native app access to a specific warehouse for processing background tasks. | Defaults to the warehouse you specified in Install the native app, Step 3. Choose from the dropdown list of your available warehouses. NOTE: A larger warehouse is more expensive but processing is faster. |
EXECUTE_TASK Privilege |
Gives the native app the privileges to execute a background task in your designated warehouse. | The background task consumes your input data, sends it to the API endpoint, and inserts results in the results table. |
As each task completes successfully, the checkbox shows a checked status, and the wizard goes on to the next task.
The next step is to process the data.
Pairing scenarios
The exact pairing workflow depends on the scenario, including your role and the type of data you'll be processing. In some scenarios, when you generate the pairing token, you'll need to send it to your Technical Account Manager, who will perform some additional steps and then create the tracking tag for you.
The various scenarios are shown in the following table.
| Role | Activity | Workflow |
|---|---|---|
| Advertiser working with only your own data | Upload your own first-party segments | In the native app, generate a pairing token. For details, see Configure the native app (Step 3). In OpenTTD, create a tracking tag. Use this data provider ID: sflakeoff1p. |
| Process your own first-party optouts/deletions | ||
| Onboarder | Process first-party segments, conversion data, or optouts/deletions on behalf of a partner | In the native app, generate a pairing token for each partner. Send each URL to your Technical Account Manager. For details, see Onboarder: Get set up. |
| Advertiser working with a specific data provider | Upload first-party segments | In the native app, generate a pairing token. Copy the resulting URL and send it to your Technical Account Manager. |
| Upload conversions | ||
| Process first-party optouts/deletions | ||
| Data provider working with third-party data that you own | Upload third-party segments | |
| Upload conversions | ||
| Process third-party optouts/deletions |
Next steps
The next step depends on the type of data you're sending to The Trade Desk. Follow the instructions on the applicable page referenced in the following table.
| Role | Activity | Documentation Link |
|---|---|---|
| Advertisers and data providers | Uploading offline conversion data | Conversions |
| Advertisers | Uploading your own first-party data | First-party segments |
| Onboarders | Uploading first-party data on behalf of multiple advertisers | Onboard data |
| Advertisers and data providers | Uploading third-party data | Third-party segments |
FAQs
The following is a list of commonly asked questions about the Snowflake Native App.
Why can't I see all available procedures?
If you find that you cannot complete a key basic procedure, it's likely that you haven't been assigned the application role necessary to complete the task or procedure.
For example, if you don't have the APP_ADMIN application role, you might see the following error on trying to run the SP_START_SEGMENT_TASK task:
SQL compilation error: Unknown user-defined function APP.SP_START_SEGMENT_TASK.
If this happens, ask someone with the app owner's role (the role that installs the app) to assign the necessary application role to you.
For details, see Application roles.