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
Custom Access Roles API
Data Planning 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
Direct URL Routing FAQ
Web
Android
iOS
Cordova Plugin
Identity
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
Getting Started
Identity
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
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
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
Data Hosting Locations
Glossary
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
Organize Dashboards
Dashboard Filters
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 Audiences Overview
Using Predictive Audiences
Predictive Attributes Overview
Create Predictive Attributes
Assess and Troubleshoot Predictions
Use Predictive Attributes in Campaigns
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
Snowplow Schema Overview
Snowflake (Snowplow Schema)
Snowflake (Define Your Own Schema)
Aliasing
Event
Audience
Event
Audience
Feed
Event
Audience
Cookie Sync
Event
Audience
Audience
Audience
Feed
Event
Event
Event
Event
Audience
Event
Data Warehouse
Event
Event
Event
Audience
Event
Feed
Event
Event
Event
Event
Audience
Event
Event
Event
Feed
Event
Event
Audience
Feed
Event
Event
Custom Feed
Event
Data Warehouse
Event
Event
Audience
Audience
Audience
Event
Audience
Event
Event
Event
Event
Event
Audience
Audience
Event
Event
Audience
Data Warehouse
Event
Cookie Sync
Audience
Event
Event
Event
Event
Event
Feed
Feed
Event
Event
Event
Audience
Event
Event
Audience
Event
Event
Event
Feed
Audience
Event
Audience
Event
Audience
Event
Audience
Audience
Audience
Audience
Event
Event
Event
Event
Event
Feed
Event
Event
Event
Event
Event
Feed
Audience
Event
Event
Event
Event
Event
Event
Feed
Event
Audience
Event
Event
Event
Custom Pixel
Feed
Event
Event
Event
Audience
Event
Event
Event
Data Warehouse
Event
Event
Audience
Audience
Audience
Event
Audience
Audience
Audience
Cookie Sync
Event
Feed
Audience
Event
Event
Audience
Audience
Event
Event
Event
Event
Audience
Cookie Sync
Audience
Cookie Sync
Feed
Audience
Event
From attribution and analytics to optimization, the Kochava platform provides precise, real-time visualization of campaign and app performance from ad impression through user lifetime value.
If the mParticle SDK is used to send data, the minimum acceptable SDK version is 3.0 for iOS and 2.0 for Android. Data sent from earlier SDK versions will not be forwarded to Kochava.
Due to a known bug in the mParticle iOS SDK prior to version 5.1.4, install events may or may not be forwarded. If install events are missing in Kochava’s platform, please make sure you are using the latest version of the mParticle SDK.
mParticle supports the following modes when forwarding data to Kochava:
Recommended: Client mode - The forwarding of events from mParticle to Kochava is handled entirely client side. (on the device)
Server mode - The forwarding of events from mParticle to Kochava is handled entirely S2S.
Hybrid mode - The forwarding of events from mParticle to Kochava is partially done client side and partially S2S.
mParticle will forward Apple Search Ad Attribution values, if provided.
mParticle will forward feed data to Kochava if we have any user identity in the User Identity Mapping section
If the incoming data includes an IP address or a user agent, it will also be forwarded alongside other device information. For iOS and Apple TV, if the user agent is not provided, a default user agent will be forwarded.
In order to activate mParticle’s integration with Kochava, you’ll need to have your Kochava App ID handy. If you’re not sure what this ID is or where to find it, please contact your Kochava account representative for assistance.
//Event tracking using Kochava's SDK
MyAppDelegate *delegate = (MyAppDelegate *)[[UIApplication sharedApplication] delegate];
[delegate.kochavaTracker trackEvent:@"SomeEvent"];
//Equivalent using mParticle's SDK
[[MParticle sharedInstance] logEvent:@"SomeEvent"
eventType:MPEventTypeTransaction];
//Event tracking using Kochava's SDK (assumes that kTracker is a reference to an instantiated Kochava SDK object)
kTracker.event( "SomeEvent");
//Equivalent using mParticle's SDK
MParticle.getInstance().logEvent("SomeEvent");
mParticle will forward all “custom” events to Kochava, using the mParticle event name as the Kochava event “title.” See the panel below for a sample call using Kochava’s SDK, and the equivalent using mParticle’s.
In contrast, “Application State Transition” events will only be forwarded to Kochava if they meet the criteria of an install event:(“application_transition_type” = “application_initialized” and “is_first_run” = “true”).
MyAppDelegate *delegate = (MyAppDelegate *)[[UIApplication sharedApplication] delegate];
[delegate.kochavaTracker trackEvent:@"View SomeScreen"];
//Assume that kTracker is a reference to an instantiated Kochava SDK object
kTracker.event( "View SomeScreen");
All screen views tracked by mParticle’s logScreen
SDK method will be forwarded to Kochava, with the screen name as the Event Title. Please see the panel below for an analogous event tracking call using Kochava’s SDK.
Additionally, all screen views that are automatically tracked in the Android SDK will be forwarded to Kochava with the Event Title set to the screen’s Activity class name.
All events with the attributes SpatialX
, SpatialY
and SpatialZ
defined will be forwarded to Kochava as Spatial Events. Please see the panel below for a sample call using Kochava’s SDK, and the equivalent using mParticle’s.
//Kochava Spatial Event tracking method call
MyAppDelegate *delegate = (MyAppDelegate *)[[UIApplication sharedApplication] delegate];
[delegate.kochavaTracker spatialEvent:@"My Spatial Event":1.0:3.33:-0.5];
//Equivalent using mParticle's SDK
NSDictionary *coords = @{@"SpatialX":@"1.0",
@"SpatialY":@"3.33",
@"SpatialZ":@"-0.5"};
[[MParticle sharedInstance] logEvent:@"My Spacial Event" eventType:MPEventTypeOther eventInfo:coords];
//Kochava Spatial Event tracking method call
//Assume that kTracker is a reference to an instantiated Kochava SDK object
kTracker.eventSpatial( "My Spatial Event" , 1.0, 3.33, -0.5);
//Equivalent call using mParticle's SDK
Map<String, String> coords = new HashMap<String, String>();
coords.put("SpatialX", "1.0");
coords.put("SpatialY", "3.33");
coords.put("SpatialZ", "-0.5");
MParticle.getInstance().logEvent("My Spatial Event", MParticle.EventType.Other, coords);
For iOS 14, mParticle will send the following ATT fields based on the att_authorization_status
to Kochava within the att
and att-detail
fields. Check the iOS14 Implementation guide for more information.
If att_authorization_status
is available:
att_authorization_status |
att |
att-detail |
---|---|---|
authorized |
true | authorized |
denied |
false | denied |
not_determined |
false | not_determined |
restricted |
false | restricted |
With each batch of events forwarded to Kochava, mParticle will also forward available identities to Kochava’s Identity Link API which is intended to associate Device IDs with other available identifiers.
The following Device IDs will be included in the IdentityLink message if available:
mParticle ID Type | Kochava Key |
---|---|
Apple Advertising ID | idfa |
Apple Vendor ID | idfv and idfv_sha1 (as a SHA-1 hash) |
Google Advertising ID | adid |
Android ID | android_id |
Roku Advertising ID | rida |
Fire Advertising ID | faid |
Kochava device ID can be optionally included on all event requests. This is useful in contexts where device IDs might not be present such as when a user limits ad tracking. There are two settings to control this in mParticle:
‘Kochava Device ID Type’ can be set to Device Application Stamp
or Hashed MPID + Device Application Stamp
. Device Application Stamp
is not guaranteed to be unique in all scopes so its use has been deprecated. New connections should use Hashed MPID + Device Application Stamp
since it will provide a consistent and unique anonymous identifier for devices.
The following User IDs will be included in the IdentityLink message if available:
mParticle ID Type | Kochava Key |
---|---|
email |
|
Customer ID | app_userid |
fb_userid |
|
google_userid |
|
Microsoft | microsoft_userid |
External Custom Device Type | Forwarded as a Device ID of type custom |
Yahoo | yahoo_userid |
Setting Name | Data Type | Default Value | Description |
---|---|---|---|
App GUID | string |
Your app’s Kochava App GUID. If you’re not sure what your App GUID is, please contact your Kochava account representative for assistance. |
Setting Name | Data Type | Default Value | Platform | Description |
---|---|---|---|---|
Currency | string |
USD | All | The currency that Kochava should use when tracking and reporting LTV. The default value is USD. |
Enable ‘retrieveAttribution’ | bool |
True | All | If enabled, mParticle will initialize Kochava’s embedded SDK with ‘retrieveAttribution’ option enabled. Note that you’d have to follow Kochava’s instructions on how to retrieve attribution data in your app. |
Enable Console Logging | bool |
False | All | If enabled, Kochava-specific debugging information will be outputted to LogCat for Android, or to the XCode debugging console for Apple OS. |
Limit ad tracking | bool |
False | All | If enabled, mParticle will initialize Kochava’s embedded SDK with ad tracking disabled. |
Send Kochava Device ID | bool |
True | All | If enabled, mParticle will send the kochava_device_id property with every request. |
Kochava Device ID Type | enum |
Device Application Stamp | All | Select the mParticle field to be sent as the kochava_device_id if ‘Send Kochava Device ID’ is checked. The default setting sends the value of the mp_deviceid field. Use of this is deprecated, but is still available for existing connections. Selecting ‘Hashed MPID + Device Application Stamp’ ensures passing a unique ID. WARNING: Changing this setting for existing connections will break ongoing event attribution in Kochava. See above for more details. |
External User Identity Type | enum |
Customer ID | All | The mParticle User Identity type to forward as an External Id to Kochava. |
External Email Identity Type | enum |
All | The mParticle User Identity type to forward as an Email to Kochava. | |
External Custom Device Type | enum |
Other | All | The mParticle User Identity type to forward as a custom device type to Kochava. |
Enable App Tracking Transparency | bool |
False | iOS | Informs Kochava on startup as to whether or not you are using App Tracking Transparency. |
Enable Automatic ATT Prompt | bool |
False | iOS | Determines if Kochava should prompt the user for App Tracking Transparency. |
ATT Status Wait Interval | integer |
30 | iOS | If enableATTPrompt is set to true, this determines how long Kochava allows for the user to answer the ATT authorization prompt. The default is 30 seconds. |