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.

Supported Features

  • Attribution
  • User Analytics
  • Deep Linking
  • Fraud Detection

Data Processing Notes

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:

  1. Hybrid mode

    • If the Kochava SDK is initialized in the app, it sends install events to Kochava servers.
    • Post-install events and any user identities are sent via the mParticle SDK to mParticle servers and forwarded to Kochava S2S.
  2. Server mode

    • If data is sent to mParticle S2S API or Kochava’s SDK is not initialized in the app, mParticle will forward installs, post-install events, and any user identities to Kochava S2S

mParticle will forward Apple Search Ad Attribution values, if provided.

Prerequisites

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 Data Mapping

//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 events generated by mParticle’s logEvent SDK method will be forwarded to Kochava, with 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.

Screen Views

 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.

LTV Tracking

// mParticle Method
[[MParticle sharedInstance] logTransaction:@"The next book in my reading list"
                               affiliation:@"My favorite retailer"
                                       sku:@"xxx-yyy-zzz"
                                 unitPrice:28.00
                                  quantity:1
                             revenueAmount:30.00
                                 taxAmount:2.00
                            shippingAmount:0
                             transactionId:nil
                           productCategory:@"Books and Magazines"
                              currencyCode:@"USD"];
                              
// Equivalent Kochava SDK method
MyAppDelegate *delegate = (MyAppDelegate *)[[UIApplication sharedApplication] delegate];
[delegate.kochavaTracker trackEvent:@"Ecommerce":@"30.00"];
// mParticle Method
MPProduct product = new MPProduct.Builder("The next book in my reading list", "aaa-bbb-ccc")
    .quantity(1)
    .unitPrice(28.00)
    .taxAmount(2.00)
    .totalRevenue(30.00)
    .productCategory("Books and Magazines")
    .currencyCode("USD")
    .affiliation("My favorite retailer")
    .build();
MParticle.getInstance.logTransaction(product);

// Equivalent Kochava SDK Method
//Assume that kTracker is a reference to an instantiated Kochava SDK object
kTracker.event( "Ecommerce" , "30.00");

All Ecommerce transactions tracked by mParticle’s logTransaction SDK method will be forwarded to Kochava with the the Kochava Event Data set to the revenue amount passed into logTransaction (either directly as a method argument, or via as an attribute of an MPProduct object). Please see the panel below for a sample call using Kochava’s SDK and the equivalent using mParticle’s.

Spatial Events

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);

User Identity Mapping

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.

Device IDs

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

User IDs

The following User IDs will be included in the IdentityLink message if available:

mParticle ID Type Kochava Key
Email email
Customer ID app_userid
Facebook fb_userid
Google google_userid
Microsoft microsoft_userid
Other Forwarded as a Device ID of type custom
Yahoo yahoo_userid

Configuration Settings

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.

Connection Settings

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.