Data Subject Request API Version 1 and 2
Data Subject Request API Version 3
Platform API Overview
Accounts
Apps
Audiences
Calculated Attributes
Data Points
Feeds
Field Transformations
Services
Users
Workspaces
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
Bulk Profile Deletion API Reference
Calculated Attributes Seeding API
Data Planning API
Custom Access Roles API
Group Identity API Reference
Pixel Service
Profile API
Events API
mParticle JSON Schema Reference
IDSync
AMP SDK
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 Plugin
Identity
Direct URL Routing FAQ
Web
Android
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
Getting Started
Identity
Upload Frequency
Getting Started
Opt Out
Initialize the SDK
Event Tracking
Commerce Tracking
Error Tracking
Screen Tracking
Identity
Location Tracking
Session Management
Initialization
Content Security Policy
Configuration
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
Getting Started
Identity
Web
Alexa
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
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
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 1. Create an input
Step 2. Create an output
Step 3. Verify output
Node SDK
Go SDK
Python SDK
Ruby SDK
Java SDK
Introduction
Outbound Integrations
Firehose Java SDK
Inbound Integrations
Compose ID
Glossary
Data Hosting Locations
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
API Credential Management
The Developer's Guided Journey to mParticle
Create an Input
Start capturing data
Connect an Event Output
Create an Audience
Connect an Audience Output
Transform and Enhance Your Data
The new mParticle Experience
The Overview Map
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)
Introduction
Sync and Activate Analytics User Segments in mParticle
User Segment Activation
Welcome Page Announcements
Project Settings
Roles and Teammates
Organization Settings
Global Project Filters
Portfolio Analytics
Analytics Data Manager Overview
Events
Event Properties
User Properties
Revenue Mapping
Export Data
UTM Guide
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 Introduction
Getting Started
Visualization Options
For Clauses
Date Range and Time Settings
Calculator
Numerical Settings
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
Getting Started with Funnels
Group By Settings
Conversion Window
Tracking Properties
Date Range and Time Settings
Visualization Options
Interpreting a Funnel Analysis
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
Saved Analyses
Manage Analyses in Dashboards
Dashboards––Getting Started
Manage Dashboards
Dashboard Filters
Organize Dashboards
Scheduled Reports
Favorites
Time and Interval Settings in Dashboards
Query Notes in Dashboards
User Aliasing
The Demo Environment
Keyboard Shortcuts
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
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
Overview
Create and Manage Group Definitions
Introduction
Catalog
Live Stream
Data Plans
Blocked Data Backfill Guide
Predictive Attributes Overview
Create Predictive Attributes
Assess and Troubleshoot Predictions
Use Predictive Attributes in Campaigns
Predictive Audiences Overview
Using Predictive Audiences
Introduction
Profiles
Warehouse Sync
Data Privacy Controls
Data Subject Requests
Default Service Limits
Feeds
Cross-Account Audience Sharing
Approved Sub-Processors
Import Data with CSV Files
CSV File Reference
Glossary
Video Index
Single Sign-On (SSO)
Setup Examples
Introduction
Introduction
Introduction
Rudderstack
Google Tag Manager
Segment
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)
Aliasing
An Outbound Integration with mParticle can be set up via AWS Lambda or an HTTP endpoint, and you can integrate as an event and/or audience partner, depending on the features and functionality of your service.
You can provide mParticle with a different endpoint to be setup per Data Centers. This allows customers who are in the different Data Centers to send data to you with improved latency.
Below is a high level overview of the integration process:
Develop and test
Build and deploy
Register and verification
The following resources provide a starting point for developing an outbound Firehose server-to-server integration with mParticle, using our Firehose Java SDK.
It is not necessary to use the Java SDK to build either a Lambda or HTTP integration, as long as you can respond to the following requests in the required format:
See the mParticle Firehose documentation for more information on these requests, and the JSON samples in the SDK repository for formatting. Use this Postman collection to easily test requests against your Lambda or HTTP endpoints.
Leveraging Amazon AWS’s Lambda platform, mParticle will send your “lambda function” data as it comes into our system so that your function can then forward it along to your own API.
Two sample projects are available on GitHub to help you get started with your Lambda integration:
Don’t forget to provide a high-resolution logo to mParticle in SVG format with a transparent background.
Memory - Keep expensive objects in memory. When mParticle invokes your Lambda function for the first time, AWS will immediately provision a machine for it. When repeated invocations are made over the span of minutes/seconds, that same machine/memory space will be used. This means that you should keep every object in memory that you can. A simple example of this is shown in our sample Firehose function. We allocate the MessageSerializer
object as a member of the RequestStreamHandler
instance. On subsequent invocations, the handleRequest
function will be called on the same RequestStreamHandler
instance, and therefore not waste time creating another MessageSerializer
object.
RequestStreamHandler
instance, if possible.AudienceMembershipChangeRequests
, you can queue your API request and return a standard AudienceMembershipChangeResponse
to mParticle. There are several HTTP client libraries such as Retrofit/OkHttp which make this really easy.mParticle servers will stream data to your function at the same rate at which it is received. If your Lambda function cannot process the data as fast as mParticle is sending, mParticle will be throttled and will receive a 429 Too Many Requests error code.
The default Lambda limits are:
Before publishing an integration, the concurrent requests limit must be increased to a minimal value of 1000 to prevent throttling. Once the request has been submitted to AWS, mParticle can assist in escalating the ticket for completion. The following parameters are suggested values which can be used in the request:
Refer to the AWS documentation for additional details on AWS Lambda Limits and Scalability and Availability
You can also check your current usage on the CloudWatch console by selecting Lambda below Metrics in the left pane. In the right pane, select Throttles as Metric Name and you should see anything you’re being throttled on within Lambda. A good guide would be to take the highest number, and request 50% more than that. You can request a higher limit by opening a case with AWS Support.
Keep this in mind as you’re developing your Lambda function as it may determine how it should process and to which of your APIs you should send data. Data rate and volume will depend on:
mParticle requires an average response time of under 200ms for 99% of all calls to your Lambda function.
The HTTP integration method will make HTTP calls over TLS 1.1+ using the same protocol and integration methodology that AWS Lambda integrations use, except that it calls a nominated HTTP endpoint directly.
Endpoint Requirements:
Responses
By default, retries will occur for the following responses. mParticle will attempt a limited number of retries in an exponential backoff pattern.
For more information about API throttling in response to a 429 response see Default Service Limits.
The endpoint must accept the same JSON format as the Lambda API. Samples of the JSON requests can be found here. The following methods should be supported:
Registration
Event
Audience
Don’t forget to provide a high-resolution logo to mParticle in SVG format with a transparent background.
Cookie Sync integrations enable mParticle to sync mParticle profiles with Partner Identities. The Partner ID will be included in AudienceMembershipChangeRequest messages only to the specific partner that the ID corresponds to. To configure a Cookie Sync integration with mParticle please reach out to us with the following information:
Was this page helpful?