Kochava
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
-
Log in to Kochava.
-
Select the desired .
Account and App
-
Select Apps & Assets > All Apps.
-
Locate and Click on the desire App.
-
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 Parameter | Description |
---|---|
KOCHAVA_APP_ID | This is the unique application ID used to represent the App. |
USER_ID | Kochava 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 Key | Description | Expected Input |
---|---|---|
kochava_app_id Required | String: The app ID registered with Kochava | Enrichment - KOCHAVA_APP_ID |
kochava_device_id Required | String: The anonymous device identifier used for attribution | anonymousId |
Event Specific
Application Installed
Output Key | Description | Expected Input |
---|---|---|
action Required | String: The action being taken, in this case, an install event | Enrichment - install |
data.app_tracking_transparency.att | Boolean: Indicates whether ad tracking is enabled on the device | context.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 originates | context.ip |
data.device_ua Required | String: The user-agent string of the device | context.userAgent |
data.app_version | String: The version of the app from which the event is sent | context.library.version |
data.usertime Required | Integer: The timestamp of the event based on the user's local time | N/A - Expression |
Identify
Output Key | Description | Expected Input |
---|---|---|
data.app_userid Required | String: The user ID used to identify the user within the app | Enrichment - USER_ID |
device_id Required | String: The advertising ID of the user's device | context.device.advertisingId |
Checkout Started
Output Key | Description | Expected Input |
---|---|---|
action Required | String: The action or event type being tracked | Enrichment - event |
data.device_ver | String: The version of the device | Enrichment |
data.event_name Required | String: The name of the event being tracked | Checkout Start |
data.app_tracking_transparency.att | Boolean: Indicates whether ad tracking is enabled on the device | context.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 originates | context.ip |
data.device_ua Required | String: The user-agent string of the device | context.userAgent |
data.app_version | String: The version of the app from which the event is sent | context.library.version |
data.event_data.name Required | String: The name of the product being checked out | N/A - Expression |
data.event_data.content_id Required | String: The content ID or product ID of the item being checked out | N/A - Expression |
data.event_data.currency | String: The currency of the transaction | properties.currency |
data.event_data.quantity Required | Integer: The quantity of the product being checked out | properties.quantity |
data.usertime Required | Integer: The timestamp of the event based on the user's local time | N/A - Expression |
Order Completed
Output Key | Description | Expected Input |
---|---|---|
action Required | String: The action or event type being tracked | Enrichment - event |
data.device_ver | String: The version of the device | Enrichment |
data.event_name Required | String: The name of the event being tracked | Purchase |
data.app_tracking_transparency.att | Boolean: Indicates whether ad tracking is enabled on the device | context.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 originates | context.ip |
data.device_ua Required | String: The user-agent string of the device | context.userAgent |
data.app_version | String: The version of the app from which the event is sent | context.library.version |
data.event_data.name Required | String: The name of the product associated with the order | properties.name |
data.event_data.content_id Required | String: The content or product ID | properties.product_id |
data.event_data.price Required | Float: The price of the product | properties.price |
data.event_data.currency | String: The currency used for the order | properties.currency |
data.usertime Required | Integer: The timestamp of the event based on the user's local time | N/A - Expression |
Product Added
Output Key | Description | Expected Input |
---|---|---|
action Required | String: The action or event type being tracked | Enrichment - event |
data.device_ver | String: The version of the device | Enrichment |
data.event_name Required | String: The name of the event being tracked | Add to Cart |
data.app_tracking_transparency.att | Boolean: Indicates whether ad tracking is enabled on the device | context.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 originates | context.ip |
data.device_ua Required | String: The user-agent string of the device | context.userAgent |
data.app_version | String: The version of the app from which the event is sent | context.library.version |
data.event_data.name Required | String: The name of the product being added | properties.name |
data.event_data.content_id Required | String: The content or product ID of the item being added | properties.product_id |
data.event_data.quantity Required | Integer: The quantity of the product being added | properties.quantity |
data.usertime Required | Integer: The timestamp of the event based on the user's local time | N/A - Expression |
Products Searched
Output Key | Description | Expected Input |
---|---|---|
action Required | String: The action or event type being tracked | Enrichment - event |
data.device_ver | String: The version of the device | Enrichment |
data.event_name Required | String: The name of the event being tracked | Search |
data.app_tracking_transparency.att | Boolean: Indicates whether ad tracking is enabled on the device | context.device.adTrackingEnabled |
data.device_ids Required | Object: Contains device-specific IDs like IDFA (iOS) or Advertising ID (Android) | context.device.advertisingId |
data.origination_i pRequired | String: The IP address from where the request originates | context.ip |
data.device_ua Required | String: The user-agent string of the device | context.userAgent |
data.app_version | String: The version of the app from which the event is sent | context.library.version |
data.event_data.uri Required | String: The search query made by the user | properties.query |
data.usertime Required | Integer: The timestamp of the event based on the user's local time | N/A - Expression |
Default
Output Key | Description | Expected Input |
---|---|---|
action Required | String: The action or event type being tracked | Enrichment - event |
data.device_ver | String: The version of the device | Enrichment |
data.event_name Required | String: The name of the event being tracked | event |
data.app_tracking_transparency.att | Boolean: Indicates whether ad tracking is enabled on the device | context.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 originates | context.ip |
data.device_ua Required | String: The user-agent string of the device | context.userAgent |
data.app_version | String: The version of the app from which the event is sent | context.library.version |
data.usertime Required | Integer: The timestamp of the event based on the user's local time | N/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.
Attribute | Example | Sync Injector Required? |
---|---|---|
device_ids | idfa": "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
Updated 3 months ago