Documentation

Developers

API References
Warehouse Sync API

Warehouse Sync API Overview

Warehouse Sync API Tutorial

Warehouse Sync API Reference

Data Mapping

Warehouse Sync SQL Reference

Warehouse Sync Troubleshooting Guide

ComposeID

Warehouse Sync API v2 Migration

Data Subject Request API

Data Subject Request API Version 1 and 2

Data Subject Request API Version 3

Platform API

Platform API Overview

Accounts

Apps

Audiences

Calculated Attributes

Data Points

Feeds

Field Transformations

Services

Users

Workspaces

Bulk Profile Deletion API Reference

Calculated Attributes Seeding API

Group Identity API Reference

Data Planning API

Custom Access Roles API

Pixel Service

Profile API

Events API

mParticle JSON Schema Reference

IDSync

Client SDKs
AMP

AMP SDK

Android

Initialization

Configuration

Network Security Configuration

Event Tracking

User Attributes

IDSync

Screen Events

Commerce Events

Location Tracking

Media

Kits

Application State and Session Management

Data Privacy Controls

Error Tracking

Opt Out

Push Notifications

WebView Integration

Logger

Preventing Blocked HTTP Traffic with CNAME

Linting Data Plans

Troubleshooting the Android SDK

API Reference

Upgrade to Version 5

Cordova

Cordova Plugin

Identity

Direct Url Routing

Direct URL Routing FAQ

Web

Android

iOS

Flutter

Getting Started

Usage

API Reference

React Native

Getting Started

Identity

iOS

Initialization

Configuration

Event Tracking

User Attributes

IDSync

Screen Tracking

Commerce Events

Location Tracking

Media

Kits

Application State and Session Management

Data Privacy Controls

Error Tracking

Opt Out

Push Notifications

Webview Integration

Upload Frequency

App Extensions

Preventing Blocked HTTP Traffic with CNAME

Linting Data Plans

Troubleshooting iOS SDK

Social Networks

iOS 14 Guide

iOS 15 FAQ

iOS 16 FAQ

iOS 17 FAQ

iOS 18 FAQ

API Reference

Upgrade to Version 7

Roku

Getting Started

Identity

Media

Unity

Upload Frequency

Getting Started

Opt Out

Initialize the SDK

Event Tracking

Commerce Tracking

Error Tracking

Screen Tracking

Identity

Location Tracking

Session Management

Xbox

Getting Started

Identity

Web

Initialization

Configuration

Content Security Policy

Event Tracking

User Attributes

IDSync

Page View Tracking

Commerce Events

Location Tracking

Media

Kits

Application State and Session Management

Data Privacy Controls

Error Tracking

Opt Out

Custom Logger

Persistence

Native Web Views

Self-Hosting

Multiple Instances

Web SDK via Google Tag Manager

Preventing Blocked HTTP Traffic with CNAME

Facebook Instant Articles

Troubleshooting the Web SDK

Browser Compatibility

Linting Data Plans

API Reference

Upgrade to Version 2 of the SDK

Xamarin

Getting Started

Identity

Web

Alexa

Media SDKs

Android

iOS

Web

Guides
Partners

Introduction

Outbound Integrations

Outbound Integrations

Firehose Java SDK

Inbound Integrations

Kit Integrations

Overview

Android Kit Integration

JavaScript Kit Integration

iOS Kit Integration

Compose ID

Data Hosting Locations

Glossary

Migrate from Segment to mParticle

Migrate from Segment to mParticle

Migrate from Segment to Client-side mParticle

Migrate from Segment to Server-side mParticle

Segment-to-mParticle Migration Reference

Rules Developer Guide

Server SDKs

Node SDK

Go SDK

Python SDK

Ruby SDK

Java SDK

Tools

mParticle Command Line Interface

Linting Tools

Smartype

Quickstart
HTTP Quick Start

Step 1. Create an input

Step 2. Create an output

Step 3. Verify output

Android

Overview

Step 1. Create an input

Step 2. Verify your input

Step 3. Set up your output

Step 4. Create a connection

Step 5. Verify your connection

Step 6. Track events

Step 7. Track user data

Step 8. Create a data plan

Step 9. Test your local app

iOS Quick Start

Overview

Step 1. Create an input

Step 2. Verify your input

Step 3. Set up your output

Step 4. Create a connection

Step 5. Verify your connection

Step 6. Track events

Step 7. Track user data

Step 8. Create a data plan

Java Quick Start

Step 1. Create an input

Step 2. Create an output

Step 3. Verify output

Node Quick Start

Step 1. Create an input

Step 2. Create an output

Step 3. Verify output

Python Quick Start

Step 1. Create an input

Step 2. Create an output

Step 3. Verify output

Web

Overview

Step 1. Create an input

Step 2. Verify your input

Step 3. Set up your output

Step 4. Create a connection

Step 5. Verify your connection

Step 6. Track events

Step 7. Track user data

Step 8. Create a data plan

API Credential Management

The Developer's Guided Journey to mParticle

Guides

Getting Started

Create an Input

Start capturing data

Connect an Event Output

Create an Audience

Connect an Audience Output

Transform and Enhance Your Data

Platform Guide
The New mParticle Experience

The new mParticle Experience

The Overview Map

Observability

Observability Overview

Observability User Guide

Observability Span Glossary

Introduction

Data Retention

Connections

Activity

Live Stream

Data Filter

Rules

Tiered Events

mParticle Users and Roles

Analytics Free Trial

Troubleshooting mParticle

Usage metering for value-based pricing (VBP)

Analytics

Introduction

Setup

Sync and Activate Analytics User Segments in mParticle

User Segment Activation

Welcome Page Announcements

Settings

Project Settings

Roles and Teammates

Organization Settings

Global Project Filters

Portfolio Analytics

Analytics Data Manager

Analytics Data Manager Overview

Events

Event Properties

User Properties

Revenue Mapping

Export Data

UTM Guide

Query Builder

Data Dictionary

Query Builder Overview

Modify Filters With And/Or Clauses

Query-time Sampling

Query Notes

Filter Where Clauses

Event vs. User Properties

Group By Clauses

Annotations

Cross-tool Compatibility

Apply All for Filter Where Clauses

Date Range and Time Settings Overview

Understanding the Screen View Event

Analyses

Analyses Introduction

Segmentation: Basics

Getting Started

Visualization Options

For Clauses

Date Range and Time Settings

Calculator

Numerical Settings

Segmentation: Advanced

Assisted Analysis

Properties Explorer

Frequency in Segmentation

Trends in Segmentation

Did [not] Perform Clauses

Cumulative vs. Non-Cumulative Analysis in Segmentation

Total Count of vs. Users Who Performed

Save Your Segmentation Analysis

Export Results in Segmentation

Explore Users from Segmentation

Funnels: Basics

Getting Started with Funnels

Group By Settings

Conversion Window

Tracking Properties

Date Range and Time Settings

Visualization Options

Interpreting a Funnel Analysis

Funnels: Advanced

Group By

Filters

Conversion over Time

Conversion Order

Trends

Funnel Direction

Multi-path Funnels

Analyze as Cohort from Funnel

Save a Funnel Analysis

Explore Users from a Funnel

Export Results from a Funnel

Cohorts

Getting Started with Cohorts

Analysis Modes

Save a Cohort Analysis

Export Results

Explore Users

Saved Analyses

Manage Analyses in Dashboards

Journeys

Getting Started

Event Menu

Visualization

Ending Event

Save a Journey Analysis

Users

Getting Started

User Activity Timelines

Time Settings

Export Results

Save A User Analysis

Dashboards

Dashboards––Getting Started

Manage Dashboards

Organize Dashboards

Dashboard Filters

Scheduled Reports

Favorites

Time and Interval Settings in Dashboards

Query Notes in Dashboards

User Aliasing

Analytics Resources

The Demo Environment

Keyboard Shortcuts

Tutorials

Analytics for Marketers

Analytics for Product Managers

Compare Conversion Across Acquisition Sources

Analyze Product Feature Usage

Identify Points of User Friction

Time-based Subscription Analysis

Dashboard Tips and Tricks

Understand Product Stickiness

Optimize User Flow with A/B Testing

User Segments

APIs

User Segments Export API

Dashboard Filter API

IDSync

IDSync Overview

Use Cases for IDSync

Components of IDSync

Store and Organize User Data

Identify Users

Default IDSync Configuration

Profile Conversion Strategy

Profile Link Strategy

Profile Isolation Strategy

Best Match Strategy

Aliasing

Data Master
Group Identity

Overview

Create and Manage Group Definitions

Introduction

Catalog

Live Stream

Data Plans

Data Plans

Blocked Data Backfill Guide

Personalization
Predictive Attributes

Predictive Attributes Overview

Create Predictive Attributes

Assess and Troubleshoot Predictions

Use Predictive Attributes in Campaigns

Predictive Audiences

Predictive Audiences Overview

Using Predictive Audiences

Introduction

Profiles

Calculated Attributes

Calculated Attributes Overview

Using Calculated Attributes

Create with AI Assistance

Calculated Attributes Reference

Audiences

Audiences Overview

Real-time Audiences

Standard Audiences

Journeys

Journeys Overview

Manage Journeys

Download an audience from a journey

Audience A/B testing from a journey

Journeys 2.0

Warehouse Sync

Data Privacy Controls

Data Subject Requests

Default Service Limits

Feeds

Cross-Account Audience Sharing

Approved Sub-Processors

Import Data with CSV Files

Import Data with CSV Files

CSV File Reference

Glossary

Video Index

Analytics (Deprecated)
Identity Providers

Single Sign-On (SSO)

Setup Examples

Settings

Debug Console

Data Warehouse Delay Alerting

Introduction

Developer Docs

Introduction

Integrations

Introduction

Rudderstack

Google Tag Manager

Segment

Data Warehouses and Data Lakes

Advanced Data Warehouse Settings

AWS Kinesis (Snowplow)

AWS Redshift (Define Your Own Schema)

AWS S3 Integration (Define Your Own Schema)

AWS S3 (Snowplow Schema)

BigQuery (Snowplow Schema)

BigQuery Firebase Schema

BigQuery (Define Your Own Schema)

GCP BigQuery Export

Snowflake (Snowplow Schema)

Snowplow Schema Overview

Snowflake (Define Your Own Schema)

APIs

Dashboard Filter API (Deprecated)

REST API

User Segments Export API (Deprecated)

SDKs

SDKs Introduction

React Native

iOS

Android

Java

JavaScript

Python

Object API

Developer Basics

Aliasing

CSV File Reference

This topic contains reference information and instructions for advanced techniques when importing data using CSV files.

Configuration Settings

Configuration Name Data Type Default Description
Setting Name string If the event type is custom event, and every row in your file has the same event name, specify the name for all events. If also set in column events.data.event_name, the data in the file takes precedence.
Custom Event Type string If Event Type is Custom Event, and every row in your file is the same Event Type, use this to set the Type for all events. If also set in events.data.custom_event_type, the data in the file takes precedence.
Custom Manifest string To override the default format, include a custom manifest.
Expect Encrypted Files Boolean false Only encrypted OR unencrypted files can be accepted, but not both. You must use PGP encryption with mParticle’s public key. See Drop encrypted files

Use a custom manifest

A custom manifest allows you to use files created by other systems without transformation. In the mParticle UI, when you’re configuring the Custom CSV input, you can provide a JSON manifest to describe how you want to map your CSV data to mParticle’s fields in one of two ways:

  • With a header row: Map your column names to mParticle’s column names.
  • Without a header row: Map your columns, which must appear in a specific order, to mParticle’s column names.

In order to guarantee that the new/changed manifest applies to your CSV files, please ensure a gap of about 5 minutes between the manifest change and uploading CSV files.

With a header row

If your CSV has a header row, you can map the column names in your header directly to mParticle fields. The manifest must set "hasHeaderRow": true and contain an array of columns objects, each giving a column name, an action ("keep" or "ignore") and a target mParticle field. The order of entries in the column array doesn’t need to match the order of columns in the CSV file.

Example with a header row

Assume that you drop the following manifest on the SFTP server:

{
  "hasHeaderRow": true, // REQUIRED
  "columns": [
    {
      "column": "Event Name",
      "action": "keep",
      "field": "events.data.event_name"
    },
    {
      "column": "Custom Type",
      "action": "keep",
      "field": "events.data.custom_event_type"
    },
    {
      "column": "Email",
      "action": "keep",
      "field": "user_identities.email"
    },
    {
      "column": "Facebook",
      "action": "ignore",
      "field": "user_identities.facebook"
    },
    {
      "column": "Home City",
      "action": "keep",
      "field": "user_attributes.$city"
    },
    {
      "column": "Category",
      "action": "keep",
      "field": "events.data.custom_attributes.category"
    },
    {
      "column": "Destination",
      "action": "keep",
      "field": "events.data.custom_attributes.destination"
    },
    {
      "column": "Time",
      "action": "keep",
      "field": "events.data.timestamp_unixtime_ms"
    },
    {
      "column": "Environment",
      "action": "keep",
      "field": "environment"
    }
  ]
}

Then assume that you drop a CSV file with the following header row and one row of data:

Event Name,Custom Type,Email,Facebook,Home City,Category,Destination,Time,Environment Viewed Video,other,h.jekyll.md@example.com,h.jekyll.md,London,Destination Intro,Paris,1466456299032,development

The resulting batch will be:

{
    "events" :
    [
        {
            "data" : {
                "event_name": "Viewed Video",
                "custom_event_type": "other",
                "custom_attributes": {
                    "category": "Destination Intro",
                    "destination": "Paris"                   
                },
                "timestamp_unixtime_ms": "1466456299032"
            },
            "event_type" : "custom_event"
        }
    ],
    "user_attributes" : {
        "$city": "London"
    },
    "user_identities" : {
        "email": "h.jekyll.md@example.com"
    },
    "environment" : "development"
}

Without a header row

If your CSV does not have a header row, you can map columns to mParticle fields by the order they appear in the CSV.

The manifest must include "hasHeaderRow": false and contain an array of columns objects, each giving an action ("keep" or "ignore") and a target mParticle field. For this method to work, you must be able to guarantee the same column order in each CSV file you upload.

The following is an example of the same custom manifest as the previous example, but without a header row:

{
    "hasHeaderRow": false, // REQUIRED
    "columns": [{
   		 "action": "keep",
   		 "field": "events.data.event_name"
   	 },
   	 {
   		 "action": "keep",
   		 "field": "events.data.custom_event_type"
   	 },
   	 {
   		 "action": "keep",
   		 "field": "user_identities.email"
   	 },
   	 {
   		 "action": "ignore",
   		 "field": "user_identities.facebook"
   	 },
   	 {
   		 "action": "keep",
   		 "field": "user_attributes.$city"
   	 },
   	 {
   		 "action": "keep",
   		 "field": "events.data.custom_attributes.category"
   	 },
   	 {
   		 "action": "keep",
   		 "field": "events.data.custom_attributes.destination"
   	 },
   	 {
   		 "action": "keep",
   		 "field": "timestamp_unixtime_ms"
   	 },
   	 {
   		 "action": "keep",
   		 "field": "environment"
   	 }
    ]
}

Encrypted files

The Custom CSV Feed can accept files encrypted with PGP, using mParticle’s Public Key. You can use software like GPG Tools for OS X or Windows. Never use web-based tools to encrypt, hash, or encode data.

To enable encryption, set the configuration setting Expect Encrypted Files to true.

It’s most efficient to send multiple files in a zipped, or gzipped format. Encrypt the final ZIP file instead of each individual file.

Use the public encryption key corresponding to your pod:

US1

-----BEGIN PGP PUBLIC KEY BLOCK-----

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
biYBg8JUhwlni9dnp6i9QBTow2tH
=NeON
-----END PGP PUBLIC KEY BLOCK-----

EU1

-----BEGIN PGP PUBLIC KEY BLOCK-----

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
dQATUJ6kLZN+1GYh/QAcsaYA5pOMwpoWVNEk
=1Fyv
-----END PGP PUBLIC KEY BLOCK-----

AU1

-----BEGIN PGP PUBLIC KEY BLOCK-----

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
LsQi0iohuZYYvCY+QJXPIJAphrX3NyiMkoVH
=0+xD
-----END PGP PUBLIC KEY BLOCK-----

US2

-----BEGIN PGP PUBLIC KEY BLOCK-----

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
qzUi2ZFg6AeVYz+3h51NrsNFWCu6uAsrdL4v
=HgCt
-----END PGP PUBLIC KEY BLOCK-----

Sensitive data

Use the following public encryption key for sending sensitive data.

-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v2
mQENBFRKgRIBCACXmtK5WGdBDk/JWqzYdCd8uiKPJrnY0cAqfM6Rv1IhAl38IRKz
9rsfcK1z3bIZYGwfOk1SPBZmSxLERF1DgwhhInrXf+OojxGiRmMRK7QQ1zE/sqvW
RZqPeP+fRquK8BTP37Q+h8aophWBqaVfpejAaJtC+Xqe2xeGvBpnA8wu1c+Z1mLg
UfuKfRcadHQ1Ej99kWpIHyXh0D83yV1HbG0Gh8x0USKYiLK0Nn0ykVyAB9mk0GjF
3RoynGNHrbn3CH3f0J6ib+u7aVcZ9Y+E0E8KSI4h/4WhpIEWwicolMNeA+mTfySy
HKOUGkGy0k6+ltrA1H9ti/nmBkR9brJKP/7pABEBAAG0I05heWRlbiBLb2xldiA8
bmtvbGV2QG1wYXJ0aWNsZS5jb20+iQE5BBMBAgAjBQJUSoESAhsPBwsJCAcDAgEG
FQgCCQoLBBYCAwECHgECF4AACgkQK48THX7ssvDsVQf/XZRuWWme2NvxSa+Ce/hB
E6jIVLu5mw/snVo7PuGYRT0SoCRjEgx4J7tsmVlraRzBWAYYLdNd0pLAdkF+8rrh
9klxbDAIuXE1KlyjXIifVQZH6I9Ujnnx+IZd+Ev/+FBLDBaEpcQSN1fEvI+MIotp
9Q/7N+uts7DFFt1z7W/L9v0ujf4/t/L8DjYKm3AK+1DpbTlMt31YHoAuCs165pi/
ZSy61BJM1N1XKAUPR7bcUw+ahhlMF7b3nyVQppmasqUdVLKTApCICX6yjooj0RDV
0xcCNATCQJw/X7kL30Svi1C9oUro0KbRKa9O2ObODfBLt+XcrIqOxBwOcHzIg0bv
Gw===fzFR
-----END PGP PUBLIC KEY BLOCK-----

Processing speed

For files within recommended size limits, processing speed is consistent with the Events API: about 270 rows per second. To increase the processing speed for your CSV feed, contact mParticle Support.

Processing Behavior

  • Files aren’t guaranteed to be processed in sequence; files are not linked to one another. Each file is independent and there’s no way to indicate if two files were split from a master file.
  • You can observe how much data has been processed using Data Master and your outbound connections. There is no notification.
  • Once dropped, files start processing at any time. Deleting a file from the dropped folder is not a guarantee that it won’t be processed. Overwriting files can lead to partial or incomplete imports, or other errors may occur.
  • Rows may be batched together for processing. Thus, there may be fewer processed batches than rows. The only fields not considered unique identifiers for batching are event-specific, such as event name, custom event attributes, and the batch-level timestamp. If two rows have the exact same set of attributes and identifiers otherwise, then they may be batched together for processing.
  • Each file is processed beginning to end. A file is never split or read asynchronously. Header mappings are on a per-configuration basis and are applied to all potential files (if their headers are not valid already). There is no way to associate a mapping with either a filename or filename pattern.
  • Processed files are deleted within 30 days.

Was this page helpful?

    Last Updated: December 2, 2024