Integrate Demandbase with Snowflake Zero-Copy

  • Updated

The Demandbase Snowflake Zero-Copy integration allows you to securely access Demandbase datasets directly in your Snowflake environment using Snowflake Secure Data Sharing.

With this integration, you can query Demandbase data using standard SQL without copying the data into your Snowflake storage. Demandbase uses secure views and tenant-level access controls to ensure that you can access only your organization's data.

Benefits of Integrating Demandbase with Snowflake Zero-Copy

  • Centralized audience segmentation and activation: Combine Demandbase intent and account intelligence with first-party data in Snowflake to create unified audience segments for activation across channels.
  • Unified go-to-market (GTM) analytics: Combine Demandbase data with CRM, Marketing Automation System (MAS), product usage, and revenue data to build comprehensive dashboards and reports.
  • AI and predictive modeling: Enrich AI and machine learning models with Demandbase account intelligence and intent data without maintaining custom ingestion pipelines.
  • Secure data access: Query Demandbase datasets through read-only secure views without copying data into your Snowflake storage.

How Snowflake Zero-Copy Integration Works

Demandbase uses Snowflake Secure Data Sharing to provide access to customer-specific datasets.

Demandbase maintains secure views on top of its internal production tables in Snowflake. Each view uses tenant-level controls to ensure that you can access only data belonging to your organization.

After Demandbase provisions access, you can create a database from the shared data in your Snowflake account and query it using standard SQL.


Supported Demandbase Datasets

Demandbase provides access to the datasets included in Collection 1. See Entity-Dataset Definitions.


Data Availability and Refresh Cadence in Snowflake

Demandbase makes shared datasets available after provisioning and refreshes them daily.

Important: Data is typically available immediately after you create the shared database. If your initial query returns no records, allow additional processing time. If data is still unavailable after 24 hours, contact your Demandbase Account Team.

Item Description
Initial data availability Data is typically available immediately after Demandbase provisions access and you create the shared database in Snowflake.
Data refresh frequency Demandbase refreshes shared datasets every 24 hours.
Dataset processing Most datasets are updated within 24 hours of processing in Demandbase. Timing may vary depending on the dataset.

Prerequisites to Integrate Demandbase with Snowflake Zero-Copy

  • You must have a Snowflake account in the us-east-1 region (AWS US East – N. Virginia).
    Important: Demandbase supports Snowflake Zero-Copy integration only in the us-east-1 region. If your organization has Snowflake accounts in multiple regions, you must use the account in us-east-1.
  • You must have access to run SQL commands in Snowflake. The ACCOUNTADMIN or ORGADMIN role is recommended for retrieving account information.
  • You must provide the following information to Demandbase:
    • Snowflake Data Sharing Account Identifier: Your Snowflake organization and account name in ORG_NAME.ACCOUNT_NAME format.
    • Account Locator: Your Snowflake account locator in ACCOUNT_LOCATOR format.
    • Region: us-east-1.
  • You must have access to Demandbase One for Marketing.

Retrieve Your Snowflake Account Information

Run the following SQL commands in Snowflake to retrieve the information required for integration setup.

Retrieve Your Snowflake Data Sharing Account Identifier

SELECT CURRENT_ORGANIZATION_NAME() || '.' || CURRENT_ACCOUNT_NAME();

Example output:

MYORG.PRODUCTION

Retrieve Your Snowflake Account Locator

SELECT CURRENT_ACCOUNT();

Example output:

IBC00000

Retrieve Your Snowflake Region

SELECT CURRENT_REGION();

Expected output:

AWS_US_EAST_1

Important: Confirm that the returned region is AWS_US_EAST_1. Demandbase does not support Snowflake Zero-Copy integration in other regions.


Submit Your Snowflake Account Information

Provide the following information to your Demandbase Account Team to enable the Snowflake Zero-Copy integration:

Data Sharing Account Identifier: MYORG.PRODUCTION
Account Locator: IBC00000
Region: us-east-1

Important: The Data Sharing Account Identifier must include both the organization name and account name, separated by a dot (ORG_NAME.ACCOUNT_NAME).


How Demandbase Provisions Snowflake Access

After receiving your Snowflake account information, Demandbase:

  1. Adds your Snowflake account to the DEMANDBASE_DATA share.
  2. Configures tenant-level access controls.
  3. Validates the provisioning.

Provisioning typically takes 1–2 business days after Demandbase receives your account information.

Your Demandbase Account Team notifies you when access is granted.


Import the Demandbase Snowflake Database

After Demandbase confirms that access has been granted, create the shared database in your Snowflake account and grant the appropriate permissions.

Example:

  • MRC00000: Demandbase Snowflake account locator.
  • DEMANDBASE_DATA: Demandbase share name.
  • MY_DEMANDBASE_DATA: Name of the database created in your Snowflake account.

Create the Shared Snowflake Database

CREATE DATABASE MY_DEMANDBASE_DATA
FROM SHARE MRC00000.DEMANDBASE_DATA;

Grant Access to the Shared Database

Grant imported privileges to the Snowflake role that requires access to the shared database.

Grant access to specific role:

GRANT IMPORTED PRIVILEGES
ON DATABASE MY_DEMANDBASE_DATA
TO ROLE <YOUR_ROLE>;

Replace <YOUR_ROLE> with the Snowflake role that requires access.

Important: Grant access only to roles that require the shared Demandbase data. Granting privileges to the PUBLIC role makes the database accessible to all Snowflake users through that role.

Verify Access to the Shared Database

SELECT *
FROM MY_DEMANDBASE_DATA.PUBLIC.db1_accounts_v2_view
LIMIT 10;

If provisioning is complete and account data is available, the query returns records associated with your Demandbase tenant.

If the query returns no records, see Troubleshoot Snowflake Zero-Copy Integration.


Query Demandbase Data in Snowflake

After importing the shared database, you can use SQL to query Demandbase datasets.

The following examples demonstrate common queries.

Important: Replace MY_DEMANDBASE_DATA with the name of your imported database. Available datasets and fields depend on the data shared with your tenant.

View All Demandbase Accounts

SELECT
    account_id,
    account_name,
    account_domain,
    source
FROM MY_DEMANDBASE_DATA.PUBLIC.db1_accounts_v2_view
ORDER BY account_name;

Find High-Intent Demandbase Accounts

SELECT
    a.account_name,
    a.account_domain,
    i.keyword,
    i.keyword_set_name,
    i.intent_strength
FROM MY_DEMANDBASE_DATA.PUBLIC.db1_accounts_v2_view a
JOIN MY_DEMANDBASE_DATA.PUBLIC.db1_account_keyword_intent_view i
    ON a.account_id = i.account_id
WHERE i.intent_strength = 'HIGH'
ORDER BY a.account_name;

View Demandbase Qualification Scores

SELECT
    a.account_name,
    s.score_type,
    s.score_rating,
    s.score
FROM MY_DEMANDBASE_DATA.PUBLIC.db1_accounts_v2_view a
JOIN MY_DEMANDBASE_DATA.PUBLIC.db1_account_scores_view s
    ON a.account_id = s.account_id
WHERE s.score_type = 'qualification_score'
ORDER BY s.score DESC;

View Demandbase Ad Campaign Performance

SELECT
    c.campaign_name,
    r.start_date,
    r.impression_count,
    r.click_count,
    r.click_through_rate,
    r.accounts_reached_count,
    r.accounts_visited_count
FROM MY_DEMANDBASE_DATA.PUBLIC.db1_campaigns_v2_view c
JOIN MY_DEMANDBASE_DATA.PUBLIC.db1_campaign_performance_rollups_v2_view r
    ON c.campaign_id = r.campaign_id
ORDER BY c.campaign_name, r.start_date DESC;

View Demandbase Technographics

SELECT
    a.account_name,
    tc.tech_name,
    tc.tech_category,
    t.confidence_level,
    t.last_found
FROM MY_DEMANDBASE_DATA.PUBLIC.db1_accounts_v2_view a
JOIN MY_DEMANDBASE_DATA.PUBLIC.db1_technographics_view t
    ON a.account_id = t.account_id
JOIN MY_DEMANDBASE_DATA.PUBLIC.db1_techographics_catalog_view tc
    ON t.tech_id = tc.tech_id
ORDER BY a.account_name, tc.tech_category;

Troubleshoot Snowflake Zero-Copy Integration

Issue Possible Cause Resolution
Database does not exist when running CREATE DATABASE FROM SHARE Demandbase has not provisioned access to the share. Confirm that you submitted your Snowflake account information and received confirmation that access was granted.
Query returns no records immediately after importing the share. Tenant data may still be processing. Allow additional processing time. If data is unavailable after 24 hours, contact your Demandbase Account Team.
Query returns no records after 24 hours. Tenant data may not be loaded, or account information may be incorrect. Run SELECT CURRENT_ACCOUNT(); to verify your Account Locator. Contact your Demandbase Account Team to confirm provisioning and data availability.
Permission denied when querying the database Imported privileges have not been granted to your Snowflake role. Run the appropriate GRANT IMPORTED PRIVILEGES command for the role requiring access.
Some views contain data while others do not Certain datasets may not be enabled or populated for your tenant. Contact your Demandbase Account Team to verify dataset availability.
Snowflake account is in an unsupported region. Your Snowflake account is not hosted in us-east-1. Run SELECT CURRENT_REGION(); and confirm the result is AWS_US_EAST_1. If your organization has multiple Snowflake accounts, use the account in us-east-1.

Get Support for Snowflake Zero-Copy Integration

If you encounter issues provisioning or accessing the Snowflake share, contact your Demandbase Account Team.

Include the following information to help troubleshoot the issue:

  • Snowflake Data Sharing Account Identifier.
  • Snowflake Account Locator.
  • Snowflake region.
  • Database name used for the share.
  • SQL query or error message received.
  • Screenshots, if applicable.

Was this article helpful?

0 out of 0 found this helpful