General

Data is central to the benefits that we provide. It can be divided into two categories: live and historical. Live data gives us real-time data from the moment the integration is enabled. Historical data allows us to start optimizing immediately and with more accuracy. Without an historical data integration or manual import, a live data collection period is required prior to optimization so we can ingest enough data to predict reliably.

Whether live or historical, the data we collect is primarily based on the app open, install, and revenue events across a number of dimensions including advertiser app, channel, campaign, country, and publisher app.

Live Integrations

We can collect live data in real-time via attribution partner or custom server-to-server integration. We are already integrated to the most popular attribution platforms including Adjust and AppsFlyer. To start optimizing immediately, an historical integration or manual import is required in addition to a live integration. Otherwise, a period of live data collection is necessary before optimizations can be made.

Adjust

To enable the Adjust integration, simply add our postback URL as a real-time callback. See https://help.adjust.com/en/manage-your-data/export-your-raw-data/real-time-callbacks/setup for instructions on how to setup callbacks in the Adjust dashboard. If you already have real-time callbacks configured, you must add ours after yours, separated by a space (https://help.adjust.com/en/manage-your-data/export-your-raw-data/real-time-callbacks/setup#set-up-multiple-callbacks-for-the-same-in-app-event). If desired, you can filter the data Adjust is sending to us based on the value of Adjust placeholders (e.g., {tracker} or {network_name}) as described here: https://help.adjust.com/en/manage-your-data/export-your-raw-data/real-time-callbacks/filtering-your-data.

The following callback URL must be added to the session, install, purchase, and any other custom revenue events:

http://ingest.prod.tapheaven.com/event?event_type={activity_kind}&data_source=adjust&campaign_name={campaign_name}&advertising_id={idfa||gps_adid||fire_adid}&app_id={app_id}&app_name={app_name}&app_version={app_version}&attribution_device_id={adid}&city={city}&click_time={click_time}&connection_type={connection_type}&cost_amount={cost_amount}&cost_currency={cost_currency}&cost_type={cost_type}&country={country}&creative_name={creative_name}&currency={currency}&date={created_at}&deeplink={deeplink}&device_name={device_name}&device_type={device_type}&endpoint_target=cc&engagement_time={engagement_time}&event_id={event}&event_name={event_name}&idfa={idfa}&idfv={idfv}&impression_time={impression_time}&installed_at={installed_at}&ip_address={ip_address}&is_organic={is_organic}&isp={isp}&language={language}&network_name={network_name}&os_name={os_name}&os_version={os_version}&postal_code={postal_code}&reattributed_at={reattributed_at}&referrer={click_referer}&region={region}&original_revenue={revenue_float}&revenue_cents={revenue_usd_cents}&site_id={adgroup_name}&time_spent={time_spent}&tracking_enabled={tracking_enabled}&tracking_limited={tracking_limited}&user_agent={user_agent} 

Note: Do not copy the above URL by using your browser's Copy Link Address feature since it will encode the special characters, rendering it unusable. Instead, be sure to select the entire URL and copy the text itself.

AppsFlyer

To enable the AppsFlyer integration, simply add the Target Circle Command Center (Analytics Platform) partner integration to your integrated partners list in the AppsFlyer dashboard.

See https://support.appsflyer.com/hc/en-us/articles/207033816-Integrated-Partner-Configuration for more instructions.

Be sure to enable In-App Events postbacks and select "Events attributed to any partner or organic" as the Sending Option for Default Postbacks and In-App Events Postback.

For any revenue events, it is important to check the Send Revenue checkbox.

Historical Integrations

We can download historical data from marketing analytics partners, some attribution partners, or via custom integration to internal or external systems like business intelligence software, data warehouses, etc. you may also manually export historical data if it is a manageable size and send it to us for a one-time manual import.

Tenjin DataVault

We have an out-of-the-box integration with Tenjin’s DataVault product. Simply provide your DataVault connection information to TapHeaven and data will be imported on a one-time or scheduled ongoing basis.

Singular

Our integration with Singular is based on Singular shared reports. TapHeaven can download data on a one-time or scheduled ongoing basis. Note: There is a strong limitation with the Singular integration. Singular does not provide data on a publisher app level unless you are using Singular’s attribution product. For customers who use 3rd party attribution, data is only provided at the campaign level. This has significant impact to our ability to make granular and accurate predictions, but still increases accuracy and decreases the necessary live data collection period if the only other possible integration is a live one.

AppsFlyer

AppsFlyer can provide historical data as well as live data to us. The historical integration is based on the AppsFlyer Raw Data Reports, which we access through the Pull API. Simply provide your AppsFlyer API key to us and we will automatically download and import raw data for each of your apps. Note: Raw data export is an AppsFlyer Premium feature and may only be available for higher package tiers (see https://support.appsflyer.com/hc/en-us/articles/207034366-API-Policy). For all other customers, our team will aid you in working with AppsFlyer Support to manually obtain an aggregated export of your historical data.

Adjust

Adjust can provide historical data as well as live data to us. The historical integration is based on the Adjust KPI Service (https://docs.adjust.com/en/kpi-service/). Once you grant us partner access to your Adjust dashboard, we will be able use our own user token that only has the permissions that you specifically granted to our user account to automatically download and import aggregated data for each of your apps. Note: The Adjust KPI Service is only available for Adjust customers on the Business Pro package or above. For all other customers, our team will aid you in working with Adjust Support to manually obtain an aggregated export of your historical data.

Data Imports & Custom Integrations

We require the following data points when importing data manually or creating a custom integration with any data source. The data can be either pre-aggregated or raw. If the data is raw, we will perform the necessary aggregation.

Aggregated Data

Pre-aggregated data must be cohorted by acquired date. This data can be contained in a single file or many files. Any data marked as optional below is not absolutely essential to our campaign optimization functionality, but could cause certain metrics to be inaccurate or non-essential features to be unusable.

Any field in italics is optional.

Cohorted Metrics (aggregated by Acquired Date, Date, App, Channel, Campaign, Country, and Site)
a. Acquired Date
b. Date
c. App (Advertiser)
      i.   ID (iTunes Store ID or Google Play Store ID)
      ii.  Name
      iii. Platform (iOS/Android)
d. Channel Name
e. Campaign
      i.   ID (as assigned by the channel usually)
      ii.  Name
f. Country
g. Site (or publisher app or sub ID)
      i.   ID
      ii.  Name
h. Sessions
i. Active Users
j. Impressions
k. Clicks
l. Reported Installs (as reported by the channel)
m. Tracked Installs (as tracked by attribution)
n. Spend
o. Revenue (in USD cents)

An example cohorted metrics CSV file might look like:

Acquired Date,Date,App ID,App Name,Platform,Channel,Campaign ID,Campaign Name,Country,Site ID,Site Name,Sessions,Active Users,Revenue 

2018-01-01,2018-01-01,com.example.app,Example App,Android,AppLovin,12345,Tier 1 Campaign,US,99999,App ABC,50,20,5000

2018-01-01,2018-01-02,com.example.app,Example App,Android,AppLovin,12345,Tier 1 Campaign,US,99999,App ABC,35,14,6500

2018-01-02,2018-01-02,com.example.app,Example App,Android,Unity,17171,RON UK,UK,23232,App XYZ,10,2,500

Raw Data

If the data is raw, we can aggregated the data itself. Raw data must be sent in the form of events. There are 3 types of events required: opens, installs, and revenue. These can be sent as a single file or as separate files.

Any field in italics is optional, but may affect some non-essential functionality such as reports being incomplete.

Opens
a. Date/Time
b. App (Advertiser)
      i.   ID (iTunes Store ID or Google Play Store ID)
      ii.  Name
      iii. Platform (iOS/Android)
c. Channel Name
d. Campaign
      i.   ID (as assigned by the channel usually)
      ii.  Name
e. Country
f. Site (or publisher app or sub ID)
      i.   ID
      ii.  Name
g. IDFA (advertiser device ID)
h. IDFV (vendor device ID)

Installs
a. Date/Time
b. App (Advertiser)
      i.   ID (iTunes Store ID or Google Play Store ID)
      ii.  Name
      iii. Platform (iOS/Android)
c. Channel Name
d. Campaign
      i.   ID (as assigned by the channel usually)
      ii.  Name
e. Country
f. Site (or publisher app or sub ID)
      i.   ID
      ii.  Name
g. IDFA (advertiser device ID)
h. IDFV (vendor device ID)

Revenue
a. Date/Time
b. App (Advertiser)
      i.   ID (iTunes Store ID or Google Play Store ID)
      ii.  Name
      iii. Platform (iOS/Android)
c. Channel Name
d. Campaign
      i.   ID (as assigned by the channel usually)
      ii.  Name
e. Country
f. Site (or publisher app or sub ID)
      i.   ID
      ii.  Name
g. IDFA (advertiser device ID)
h. IDFV (vendor device ID)
i. Revenue (in USD cents)

Assuming the required events were combined into a single file by adding an “event type” field, an example raw data CSV file might look like:

Timestamp,Event Type,App ID,App Name,Platform,Channel,Campaign ID,Campaign Name,Country,Site ID,Site Name,IDFA,IDFV,Revenue 

2018-01-01 12:15:43.465,install,com.example.app,Example App,Android,AppLovin,12345,Tier 1 Campaign,US,99999,App ABC,38400000-8cf0-11bd-b23e-10b96e40000d,599F9C00-92DC-4B5C-9464-7971F01F8370,0

2018-01-01 12:15:44.173,open,com.example.app,Example App,Android,AppLovin,12345,Tier 1 Campaign,US,99999,App ABC,ebc82313-7134-4ffe-a707-48933fcb594d,837A1048-9302-4576-A036-7601955C09D1,0

2018-01-01 12:15:44.566,purchase,com.example.app,Example App,Android,AppLovin,12345,Tier 1 Campaign,US,99999,App ABC,ea368006-b107-4857-a4b2-956b3f219c46,CD7B7B25-BE13-4EBF-A710-55A7C6E99B86,599 

Did this answer your question?