Overview
Snowflake is a data platform that allows organizations to store, analyze, and process large volumes of structured and semi-structured data in a highly scalable and efficient manner. With its unique architecture, Snowflake allows organizations to consolidate their data, perform quick analytics, and gain valuable data-driven insights accessible to all users.How Does MoEngage Work with Snowflake?
The MoEngage and Snowflake integration exports Campaign Interaction Events data directly to your Snowflake tables.Integration
Prerequisites
- Ensure you have a Snowflake account with relevant permissions to create/edit Snowflake instances, roles, and policies. It is optional to create a new user; you must have access to create a new user in your Snowflake database.
- If your system requires IP whitelisting, you must whitelist MoEngage IPs. For more information, refer here.
- Ensure you have a Snowflake Connection on the App marketplace.
- The Add Integration option for Snowflake in the App Marketplace appears only after the Streams add-on is enabled for your workspace (see note above).
Set Up Your Export
- For the full list of events and attributes, refer to the Data Export Glossary.
- The event_time of the exported events is always in UTC.
Step 1: Grant the Required Permissions
MoEngage will requireWRITE access to your database so that we can write data into your Snowflake database. You can either grant these permissions to an existing database user or choose to create a new dedicated database user for MoEngage:
<YOUR_WAREHOUSE_NAME>- The name of the warehouse you want MoEngage to use while executing queries.<YOUR_DATABASE_NAME>- The name of the database you want to import data from.<YOUR_PASSWORD>- Give a strong password to the newly created database user.
Step 2: Create a New Export in the App Marketplace
- For the full list of events and attributes exported, refer to the Data Exports Glossary.
- Please note that the
event_timeof the exported events will always be in UTC.

- Click Integrate > Add Integration.
- Select your Snowflake connection.
- Select which schema MoEngage will use to create new tables and export your events into.
- Select the events and additional user properties you want to export to Snowflake.
- Click Save Export.
Export Process and Frequency
After you save the export, MoEngage creates a destination table in your schema. New event data is then appended to this same table at hourly intervals:- Initial action: MoEngage creates the table when the first export is triggered.
- Recurring action: MoEngage adds (appends) data to the same table every hour.
Sample Table Structure
MoEngage creates a single table in your schema using the following format:moe_events_<table_creation_timestamp>
user_attributes or event_attributes column, respectively. All events are consolidated in a single table containing necessary information, such as event names and event times, for easy analysis:
Export Failure Policy
MoEngage pauses an export that keeps failing. While it is paused, MoEngage collects the events the export would have delivered, and you replay them after you fix the problem.When MoEngage Pauses an Export
Exports to Snowflake run hourly. MoEngage will retry an export multiple times before marking it as failed. The export will be paused after 3 consecutive scheduled export failures. When MoEngage pauses an export, it alerts you and shows the export as Paused on the App Marketplace.What Happens While an Export Is Paused

Resume an Export
Find the Failure Reason
On the App Marketplace, click the Integrate tab, and then hover over the Paused label on the export. MoEngage names the reason for the failure, such as a missing write permission on the destination table, and tells you how to fix it.
Enable the Export
Fix the cause at your end, and then turn on Export status for the export. Do this as soon as you can, because the 7-day window keeps moving while the export stays paused. When you enable the export, MoEngage stops collecting and sets aside what it has: the last 7 days of paused data, or all of it if the pause was shorter. This is the data you can replay. It stays fixed from then on, and does not reduce further even if you wait to replay it.Replay Paused Data
Request a Replay
MoEngage saves the data it collected while the export was paused. An export with data waiting shows a Replay available label on the Integrate tab. To replay, perform the following steps:- Hover over the Replay available label, or open the kebab menu on the export.
-
Click Replay paused data.

-
In the Replay paused data dialog box, click Confirm.

Replay Results
When the replay finishes, MoEngage emails the user who requested it with one of the following results:Avoid Duplicate Data
Every replay sends the whole collection again, because MoEngage does not deduplicate. If you replay more than once, deduplicate at your end on theevent_uuid field, which is unique for each event. For the fields in the export, refer to the Data Export Glossary.
Export Paused Alerts
MoEngage alerts you when it pauses an export, so you can fix the issue and replay the data collected while the export was paused. MoEngage subscribes workspace admins to the Data Exports system alert by default, and adds the user who creates or updates an export. To subscribe or unsubscribe anyone else, go to the Alert Management page. Subscribing or unsubscribing changes notifications only for that person, and does not affect anyone else’s subscription.Frequently Asked Questions
What does the Replay available label mean?
What does the Replay available label mean?
My export was paused for three weeks. Why can I replay only part of it?
My export was paused for three weeks. Why can I replay only part of it?
Why did my replay come back as Partially Successful?
Why did my replay come back as Partially Successful?
Can I run two replays at the same time?
Can I run two replays at the same time?
I replayed twice and I see duplicate rows. Why?
I replayed twice and I see duplicate rows. Why?
event_uuid field, which is unique for each event.How soon will I start getting the data?
How soon will I start getting the data?
Can I export additional events at a later time?
Can I export additional events at a later time?
Can I export historical data using Automated Data Exports?
Can I export historical data using Automated Data Exports?
Is there any pricing involved for Automated Data Exports?
Is there any pricing involved for Automated Data Exports?
Does Data Exports guarantee the latest user properties?
Does Data Exports guarantee the latest user properties?