Snowflake Share
Our platform supports Snowflake Private Listings for customers who need large-scale, programmatic access to reporting data—typically for ingestion into internal BI tools or data pipelines.
Using Snowflake Share allows us to deliver live, continuously updated datasets directly to your Snowflake account without file transfers, APIs, or duplicated data.
What Data Is Available
Through Snowflake Share, we can provide:
Log-level data
Aggregated reporting data
Data is shared securely and in real time, allowing you to query campaign and reporting data alongside your own internal datasets.
Why Use Snowflake Share
Snowflake Private Listings enable:
Secure, real-time access to your data
No data copying or manual integrations
Easy integration into existing BI tools and pipelines
Reduced maintenance compared to API-based ingestion
This option is best suited for technical teams with existing Snowflake and BI infrastructure.
Setup Overview
To access data via Snowflake Share, you’ll need to:
Create or use an existing Snowflake account
Set up a service user for your BI tool
Provide us with your Snowflake Account Identifier
Accept the Private Listing
Grant your BI user access to the shared database
Detailed steps are outlined below.
Step 1: Create or Access a Snowflake Account
Sign up for a Snowflake account
Bookmark the Snowflake login page for future access
Step 2: Create a Key Pair for Secure Access
Create a public/private key pair by following Snowflake’s official guide.
Important notes:
Keep the private key secure
The private key will be required for your BI tool to authenticate
We do not need access to your private key
Step 3: Create a Dedicated BI User and Role
Run the following SQL as a powerful admin (for example, ACCOUNTADMIN) to create a service user and role for your BI tool.
-- =========================================================
-- Run as a powerful admin (e.g., ACCOUNTADMIN)
-- Create dedicated ROLE and USER (key-pair auth)
-- =========================================================
USE ROLE SECURITYADMIN;
CREATE ROLE IF NOT EXISTS BI_USER;
-- Create a key-pair user
CREATE USER IF NOT EXISTS BI_USER
LOGIN_NAME = 'BI_USER'
DISPLAY_NAME = 'BI_USER'
TYPE = SERVICE
DEFAULT_ROLE = BI_USER
DEFAULT_WAREHOUSE = 'BI_USER'
DEFAULT_NAMESPACE = 'BI_USER.PUBLIC'
RSA_PUBLIC_KEY = '<REPLACE WITH PUBLIC KEY>';
-- Assign role to user
GRANT ROLE BI_USER TO USER BI_USER;
GRANT ROLE BI_USER TO ROLE SYSADMIN;
Step 4: Create a Warehouse for the BI User
-- =========================================================
-- Create compute resources
-- =========================================================
USE ROLE SYSADMIN;
CREATE WAREHOUSE IF NOT EXISTS BI_USER
WITH
WAREHOUSE_SIZE = 'XSMALL'
AUTO_SUSPEND = 1
AUTO_RESUME = TRUE
INITIALLY_SUSPENDED = TRUE
COMMENT = 'Warehouse for BI_USER service account';
Step 5: Grant Warehouse Privileges
-- =========================================================
-- Grant warehouse privileges
-- =========================================================
USE ROLE SECURITYADMIN;
GRANT USAGE ON WAREHOUSE BI_USER TO ROLE BI_USER;
GRANT OPERATE ON WAREHOUSE BI_USER TO ROLE BI_USER;
GRANT MONITOR ON WAREHOUSE BI_USER TO ROLE BI_USER;
Step 6: Share Your Snowflake Account Identifier with us
We will need your Snowflake Account Identifier in order to share the Private Listing with your account.
You can find your Account Identifier by following Snowflake’s documentation:
https://docs.snowflake.com/en/user-guide/admin-account-identifier
Step 7: Accept the Private Listing
Once we have shared the listing:
Log in to the Snowflake UI
Navigate to Data Products > Private Sharing > Privately Shared Listings
Locate the AdCloudIQ listing and click Get
Wait for the listing to prepare (you’ll receive an email titled “Snowflake Marketplace: Request Fulfilled for Listing”)
Click Get again and follow the prompts to create a database
After completion, you’ll see a new database in your Snowflake account.
Step 8: Grant BI User Access to the Shared Database
Replace <JL DATABASE> with the name of the newly created database.
USE ROLE SECURITYADMIN;
GRANT USAGE ON DATABASE <JL DATABASE> TO ROLE BI_USER;
GRANT USAGE ON ALL SCHEMAS IN DATABASE <JL DATABASE> TO ROLE BI_USER;
GRANT USAGE ON FUTURE SCHEMAS IN DATABASE <JL DATABASE> TO ROLE BI_USER;
GRANT SELECT ON ALL TABLES IN DATABASE <JL DATABASE> TO ROLE BI_USER;
GRANT SELECT ON FUTURE TABLES IN DATABASE <JL DATABASE> TO ROLE BI_USER;
GRANT SELECT ON ALL VIEWS IN DATABASE <JL DATABASE> TO ROLE BI_USER;
GRANT SELECT ON FUTURE VIEWS IN DATABASE <JL DATABASE> TO ROLE BI_USER;
Accessing Data
Once permissions are granted:
Connect your BI tool to Snowflake using the BI_USER service account
Query the shared database directly
Data will remain live and up to date without additional ingestion steps