📘

This integration is currently in beta. Contact your MetaRouter support team to get started.

What Is Kochava?

Kochava is a mobile attribution and analytics platform that provides tools for tracking and measuring the performance of mobile advertising campaigns. It offers a range of services, including attribution tracking, audience segmentation, and campaign analytics. Kochava helps marketers understand user behavior and optimize their ad spend by providing insights into how users interact with their apps and respond to marketing efforts. The platform supports integrations with various ad networks and analytics tools to deliver comprehensive reporting and actionable data.

What are the benefits of integrating MetaRouter with Kochava?

  • Custom Data Routing: MetaRouter allows for flexible routing of data to Kochava, enabling you to control and customize the data flows and ensure that only the necessary events are sent.
  • Server-Side Event Tracking: With MetaRouter, you can shift event tracking from client-side to server-side, improving data reliability and reducing the risk of data loss due to ad blockers or browser restrictions.

Capabilities and Considerations

  • Identity Management: The integration supports user identification and cross-device tracking using Kochava's IdentityLink. This is achieved through the /v1/cpi/identityLink.php endpoint, allowing the linking of user data across devices and providing a comprehensive view of user interactions.
  • Event Tracking: Custom events are tracked using the /track/json endpoint, capturing detailed user behavior within the app, including interactions, installs, and other specific events.
  • Install Attribution: Device information, such as IDFA for iOS and advertising ID for Android, is mapped to attribute app installs to specific marketing campaigns.
  • Re-engagement Attribution: Through custom event tracking, this integration supports re-engagement attribution, allowing for the measurement of user return activities.
  • Real-Time Analytics: Custom mappings for device information, IP addresses, and event details enable real-time analytics of user behavior and app interactions.
  • Cross-platform Attribution: The integration captures device-specific data for both iOS and Android, enabling cross-platform attribution and insights.
  • Privacy Compliance: The integration respects user opt-out preferences regarding ad tracking, supporting compliance with privacy regulations such as GDPR and CCPA.
  • Fraud Mitigation: Origination IP tracking helps in identifying potential fraud, such as click fraud or install hijacking.

Limitations

  • Limited Fraud Prevention: While the integration captures origination IP data, it does not fully leverage Kochava’s advanced fraud detection capabilities, such as install hijacking prevention and click spamming detection.
  • Advanced Audience Management: The current implementation provides basic identity management. However, more advanced audience segmentation and predictive analytics may require additional integrations or endpoints.
  • Cost and ROI Analytics: This integration does not cover cost aggregation, return on ad spend (ROAS), or lifetime value (LTV) tracking, which may require additional configurations or data sources.

Getting Started - From Your Kochava Account

  • Kochava App ID

    1. Log in to Kochava.

    2. Select the desired .

      Account and App

    3. Select Apps & Assets > All Apps.

    4. Locate and Click on the desire App.

    5. The App ID is located within the detail section.

  • User ID

    • Please contact your Kochava rep to get your Kochava user ID.

Getting Started - From Your MetaRouter Account

Adding a Kochava integration.

From the integration library, add a Kochava integration. Then, fill out the Connection Parameters:

Connection ParameterDescription
KOCHAVA_APP_IDThis is the unique application ID used to represent the App.
USER_IDKochava user ID.

Event Mappings

MetaRouter provides all of the event mappings that Kochava integrations typically require. You may add custom events, parameters or mappings in accordance with Kochava’s API documentation.

Global

Global mappings will be applied to all events. If your parameter names do not match the Expected Inputs provided, you will need to overwrite the Inputs provided with your own.

Output KeyDescriptionExpected Input
kochava_app_id
Required
String: The app ID registered with KochavaEnrichment - KOCHAVA_APP_ID
kochava_device_id
Required
String: The anonymous device identifier used for attributionanonymousId

Event Specific

Application Installed

Output KeyDescriptionExpected Input
action
Required
String: The action being taken, in this case, an install eventEnrichment - install
data.app_tracking_transparency.attBoolean: Indicates whether ad tracking is enabled on the devicecontext.device.adTrackingEnabled
data.device_ids
Required
Object: Contains device-specific IDs like IDFA (iOS) or Advertising ID (Android)context.device.advertisingId
data.origination_ip
Required
String: The IP address from where the request originatescontext.ip
data.device_ua
Required
String: The user-agent string of the devicecontext.userAgent
data.app_versionString: The version of the app from which the event is sentcontext.library.version
data.usertime
Required
Integer: The timestamp of the event based on the user's local timeN/A - Expression

Identify

Output KeyDescriptionExpected Input
data.app_userid
Required
String: The user ID used to identify the user within the appEnrichment - USER_ID
device_id
Required
String: The advertising ID of the user's devicecontext.device.advertisingId

Checkout Started

Output KeyDescriptionExpected Input
action
Required
String: The action or event type being trackedEnrichment - event
data.device_verString: The version of the deviceEnrichment
data.event_name
Required
String: The name of the event being trackedCheckout Start
data.app_tracking_transparency.attBoolean: Indicates whether ad tracking is enabled on the devicecontext.device.adTrackingEnabled
data.device_ids
Required
Object: Contains device-specific IDs like IDFA (iOS) or Advertising ID (Android)context.device.advertisingId
data.origination_ip
Required
String: The IP address from where the request originatescontext.ip
data.device_ua
Required
String: The user-agent string of the devicecontext.userAgent
data.app_versionString: The version of the app from which the event is sentcontext.library.version
data.event_data.name
Required
String: The name of the product being checked outN/A - Expression
data.event_data.content_id
Required
String: The content ID or product ID of the item being checked outN/A - Expression
data.event_data.currencyString: The currency of the transactionproperties.currency
data.event_data.quantity
Required
Integer: The quantity of the product being checked outproperties.quantity
data.usertime
Required
Integer: The timestamp of the event based on the user's local timeN/A - Expression

Order Completed

Output KeyDescriptionExpected Input
action
Required
String: The action or event type being trackedEnrichment - event
data.device_verString: The version of the deviceEnrichment
data.event_name
Required
String: The name of the event being trackedPurchase
data.app_tracking_transparency.attBoolean: Indicates whether ad tracking is enabled on the devicecontext.device.adTrackingEnabled
data.device_ids
Required
Object: Contains device-specific IDs like IDFA (iOS) or Advertising ID (Android)context.device.advertisingId
data.origination_ip
Required
String: The IP address from where the request originatescontext.ip
data.device_ua
Required
String: The user-agent string of the devicecontext.userAgent
data.app_versionString: The version of the app from which the event is sentcontext.library.version
data.event_data.name
Required
String: The name of the product associated with the orderproperties.name
data.event_data.content_id
Required
String: The content or product IDproperties.product_id
data.event_data.price
Required
Float: The price of the productproperties.price
data.event_data.currencyString: The currency used for the orderproperties.currency
data.usertime
Required
Integer: The timestamp of the event based on the user's local timeN/A - Expression

Product Added

Output KeyDescriptionExpected Input
action
Required
String: The action or event type being trackedEnrichment - event
data.device_verString: The version of the deviceEnrichment
data.event_name
Required
String: The name of the event being trackedAdd to Cart
data.app_tracking_transparency.attBoolean: Indicates whether ad tracking is enabled on the devicecontext.device.adTrackingEnabled
data.device_ids
Required
Object: Contains device-specific IDs like IDFA (iOS) or Advertising ID (Android)context.device.advertisingId
data.origination_ip
Required
String: The IP address from where the request originatescontext.ip
data.device_ua
Required
String: The user-agent string of the devicecontext.userAgent
data.app_versionString: The version of the app from which the event is sentcontext.library.version
data.event_data.name
Required
String: The name of the product being addedproperties.name
data.event_data.content_id RequiredString: The content or product ID of the item being addedproperties.product_id
data.event_data.quantity
Required
Integer: The quantity of the product being addedproperties.quantity
data.usertime
Required
Integer: The timestamp of the event based on the user's local timeN/A - Expression

Products Searched

Output KeyDescriptionExpected Input
action
Required
String: The action or event type being trackedEnrichment - event
data.device_verString: The version of the deviceEnrichment
data.event_name
Required
String: The name of the event being trackedSearch
data.app_tracking_transparency.attBoolean: Indicates whether ad tracking is enabled on the devicecontext.device.adTrackingEnabled
data.device_ids
Required
Object: Contains device-specific IDs like IDFA (iOS) or Advertising ID (Android)context.device.advertisingId
data.origination_ip
Required
String: The IP address from where the request originatescontext.ip
data.device_ua
Required
String: The user-agent string of the devicecontext.userAgent
data.app_versionString: The version of the app from which the event is sentcontext.library.version
data.event_data.uri
Required
String: The search query made by the userproperties.query
data.usertime
Required
Integer: The timestamp of the event based on the user's local timeN/A - Expression

Default

Output KeyDescriptionExpected Input
action
Required
String: The action or event type being trackedEnrichment - event
data.device_verString: The version of the deviceEnrichment
data.event_name
Required
String: The name of the event being trackedevent
data.app_tracking_transparency.attBoolean: Indicates whether ad tracking is enabled on the devicecontext.device.adTrackingEnabled
data.device_ids
Required
Object: Contains device-specific IDs like IDFA (iOS) or Advertising ID (Android)context.device.advertisingId
data.origination_ip
Required
String: The IP address from where the request originatescontext.ip
data.device_ua
Required
String: The user-agent string of the devicecontext.userAgent
data.app_versionString: The version of the app from which the event is sentcontext.library.version
data.usertime
Required
Integer: The timestamp of the event based on the user's local timeN/A - Expression

Required & Recommended Identifiers

These identifiers must be mapped to Kochava in order for successful user matching to occur. Without these IDs, any events sent to Kochava may not be accurately reflected in reporting. For your convenience, required and recommended IDs are mapped as Global parameters to ensure they are added to every event.

AttributeExampleSync Injector Required?
device_idsidfa": "AEBE52E7-03EE-455A-B3C4-E57283966239"No
origination_ip"192.168.1.1"No
device_ua"Mozilla/5.0 (iPhone; CPU iPhone OS 14_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0 Mobile/15E148 Safari/604.1"No

Additional Kochava Documentation

Kochava - IdentityLink Setup
Kochava - Install Notification Setup