Documentation Index
Fetch the complete documentation index at: https://moengage-getz-tagging-workspace-status.mintlify.app/llms.txt
Use this file to discover all available pages before exploring further.
Introduction
With MoEngage Event Exports, you can forward events to various third-party tools. We offer the following capabilities:- MoEngage Streams - Streams allow you to forward events like user actions, campaign interaction events, and so on available in MoEngage to a pre-defined API endpoint in near real-time.
- Data Warehouses - MoEngage supports multiple data warehouses as destinations to forward events directly to your tables. We support:
- Amazon Redshift
- Google BigQuery (via GCS)
- Snowflake
- Cloud Storages - MoEngage also supports multiple cloud storages as destinations to forward events as JSON files in your buckets.
Export Schema
The export schema depends on the type of destination. Each category (Data Warehouse, Cloud Storages, APIs) has a consistent schema to account for various MoEngage Events and User-Defined Events.Streams (API)
MoEngage will make a Bulk API call to your provided API Endpoint. Here is the generic structure: JSONSchema
| Key Name | Description |
| app_name | The name of your app on MoEngage. |
| source | The source from which this event was captured. |
| moe_request_id | Unique MoEngage API Request ID. |
| events | Events object array. |
Event Object Schema
| Key Name | Description |
| event_name | The display name of the event. |
| event_code | The event code or the internal name of the event. |
| event_uuid | Unique code of the event that was captured. |
| event_time | The epoch timestamp when the event was captured. |
| event_type | The type of event:
|
| source | The source from which this event was captured. |
| push_id | The recipient’s device push token. This attribute will only be sent for PUSH-related Campaign Events. |
| email_id | The recipient’s email ID. This attribute will only be sent for EMAIL-related Campaign Events. |
| mobile_number | The recipient’s mobile number. This attribute will only be sent for SMS-related Campaign Events. |
| uid | MoEngage customer_id to uniquely identify a user in MoEngage. |
| event_attributes | Event attributes object in this format: attribute_name: value |
| user_attributes | User attributes object in this format: attribute_name: value |
| device_attributes | Device attributes object in this format: attribute_name: value |
Event Attributes Object
The event attributes might vary according to the event being exported. Refer to the event definitions below to see which attributes are exported.User Attributes Object
The user attributes might vary according to your configuration. Refer to the user properties definitions below to see which attributes are exported.- moengage_user_id - This attribute is always exported. This is the internal MoEngage ID of your user.
Device Attributes Object
The device attributes might vary according to your configuration. Refer to the device properties definitions below to see which attributes are exported.- moengage_device_id - This attribute is always exported. This is the internal Device ID of your user.
Data Warehouses Destinations
MoEngage will create a single table in your Data warehouse and export all your selected events to that table.Amazon Redshift
We will create a table calledmoengage_events.
Snowflake
We will create a table calledmoe_events_<table_creation_timestamp>.
Table Structure
The overall structure of the table will remain fixed for all types of events. Any new user property or event attribute that is exported will be part of theuser_attributes or event_attributes column respectively. All the events will be dumped in a single table containing all necessary information such as event names, event times, etc for easy analysis.
We follow the below generic schema:
- Any column beginning with event_attributes_ contains an event attribute. This will be followed by the event attribute name like event_attributes_campaign_name.
- Any column beginning with user_attributes_ contains a user attribute. This will be followed by the user attribute name like user_attributes_moengage_user_id.
- Any column beginning with device_attributes contains a device attribute. This will be followed by the device attribute name like device_attributes_moengage_device_id.
- We also have three JSON (or equivalent) fields called event_attributes, user_attributes, and device_attributes. Each of these fields contains raw JSON fields in the form of a dictionary.
| Key Name | Type | Description | NULL |
| app_name | character varying(256) | The name of your app on MoEngage. | NOT NULL |
| device_attributes | Either of:
| Device attributes dictionary in JSON object format: JSON { "attribute": "value", "attribute": "value" } | NULL |
| device_attributes_ moengage_device_id | character varying(256) | This is the internal Device ID of your user. | NULL |
| email_address | character varying(256) | The recipient’s email ID. This attribute will only be sent for EMAIL-related Campaign Events. | NULL |
| event_attributes | Either of:
| Event attributes dictionary in JSON object format: JSON { "attribute": "value", "attribute": "value" } | NULL |
| event_attributes_ app_version | character varying(256) | Refer to common event attributes. | NULL |
| event_attributes_ campaign_channel | character varying(256) | Refer to common event attributes of campaign-related events. | NULL |
| event_attributes_ campaign_id | character varying(256) | Refer to common event attributes of campaign-related events. | NULL |
| event_attributes_ campaign_name | character varying(256) | Refer to common event attributes of campaign-related events. | NULL |
| event_attributes_ campaign_type | character varying(256) | Refer to common event attributes of campaign-related events. | NULL |
| event_attributes_ first_session | boolean | Refer to common event attributes. | NULL |
| event_attributes_ locale_id | character varying(256) | Tracked when the campaign is sent using Localization. Represents the id of the message locale. | NULL |
| event_attributes_ locale_name | character varying(256) | Tracked when the campaign is sent using Localization. Represents the name of the message locale. | NULL |
| event_attributes_ logged_in_status | character varying(256) | Refer to common event attributes. | NULL |
| event_attributes_ parent_campaign_id | character varying(256) | Refer to common event attributes of campaign-related events. | NULL |
| event_attributes_ parent_flow_id | character varying(256) | The flow ID. Refer to common event attributes of campaign-related events. | NULL |
| event_attributes_ parent_flow_name | character varying(256) | The name of the flow. Refer to common event attributes of campaign-related events. | NULL |
| event_attributes_ platform | character varying(256) | Refer to common event attributes. | NULL |
| event_attributes_ readable_campaign_id | character varying(256) | Refer to common event attributes of campaign-related events. | NULL |
| event_attributes_ sdk_version | character varying(256) | Refer to common event attributes. | NULL |
| event_attributes_ timestamp | Either of: - bigint - timestamp_ntz | Refer to common event attributes. | NULL |
| event_attributes_ url | character varying(256) | Tracked when display filter is selected in the in-app campaign. | NULL |
| event_attributes_ variation_id | character varying(256) | Represents the id of message variation. Refer to common event attributes of campaign-related events. | NULL |
| event_code | character varying(256) | The event code or the internal name of the event. | NOT NULL |
| event_name | character varying(256) | The display name of the event. | NOT NULL |
| event_source | character varying(256) | The source from which this event was captured. | NOT NULL |
| event_time | Either of:
| The epoch timestamp when the event was captured. | NOT NULL |
| event_type | character varying(256) | The type of event: - ACQUISITION - CAMPAIGN_ACTIVITY - LIFECYCLE - REACHABILITY - UNINSTALL - USER_ACTION_EVENT | NOT NULL |
| event_uuid | character varying(256) | Unique code of the event that was captured. | NOT NULL |
| mobile_number | character varying(256) | The recipient’s mobile number. This attribute will only be sent for SMS-related Campaign Events. | NULL |
| push_id | character varying(256) | The recipient’s device push token. This attribute will only be sent for push-related Campaign Events. | NULL |
| uid | character varying(256) | MoEngage customer_id to uniquely identify a user in MoEngage. | NULL |
| user_attributes | Either of:
| User attributes dictionary in JSON object format: JSON { "attribute": "value", "attribute": "value" } | NULL |
| user_attributes_ moengage_user_id | character varying(256) | This is the internal MoEngage ID of your user. | NULL |
Google BigQuery (Generic)
MoEngage exports events to your BigQuery tables via GCS Buckets using the BigQuery Transfer File service. There are two ways you can create a table for your events in BigQuery:- Create a table specific to your exported events by using the schema of your exported files.
- Create a table that has a generic schema.
Cloud Storages Destinations
MoEngage will export compressed files to your cloud storage.Generic Export Schema
- File format: .json.gz
- Each uncompressed file will have newline-delimited events in JSON format (each line is a single event).
- Each file can have multiple types of events in them. We don’t create a single file for each type of event.
- The event JSON format is described below:
Schema
| Key Name | Description |
| app_name | The name of your app on MoEngage. |
| export_hour | The hour at which the export was created. |
| export_doc_id | The document ID of the export. |
| db_name | The name of your app on MoEngage. |
| export_day | The day on which the export was created. |
| event | Event object. |
Event Object Schema
| Key Name | Description |
| event_name | The display name of the event. |
| event_code | The event code or the internal name of the event. |
| event_uuid | Unique code of the event that was captured. |
| event_time | The epoch timestamp when the event was captured. |
| event_type | The type of event:
|
| event_source | The source from which this event was captured. |
| push_id | The recipient’s device push token. This attribute will only be sent for PUSH-related Campaign Events. |
| email_id | The recipient’s email ID. This attribute will only be sent for EMAIL-related Campaign Events. |
| mobile_number | The recipient’s mobile number. This attribute will only be sent for SMS-related Campaign Events. |
| uid | MoEngage customer_id to uniquely identify a user in MoEngage. |
| event_attributes | Event attributes dictionary in this format: attribute_name: value |
| user_attributes | User attributes dictionary in this format: attribute_name: value |
| device_attributes | Device attributes dictionary in this format: attribute_name: value |
Event Attributes Object
The event attributes might vary according to the event being exported. Refer to the event definitions below to see which attributes are exported.User Attributes Object
The user attributes might vary according to your configuration. Refer to the user properties definitions below to see which attributes are exported.- moengage_user_id - This attribute is always exported. This is the internal MoEngage ID of your user.
Device Attributes Object
The device attributes might vary according to your configuration. Refer to the device properties definitions below to see which attributes are exported.- moengage_device_id - This attribute is always exported. This is the internal Device ID of your user.
Amazon S3
MoEngage will create a pre-defined file path inside the folder you specify while setting up the S3 Exports. We will dump files in the following locations: s3://<your_bucket_name>/[<folder_path>_]<connection_name>/export_day=<DD-MM-YYYY>/event_exports_<export_timestamp>.json.gz
Google Cloud Storage
MoEngage will create a pre-defined file path in your GCS Bucket. We will dump files in the following locations: gs://<your_bucket_name>/event-exports/<your_app_name>/<connection_id>/export_day=YYYY-MM-DD/export_hour=HH/<file-name>.json.gz
SFTP
MoEngage will create a pre-defined file path on your SFTP Server. We will dump files in the following locations: sftp://<your_host_name>/[<folder_path>/]<connection_name>/export_day=<DD-MM-YYYY>/event_exports_<export_timestamp>.json.gz
Events Exported
All MoEngage-tracked attributes start with moe_.User Attributes
- Lifecycle
- Acquisition and Uninstall
- Reachability and Localization
- Device Data and Email Suppression Type
- Tracked Standard Attributes
| Key Name | Attribute Key | Description |
|---|---|---|
| First Seen | cr_tcr_t | First seen time of the user. The time when the user is created in MoEngage systems. |
| LTV | t_rev | Life Time Value of the user. This is the total sum of revenue attributes present in the App Conversion Goal event performed by a user. LTV is updated every time the app conversion goal event is executed by the user. |
| Last Seen | u_l_a | The time of the most recent App/Site Open event for the user. |
| No. of Conversions | t_trans | No. of conversion events done by the user, Conversion Goal can be modified on the settings page. |
| No. of Sessions | u_s_c | No.of sessions done by the user. This is the number of times a user has performed the App/Site Open event. |
Device Attributes
These are properties derived from your users’ device data. Note that these attributes will still be shown under user attributes in your exports.- iOS
- Android
- Web
| Key Name | Attribute Key | Description | Optional |
|---|---|---|---|
| Advertising Identifier (iOS & Windows) | ADVERTISING_IDENTIFIER | An alphanumeric string unique to each device used only for serving advertisements) - IDFA iOS version 14.5 and above Advertisement identifier will be tracked only if the developer asked permission for it. Below iOS 14.5 it is tracked automatically. | Yes |
| IDFV | device_IDFV | An alphanumeric string that uniquely identifies a device to the app’s vendor - IDFV (identifier for vendor) | Yes |
| OS Version | os_ver | Current iOS version of the device | No |
| Device Timezone | moe_dtzo | Device Timezone | No |
| model | MODEL | No |
MoEngage (Standard) Events
MoEngage, by default, tracks a few standard events.Common Event Attributes
These attributes are automatically tracked when MoEngage captures a standard event.- SDK Events
- Campaign Events
| Key Name | Attribute Key | Description |
|---|---|---|
| App Version | appVersion | App version on which this event was tracked. |
| SDK Version | sdkVersion | MoEngage SDK version on which this event was tracked. |
| Platform | os | OS on which this event was tracked. |
| utm_source | moe_source | Source of a campaign e.g. search engine, newsletter, MoEngage. |
| utm_medium | moe_source_medium | Medium of a campaign e.g. CPC, email, push. |
| utm_campaign | moe_source_campaign_name | UTM Campaign name e.g. Summer sale |
| utm_id | moe_source_campaign_id | UTM campaign ID e.g. 12DSW55 |
| utm_content | moe_source_content | Content information of the campaign e.g. logoclick |
| utm_term | moe_source_term | Term used for paid search e.g. red+shirt |
| First Session | moe_first_visit |
|
| Logged In Status | moe_logged_in_status |
|
Standard Events
These events are automatically tracked with MoEngage.- Lifecycle Events
- Acquisition and Uninstall Events
- Reachability Events
- Campaign Activity Events
| Event Name | Event Code | Description | Platform |
|---|---|---|---|
| App/Site Opened | MOE_APP_OPENED | Tracked when a user session begins on the app or website. Also, this is tracked only if the time difference between the user’s Last Active Time and App/Site Open Time is more than 30 min. | Android, iOS, Web |
| Viewed Web Page | MOE_PAGE_VIEWED | Tracked when a user visits a web page. Select page URL as an event attribute to find the number of users visiting a particular page or use it to set up a Drop-off capture” Event-Triggered Web Push. | Web |
| App Exit | MOE_APP_EXIT | Tracked whenever the App goes to background. | Android, iOS |
| User Logout | MOE_LOGOUT | Tracked when a user Logs out of the app/site or user reset. | Android, iOS, Web |
| Push ID Register Android | TOKEN_EVENT | Tracked when the MoEngage system registers the push ID for Android devices. Attribute registered_by has the status. | Android |
| User Merged | MOE_USER_MERGED | Tracked for a known user whenever a MoEngage user object is merged with it. | User Merging |
| App Update | UPDATE | Tracked when a user updates the App. | Android, iOS |
User-Defined (Custom) Events
Common Event Attributes
These attributes are automatically tracked when you track a custom/user-defined event.| Key Name | Attribute Key | Description |
| App Version | appVersion | App version on which this event was tracked. |
| SDK Version | sdkVersion | MoEngage SDK version on which this event was tracked. |
| MOE Event Category | moe_event_category | Represents the Event category - Example: Tracked User Events |
| MOE Event Source | moe_event_source | Represents the Event Source - Example: s2s, INTERNAL |