Snowflake Export

Export data from CleverTap to Snowflake.

Overview

Integrating Snowflake with CleverTap allows you to automatically export user engagement and campaign interaction data from the CleverTap dashboard into your Snowflake data warehouse. This helps unify behavioral data with internal sources, such as CRM, transactions, and support logs, for richer insights and more intelligent decision-making. This document provides step-by-step instructions to help you configure and manage exports tailored to your business needs. To export data from CleverTap to Snowflake, perform the following steps:

  1. Configure Snowflake Connection: Set up and authenticate your Snowflake database within the CleverTap dashboard.
  2. Create Export: Use the configured connection to define and initiate a data export from CleverTap to Snowflake.
  3. Export Table Creation: CleverTap automatically creates a table in Snowflake for each export, following a standardized naming convention.

    📘

    Private Beta

    CleverTap's integration with Snowflake is currently in Private Beta. Contact your Customer Success Manager for access.

Configure Snowflake

To connect your Snowflake account with CleverTap, click Settings > Partners > Snowflake, and click Add Database. Provide the required configuration details in the following sections:

  • Database Details: Specify the Snowflake account name, warehouse, and Database to which CleverTap should export data.
  • User Details: Enter the credentials and roles for the Snowflake user authorized to access the target schema and tables.

📘

Note:

These permissions must be granted before configuring the connection in the CleverTap dashboard. Without the required access, exports may fail due to insufficient privileges.
For more details on role-based access control in Snowflake, refer to the Snowflake Access Control Overview and Snowflake Configuration on CleverTap.

Create Export

Once the Snowflake database is successfully connected to CleverTap, you can begin setting up data exports. Creating an export involves selecting the target Snowflake connection, defining the export scope (such as event types and filters), and specifying how frequently data should be sent.

To initiate exporting from Snowflake to CleverTap, perform the following steps:

  1. Go to Settings > Partners > Export centre and click Create Export.

    Snowflake Export

    Snowflake Export

  2. Select Snowflake from the Create Export window.

  3. Under Export Details, select the Snowflake connection name from the dropdown and add the following details:

    Export Details

    Export Details

    • DATA TYPE & IDENTIFIER PRIORITY: Select the events from the available options to export. For more information, refer to Export Details.
      • Fallback Priority order for identities: Select priority for user identities when exporting data. User Identifiers will be exported based on the selected priority. For more information, refer to the Configure Identity Priority for Data Exports section.
    • Frequency: Select from one of the following options:
      • One time: Triggers a single export for the selected export type. You can export data for a specific day, a date range, the current month, the previous month, and similar periods.

        📘

        Note:

        You can export data up to the last 60 days. If you require data beyond this range, contact your Customer Success Manager or CleverTap Support.

      • Recurring: Set up a recurring export that exports all the new events captured in the last window. You can export data as frequently as every 4 hours and once every 24 hours.
  4. Click Export. The Snowflake export has initiated message displays at the top of the Exports page.

CleverTap processes the export, and you can now refer to the newly created export for Snowflake. The status for each export is displayed as PENDING as soon as the export is created. The status changes to RUNNING after the processing starts. In the case of a one-time export, the status changes to DONE when the export is complete.

Export Table Creation

CleverTap generates a corresponding table in the configured Snowflake account when a data export is created. Each table follows a consistent naming convention that allows easy identification and traceability of exports.

Clevertap_<App_Project_ID>_<ExportID>

Sample Table Structure

Each export table follows a standardized schema, ensuring consistency in structure and interpretation across all exported datasets.

ColumnTypeDescription
App [Project Id]VARCHARUnique identifier for the CleverTap project (App ID).
Export IDVARCHARUnique ID representing the export batch.
TimestampTIMESTAMP_NTCThe event timestamp is recorded in the yyyy-MM-dd HH:mm:ss.SSS format. The timestamp reflects the time zone configured at the account level in CleverTap.
CleverTap IDVARCHARIt is a system-generated, unique ID for each profile
IdentityVARCHARPrimary identifier based on the configured priority (for example, Identity, Email).
All IdentitiesVARIANTJSON object containing all associated user identifiers.
Event NameVARCHARThe name of the exported event, which was triggered by the user
DeviceInfoVARIANTJSON object capturing device attributes (OS, model, browser, etc.).
Control GroupVARCHARIndicates if the user is part of a control group for experimentation.
Event PropertiesVARIANTJSON object with additional custom properties associated with the event.

Manage Export

This section outlines how to track the status of your data exports, stop or edit them when needed, and filter them efficiently based on your requirements.

  • Stop Export: Stop a running export by hovering over the export. Click Stop. You are navigated back to the Exports page, and the export status will be displayed as Stopped.
  • Edit Export: Edit a Live Data Streaming and Recurring export in the Running and Pending(awaiting next run) state. Hover over the required export and click Edit. Edit the export details and click Update export.

📘

Points to Remember

  • In case of running exports, any configurations changes will apply starting with the next scheduled run.
  • You cannot edit a One-time export, regardless of their status (RUNNING, PENDING, DONE, or STOPPED).
  • You cannot modify exports marked as DONE or STOPPED.
  • Export changes for Live Data Streaming take 10-15 minutes to take effect.
  • Filter by Export Details: To filter by export details, click Filter. You can filter exports by Partner, Type, Status, or Frequency. To clear the filter, click Reset.

Configure Identity Priority for Data Exports

The export file includes an identity column with the user's Identity, Phone Number, or Email values. These values are set based on the identities configured in the CleverTap dashboard under the Settings > User Identity page. This feature lets you prioritize the identifier you want to export in the identity column.

Let us understand how the prioritization works based on the identities selected in the User Identity page:

  • If you select only Identity, the export file includes the identity value. If the identity column is unavailable, it is empty.
  • If you select multiple identifiers, you must set the priorities on the Export page. For instance, you set Priority 1 to Identity and Priority 2 to Email ID. When exporting data, the export prioritizes the Identity value for the identity column. If it is absent, the Email ID is exported under the identity column of the export file. If both are missing, the column remains empty.

📘

Key Points to Remember

  • If you change the identity later, the export works according to the set priority. To prioritize the modified identities, edit your export.

To prioritize user identity for exports:

  1. Go to Partners > Exports.
  2. Hover over the required Snowflake export. Click the Edit button.
  3. Under Fallback priority order for identifiers, set up the priority 1, 2, and 3 for the required identities from the dropdown list.
  4. Click Update export.

Export Details

When creating an export, you can choose the type of event data you want to include. This allows you to tailor the export to your analytical or reporting needs. The following options are available:

  • All Events: Export data for all defined events, including System and Custom events.

  • Selected Events: Select the specific events to export from the dropdown.

  • Engagement Events: Export the following engagement events:

    CleverTap Event Name

    Description

    Notification Sent
    • The event is tracked when the notification is successfully sent from CleverTap to the communication channel you select for your campaign.
    • This event is always recorded, even if the user does not open or click the message.
    • This event is recorded for Email, Mobile Push, SMS, and Web Push campaigns.
    • This event is available on the Event dashboard but not on the User Profile.
    Notification Viewed
    • The event is tracked when a user views an email, in-app, or web notification sent from CleverTap.
    • The event is available for Email, Web Push, In-App, Web Popup, and App Inbox.
    Notification Clicked

    The event is tracked when a user clicks on a Mobile Push, In-App, Email, Web Popup, or Web Push message sent via the CleverTap dashboard or through the campaign API.

    Push Impressions
    • After the Push Impression is implemented in the SDK, the toggle must be turned on from the CleverTap dashboard.
    • This event is recorded whenever a push notification sent via CleverTap is delivered to the user’s device.
    • The funnels on the Push campaign statistics page reflect the count for this event.
    Notification Replied

    This event is tracked when the brand receives a reply from the user for WhatsApp.

    Push Unregistered
    • This debug event is tracked when an existing mobile push token is removed for a profile.
    • The event is tracked for a profile when:
      • A user logs out of the device, and another user logs in. Applicable only if the onUserLogin() method is implemented.
      • When a push token is removed using the pushFcmRegisterationId("token",false) method. Applicable only for Android.
    Control Group

    The event is tracked when a campaign is activated with a Control group.

    Channel Unsubscribed
    • The event is raised when an email is not acknowledged.

    • The following are the event properties:

      • Campaign ID: This is the ID of
        the campaign from which users are updating subscriptions.
        Campaign Type: Currently only email.
      • Group: Group name from which the user unsubscribed/resubscribed.
      • Identity: The user identity/email address.
      • Variant Type: Valid values are bounced, dropped, and spam. Email IDs that bounce, drop or marked as spam are opted out from future emails
      • Subscription Type: Account level and profile level. Profile level signifies that the user who qualified for the communication is opted out. Account level signifies that all users with the email address are opted out from future communications.
      • Reason: Reason which was given by the email provider for the type of the error. For example: "smtp;550 5.1.1 The email account that you tried to reach does not exist. Please try double-checking the recipient's email address for typos or unnecessary spaces."
    Reachable By

    The event is tracked for a profile when:

    • Push token is added/changed.
    • Email ID is added/changed.
    • Phone number is added/changed.
    Notification Delivered

    The event is tracked when the WhatsApp provider confirms that the notification has reached the end user (double-tick of WhatsApp).

    AB Experiment Rendered

    The event is tracked when you are using the Product A/B Tests feature and the variant reaches the device.

    AB Experiment Stopped

    The event is tracked when you are using the Product A/B Tests feature and the AB experiment is stopped.

    AB Experiment Rolled Out

    The event is tracked when you are using the Product A/B Tests feature and the winner variant is sent to all the devices.

    Geocluster Entered

    The event is tracked when you enable the geofence feature and your device enters a geofence.

    Geocluster Exited

    The event is tracked when you enable the geofence feature and your device exits a geofence.

    Partner SyncEvent marking synchronization with a third-party partner system.
    Reply Sent

    The event is tracked against the user profile of the end-user when an agent (CleverTap user) replies to a WhatsApp message from the end user.

    App Uninstalled
    • The event is tracked when the user uninstalls the application.

    • There are three cases when this event is tracked multiple times for a single user:

      • The first case is when a user installs your app, uninstalls it, and then reinstalls it.
      • The second case is when a user clears the app's memory.
      • The third case is when a user installs your app on multiple devices.
    Webhook Delivered

    The event is tracked when a webhook campaign is delivered successfully.

    State Transitioned
    • The event is tracked whenever a user transitions from one state to another or from an unmapped state to one of the states in the lifecycle optimization framework.
    UTM Visited
    • The event is tracked when a user clicks on a link from a marketing campaign that has a UTM parameter defined on it.
    • The event is also tracked when a CleverTap-integrated attribution platform, such as Branch or Apsalar, sends this information to CleverTap.
    AB Test EnterTriggered when a user enters an A/B test group.
    AB Test ExitTriggered when a user exits an A/B test group.