Zuora Secure Data Share for Snowflake enables your organization to access your Zuora data from directly within your organization's own Snowflake account. Secure Data Share eliminates the engineering effort traditionally required to manage data extracts, integrations, and data schema changes. Secure Data Share also provides your team with instant access to Zuora's comprehensive subscription operational and analytical data to make timely data-driven decisions based on data insights.
Accessing your Zuora data in Snowflake enables you to:
Run reports and perform analytics on your Zuora data using your own business intelligence (BI) tool, using Snowflake as the data source. BI tools that offer native connections to Snowflake include:
- Microsoft Power BI
For a more complete list, see Business Intelligence (BI) in the Snowflake documentation.
Combine your Zuora data with other data in Snowflake to perform holistic analysis. For example, in data science applications such as predicting subscriber churn.
Use Snowflake's industry-leading data compute infrastructure to run high-speed queries against virtually unlimited volumes of Zuora data. You can run exploratory queries as needed to support your business.
How Secure Data Share works
Your Zuora data is stored in a Snowflake account that is managed by Zuora. This data is then shared with your organization's Snowflake account so that you can query the data as if it were stored in your organization's Snowflake account. You have read-only access to the shared database.
In Snowflake terminology, Zuora manages a "provider account" and your organization's account is a "consumer account."
For more information about Secure Data Share, see Introduction to Secure Data Share in the Snowflake documentation.
Snowflake cost considerations
The following table describes how Snowflake storage and compute costs are handled for the shared database:
|Snowflake storage costs||Snowflake compute costs|
|Zuora covers all storage costs associated with the shared database. Your organization will incur no additional storage costs for accepting Zuora's shared database.||Zuora does not cover your compute costs associated with querying the shared database. Your organization will pay Snowflake directly for compute costs incurred from querying the shared database.|
Set up Secure Data Share
To check your eligibility to use Secure Data Share, see Availability.
To set up Secure Data Share, contact your Zuora account representative and provide the following information:
- The tenant ID of the Zuora tenant to share data from. For information about locating the tenant ID, see Managing your tenant profile.
- The entity to share data from. Only applicable if the Multi-entity feature is enabled in your Zuora tenant.
- The account identifier of your organization's Snowflake account. You can obtain the account identifier from the URL of your organization's Snowflake account:
Zuora creates a database from your Zuora data and shares the database with your organization's Snowflake account. The name of the database is
<id> is the tenant ID of the Zuora tenant that the data is shared from.
You can request to share data from multiple tenants/entities. In this case, Zuora shares a separate database for each tenant/entity.
When you set up Secure Data Share, Zuora only shares data from the tenant that you specify. In addition, the shared database is only accessible via the Snowflake account that you specify.
The shared database is read-only.
The visibility of the shared database depends on how your Snowflake administrator has set up access control. For more information, see Access Control in Snowflake in the Snowflake documentation.
Tables and columns available in Snowflake
The following tables are available in the shared database. To determine the columns available in each table, you can use the
SHOW COLUMNS command from Snowflake's SQL syntax. For more information, see SHOW COLUMNS in the Snowflake documentation. Columns containing PCI data contain null values and are excluded from the share.
To save your Total Active Rows (TAR) credit, Zuora syncs a basic group of Billing objects, all custom objects, and all supported Revenue objects to Snowflake by default. If you want to sync other supported Billing objects to Snowflake, submit a request at Zuora Global Support.
The following table shows details of each supported table type:
|Table type||Sync by default||List of available objects|
|Billing - basic standard objects||Yes||See Basic standard objects.|
|Billing - other standard objects||No||See Other standard objects.|
|Billing - custom objects||Yes||All custom objects in your tenant are supported. For more information, see Custom Objects.|
|Revenue objects||Yes||See Available Revenue objects.|
|Tables for monitoring||(N/A)||See Tables for monitoring.|
Available Billing objects
Zuora supports syncing standard and custom objects to Snowflake.
Basic standard objects
Zuora syncs the following basic standard objects to Snowflake by default:
Other standard objects
Zuora does not sync the following standard objects to Snowflake by default. If you want Zuora to sync these objects, submit a request at Zuora Global Support. Additional fees might apply.
Zuora syncs all custom objects in your tenant to Snowflake by default.
The custom object names in Snowflake are consistent with the custom object names in Data Query, which are prefixed with
default__. For example,
Available Revenue objects
Zuora syncs the following Revenue objects to Snowflake by default:
How frequently is the shared database updated with the latest data?
The frequency at which data is synchronized into your Snowflake warehouse is configurable. Typically, it is advisable for you to choose to synchronize data every 15 or 60 minutes, although options are available for lower latency. Additional fees are applicable depending on the latency setting. Contact Zuora to discuss options.
Is it possible for Zuora to access data in my organization's Snowflake account?
Are there limits to how much data Zuora will share to my Snowflake account?
Yes, Zuora will share data up to your committed TAR level.
What does TAR stand for?
TAR stands for Total Active Rows and is the total count of rows made available from Zuora to your Snowflake account in your secure data share. Zuora will exclude data from INFORMATION_SCHEMA and TAR_USAGE_HISTORY in the total active row count. Zuora will include soft deleted records as part of the total active row count.
Customers are able to view and monitor total active rows by querying the TAR_USAGE_HISTORY table provided by Zuora, which is a daily snapshot and accounting of TAR levels.
Your purchase of this feature commits you to a specific total committed TAR level for each tenant identified on the applicable Order Form.
What happens if the data in my Zuora tenant grows so much that my committed TARs level is exceeded?
If your committed TAR level is exceeded, Zuora will pause new data updates into your share from Zuora until your TAR level is increased. Contact your Zuora account representative to discuss options for increasing your allowance if you are approaching your TAR limit.
Are there any limits associated with querying the shared database in Snowflake?
No. You can query the shared database as if it were stored in your organization's Snowflake account. However, your organization is responsible for the compute costs of querying the shared database.
Are there any costs associated with querying the shared database in Snowflake?
Yes. All queries that you run inside your Snowflake account against the shared database will consume your organization's Snowflake compute credits. Your organization will directly pay Snowflake for those compute credits. However, Zuora covers all data storage costs associated with the shared database. Your organization will not incur any additional storage fees from Snowflake as a result of the share. In other words, your organization pays for all the Snowflake compute, but nothing extra for Snowflake storage.
In addition, access to the shared database will involve additional Zuora license fees.
Does Snowflake support ZOQL?
No. You can use Snowflake's SQL syntax to query data. For more information, see SQL Command Reference in the Snowflake documentation.
Are the business object tables in Snowflake the same as those in Zuora?
Yes. However, you must refer to the supported objects in Snowflake because not all available objects in Data Query are supported in Snowflake.
Are slowly changing dimensions supported?
Not at this time. Zuora provides an exact replica of what you can find in Data Query.
How long do I have to wait before I can use Zuora Secure Data Share for Snowflake?
Up to 21 days from the time you provide Zuora with your target Snowflake account details.
Zuora Secure Data Share for Snowflake allows Zuora, as a Data Provider to Snowflake Data Cloud, to securely share data with data consumers across different regions and cloud platforms. Cross-region data share is supported for Snowflake consumer accounts hosted on provisioned AWS or Azure regions.
The following table lists the provisioned clouds and regions in alphabetical order:
|AWS||AP Northeast 1 (Tokyo)|
|AP Southeast 2 (Sydney)|
|CA Central 1 (Central)|
|EU Central 1 (Frankfurt)|
|EU West 1 (Ireland)|
|US East 1 (N. Virginia)|
|US East 2 (Ohio)|
|US West 1 (N. California)|
|US West 2 (Oregon)|
|Azure||Australia East (New South Wales)|
|East US 2 (Virginia)|
|West Europe (Netherlands)|
|West US 2 (Washington)|
- Zuora Secure Data Share for Snowflake is available only to Zuora customers for their Production tenants.
- Google Cloud Platform is not yet supported for cross-cloud and cross-region availability.
- EU-US data transfer is not advisable because of legal restrictions. For these types of scenarios, please contact your Zuora account representative to discuss.
Zuora Billing specific limitation
All monetary values in the shared database are in transaction currency. Currently, conversions to “HomeCurrency” are not synced.
Zuora Revenue specific limitations
- All objects available in the Zuora secure data share do not support custom display labels; all columns will have the standard label.