AWS Data Exports

Overview

All user events and campaign events that have been received or generated by MoEngage can be exported using AWS Data Exports. The exported data can be analyzed further to glean insights into user behavior, preferences, and what have you.

S3 Integration for Data Exports

Amazon S3 is a highly scalable storage system offered by Amazon Web Services. Integration with the S3 buckets will allow MoEngage to share an hourly export of required data in JSON format. To get started with AWS S3 integration follow the below steps:

Create S3 Bucket

Even if you have an S3 bucket already, we still recommend creating a new bucket specifically for MoEngage so you can limit permissions.

  1. To create a bucket for your app, open the Amazon S3 console and follow the instructions to Sign in or Create an Account with AWS.

  2. Once signed in, select “S3” from the “Storage & Content Delivery” category.

  3. Select “Create Bucket” on the next screen and you will be prompted to create your bucket and select a region.

Step 1: Create Policy

Navigate to the Policies tab in the navigation bar and select “Get Started” then “Create Policy”. This will allow you to add permissions for your user. Select “Create Your Own Policy”. This will give limited permissions so we only can access the bucket that you specify.

22EE2E21-3009-4956-A7CF-8C1917267887_1_201_a.jpeg

Input the code below when creating your own policy. Specify a “Policy Name” of your choice, and input the code below into the “Policy Document” section. Be sure to replace the INSERTSID with your Sid, INSERTPOLICYID with your policy id, and INSERTBUCKETNAME with your bucket name.
JSON
{
    "Version": "2012-10-17",
    "Id": <INSERTPOLCIYID>,
    "Statement": [
        {
            "Sid": <INSERTSID >,
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::612427630422:role/service-role/core_s3_export-role-e1qw8ulf"
            },
            "Action": "s3:PutObject",
            "Resource": "arn:aws:s3:::<INSERTBUCKETNAME>/*"
            }
        ]
}

 

Step 2: Link AWS to MoEngage

Share the following with MoEngage:

  1. Bucket Name - Your S3 Bucket Name

  2. Folder path - The path to your S3 bucket folder. Sample Folder Path: event-exports/app_name/export_day=<date>/export_hour=<hour of the day>/<filename.json.gz> Note: Exports should be enabled for this folder path to become available and accessible. This path is appended to the folder path shared with MoEngage. It is not mandatory to share the folder path with MoEngage. 

  3. The list of events, user, and device attributes to be exported or whitelisted for export.

When data needs to be exported, the details of which all data (such as events data) need to be specified to MoEngage. We will then configure the data exports (using API) based on the request. Once the setup is complete, reports will start flowing into the specified folder path every hour.

Data Export Format

File Format: JSON

Compression Type: GZip

Export Frequency: Every Hour

Sample Folder Path: event-exports/app_name/export_day=<date>/export_hour=<hour of the day>/<filename.json.gz>

Sample Export Data

JSON

    {
        "app_name": "App Name",
        "export_hour": "10",
        "db_name": "MoEngage App Name",
        "event": {
            "uid": "user id",
            "event_type": "USER_ACTION_EVENT",
            "event_code": "VIEW_RADAR",
            "event_name": "VIEW_RADAR",
            "user_attributes": {
                "moengage_user_id": "userid1",
                "user_attr1": "value1",
                "user_attr2": "value2"
            },
            "event_source": "MOENGAGE",
            "event_attributes": {
                "event_attr1": "value1",
                "event_attr2": "value2"
            },
            "event_uuid": "62045d15-8d5e-4cfd-ac49-5919bffb401d",
            "event_time": 1652820710,
            "device_attributes": {
                "moengage_device_id": "device id"
            }
        },
    		"export_day": "2022-05-20"
    }
    
JSON

    {
    "app_name": "App Name",
    "export_hour": "6",
    "db_name": "MoEngage App Name",
    "event": {
        "uid": "user id",
        "event_type": "CAMPAIGN_EVENT",
        "event_code": "MOE_EMAIL_SENT",
        "event_name": "Email Sent",
        "user_attributes": {
            "moengage_user_id": "userid1",
            "user_attr1": "value1",
            "user_attr2": "value2"
        },
        "event_source": "MOENGAGE",
        "email_id": "test@xyz.com",
        "event_attributes": {
            "campaign_name": "Campaign name",
            "moe_campaign_tags": [
                "Tag1",
                "Tag2"
            ],
            "campaign_type": "GENERAL",
            "moe_campaign_channel": "Email",
            "moe_delivery_type": "One Time",
            "campaign_id": "moengage campaign id",
            "campaign_channel": "EMAIL"
        },
        "event_uuid": "3b918064-08dc-47ae-b674-c23797475a8d",
        "event_time": 1653022310,
        "device_attributes": {
            "moengage_device_id": "device id if applicable"
        }
    },
    "export_day": "2022-05-20"
}

Frequently Asked Questions

How soon will I start getting the data in my S3 bucket?

It typically takes up to 7 days for the automated data exports to be set up for your account and for you to start seeing data there.

Can I export additional events at a later time?

Yes, if you need to export new events at a later time, you can always contact our team and get the new events added to your exports.

Can I export historical data using Automated Data Exports?

As of now, you cannot export data prior to configuring Automated data exports. Once configured, you will start seeing data for each data in your S3 bucket.

Is there any pricing involved for Automated Data Exports?

If your billing plan does not cover this already and you need to get this enabled at a later time, you would need to work with your Customer Success Manager to get this included in your billing plan. Based on the amount of data that MoEngage will place on your S3 bucket on a monthly basis, this could lead to additional charges.

Was this article helpful?
0 out of 0 found this helpful