Overview
MoEngage allows customers to import users and events through files stored inside S3 Buckets.Types of Imports
MoEngage can import the following from your S3 buckets:- Registered Users: These are users who are already registered on MoEngage.
- Anonymous Users: These are users who are not yet registered on MoEngage.
- Events (Standard and User-Defined): MoEngage can import standard events like Campaign Interaction Events as well as your own user-defined events.
- Auxiliary Data: These are users added temporarily.
Prepare the Files
Refer to the File Imports help doc to understand the supported file types, naming conventions, file structure, etc. Once you are ready with the files, you need to place them inside a folder on your S3 bucket.Folder Structure
Place all files into an Amazon S3 Folder. You can configure the folder path while setting up the import.
Required Access Permissions
Before MoEngage can import files, grant it read access to your S3 bucket and set up a connection in the App Marketplace. For the IAM permissions and the connection setup, see Set Up Authentication and Grant Permissions in the Amazon S3 integration guide.Set Up Imports from S3
- On the sidebar menu in MoEngage, hover over the Data menu item
. The Data menu appears. - Click Data imports.

- On the Data imports page, click the Data warehouses tab.
- Click + Import in the upper-right corner and select Users or Events to create a new import.
- Click the S3 tile.
- Click Continue.

Step 1: Configure S3 Connection and File Format
User Imports
- Select whether you want to import Registered users or Anonymous users.

- Choose which user type you want to import. Both registered users import and anonymous users import expect different file names. Refer to the Naming Conventions section for more information.
Event Imports
- For Event imports, select which event you want to import from the dropdown list.

- Based on the event you pick, your file names must begin with the Event Name of your chosen event. The Select event dropdown displays the Display Names of all the available events in your MoEngage app.

MOE_APP_OPENED, so the file names should begin with MOE_APP_OPENED.
- You can also create a new event by clicking the + Create new event option at the end of the dropdown list.

- Give your event a unique name. By default, your Display Name will be the same as the Event Name. You can go to the Data Management page to view or edit this event and your other MoEngage events. Note that any new events you create will only be available in your app after the first successful import.
Select Your S3 Bucket Connection
To select your S3 bucket connection, perform the following steps:- In the S3 connection list, click your preconfigured connection. If you have not created an S3 connection, click + Add connection to configure one in the App Marketplace. For more information, refer to Connect Amazon S3 in the App Marketplace.
- In the File type list, click your file format (for example, click CSV). Only CSV and JSON files are supported.
- In the Folder path box, type your directory path (for example, type bq_imports3). Do not include the bucket name or trailing slashes. MoEngage resolves your S3 bucket name automatically based on your marketplace connection.
- Select the Is your file encrypted? check box if your source files are encrypted by using PGP. Paste your private PGP Decryption Key, attach your optional public Signing Key, and type your Key passphrase.


- Enter a unique name for this import to easily identify it on the Imports Dashboard.
File Configurations

- Select the DateTime format that will be in your file name. Your file name must end with
_<date time format>.csv. Ensure you have at least one file available in the specified folder path; otherwise, you will not be able to continue. Click the “Fetch file(s)” button to fetch your latest file.

- Given S3 Access Key is not valid - Verify your S3 Marketplace connection details and try again.
- Please check the folder path and try again - Verify that your folder path is correct and ensure that compatible CSV files are present inside the folder.
- Found zero data rows in the file - The retrieved file does not contain any rows after the header row. MoEngage expects at least 2 rows (1 header row + 1 data row) in the file.
- Once you are satisfied with the preview of the file, click Next to continue.
Step 2: Map Your Columns to MoEngage Attributes
Map the columns of your CSV file to the attributes present inside MoEngage:
- Column name: The column name is mapped. Below the column name, MoEngage displays a sample value for your reference.
- Map attribute: Select the target MoEngage attribute you want to map the column to. You can also click + Create attribute to define a new parameter.
- More actions: Click Skip to exclude this column from being imported.
- User imports (Registered): You must map your identifier column to the MoEngage User ID attribute.
- User imports (Anonymous): You must map your identifier column to the MoEngage Anonymous ID attribute.
- Event imports: You must map your identifier column to the User ID attribute and map your timestamp column to the Event Time attribute.


Add Fields
You can also add fields directly from the dashboard by clicking on +Add Field to enter your attribute mappings manually.
Manifest Files
Optionally, you can choose to auto-map these columns by uploading a manifest file. To upload a manifest file, click the Upload mapping file option on the top-right of the mapping table:


Portfolio Support (Project-Level Routing)
brand_name or app_id) to the MoEngage attribute moe_project_name in Step 2 of the import configurations. Ensure that the source text values exactly match your MoEngage project names. Matching is case-sensitive.
- Successful routing: If the value matches your portfolio configuration, MoEngage ingests the user or event directly at that specific project level.
- Fallback behavior: If the mapping is missing, blank, or does not match a project name, MoEngage ingests the data at your global portfolio level.

Send Import Notifications

Step 3: Select the Import Frequency

- One-Time Imports: Run the import immediately or schedule it for a future date and time.
- Periodic Imports: Run your imports hourly, daily, weekly, or monthly.
Duplicate Imports
An import is considered a duplicate when all of the following parameters are the same as an existing active import schedule:- Import Type: Users / Events
- Import Sub-Type: Event Name / Registered / Anonymous
- S3 Folder Path
- Bucket Name
Frequently Asked Questions
My imports have failed. How do I check what went wrong?
My imports have failed. How do I check what went wrong?
What happens when there is an error in fetching the files from the S3/SFTP folder?
What happens when there is an error in fetching the files from the S3/SFTP folder?
A file failed with 'Applicable rate limit breached'. Will the periodic import reprocess it automatically?
A file failed with 'Applicable rate limit breached'. Will the periodic import reprocess it automatically?
What if a scheduled import adds the data into a recently archived segment?
What if a scheduled import adds the data into a recently archived segment?
How does MoEngage pick up new files in a periodic run?
How does MoEngage pick up new files in a periodic run?
Will a periodic Data import pick up an earlier processed file?
Will a periodic Data import pick up an earlier processed file?
Can a CSV file contain both User and Event data?
Can a CSV file contain both User and Event data?
Can an import be stopped while it's running?
Can an import be stopped while it's running?
How can I stop future runs of a scheduled import?
How can I stop future runs of a scheduled import?
What should I do if an import seems stuck or is taking a long time?
What should I do if an import seems stuck or is taking a long time?