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. |
Was this page helpful?