Skip to content

Custom Exports

Overview

For ex-TUNE Clients Only

This feature is currently only available for ex-TUNE clients and replicates the TUNE endpoints available via https://api.mobileapptracking.com/v3/logs/advertisers/exports/.

The Branch Custom Exports find and queue log records that match your search criteria for export. You can do so either via the Custom Exports section in your Branch dashboard OR via API.

Custom exports endpoints are limited to a maximum of 2 million records each and can query up to 120 days prior to the date of export. If more records are required, please make multiple requests with smaller time intervals to pull the necessary data in "batches".

Authentication

Calls to the Custom Export API require an api_key query string parameter to be passed with each request. API Keys are generated on a per-user basis and are permanent.

Learn how to retrieve your API key (a.k.a. Access Token)

Organization Level Access Required

In order to retrieve or reset your API Key/Access Token, you must have access to the Organization level of the account. This functionality is not present at the app level.

Rate Limits

Rate limits depend on the endpoint you are making a request to.

For creating exports, the rate limit is 10 requests per minute and 25 requests per hour.

For checking the status of an export, the rate limit is 50 requests per minute and 1000 per hour.

Export Access

In order to access Custom Exports, a user will need to have both Sensitive Data and Export access.

image

For more details on how to give a user the required access, please follow Granting a User Export Access.

Third Party Access

Any user with access to an account’s API keys will be able to access Branch’s Custom Export API (and thus unfiltered, log-level data). As a result, we would recommend against providing third parties with the permissions required to view API keys during the invitation process.

Providing Agencies API Access

If you work with an agency that runs your advertising campaigns and want to give them access to export the subsequent data, you can provide them with access to the Custom Export API.

To provide an agency team member with access to the Custom Export API:

  1. In the left-hand navigation, under Setup & Testing, click on Account Settings.
  2. On the Account Settings page, click on the Agencies tab.
  3. Expand the agency in question, find the agency team member you want to give access to, hover on the button in the Actions column and click Edit.
  4. In the Edit Agency Team Member modal:
    1. Under Access Level, check the Export box.
    2. Under Permissions, check the Sensitive Data box.
  5. Optional: add data filters
    1. Under Data Filters, toggle any necessary data filters on/blue. Exported data will be filtered accordingly.
  6. Click Save.

image

Agency-Tagged Data

If you do not enable the Only Show Agency-Tagged Data data filter, the Agency Team Member will be able to export sensitive data associated with all of your campaigns, regardless if they are associated with them or not.

Available Topics to Export

The following log topics are available via the Custom Export API:

  • Clicks
  • Event Items
  • Events
  • Impressions
  • Installs
  • Opens

Info

Branch does not support exports of the infrequently-used update and postbacks TUNE topics.

IP Discrepancies

Geographic data, such as country and city, may not be available for a very small percentage of events where the IP cannot be resolved to a location.

Available Fields

TUNE field TUNE human readable
ad_network_id Ad Network ID
ad_network_name Ad Network Name
advertiser_id Advertiser ID
advertiser_name Advertiser Name
advertiser_opt_out Advertiser Opt Out
advertiser_ref_id Advertiser Ref ID
advertiser_sub_ad_name My Ad Name
advertiser_sub_ad_ref My Ad Ref
advertiser_sub_adgroup_name My Adgroup Name
advertiser_sub_adgroup_ref My Adgroup Ref
advertiser_sub_campaign_name My Campaign Name
advertiser_sub_campaign_ref My Campaign Ref
advertiser_sub_keyword_name My Keyword Name
advertiser_sub_keyword_ref My Keyword Ref
advertiser_sub_placement_name My Placement Name
advertiser_sub_placement_ref My Placement Ref
advertiser_sub_publisher_name My Publisher Name
advertiser_sub_publisher_ref My Publisher Ref
advertiser_sub_site_name My Site Name
advertiser_sub_site_ref My Site Ref
agency_id Agency ID
agency_name Agency Name
app_version App Version
attribute_sub1 Attribute Sub1
attribute_sub2 Attribute Sub2
attribute_sub3 Attribute Sub3
attribute_sub4 Attribute Sub4
attribute_sub5 Attribute Sub5
branch_app_id Branch App ID
click_created Click Created
country_code Country Code
country_name Country Name
created Created
currency_code Currency Code
device_brand Device Brand
device_carrier Device Carrier
device_ip Device IP
device_model Device Model
device_type Device Type
download_date Download Date
event_type Event Type
existing_user Existing User
google_ad_tracking Google Ad Tracking Enabled
google_aid Google Advertising ID
id ID
impression_created Impression Created
install_created Install Created
install_date Install Date
install_publisher_name Install Publisher Name
ios_ad_tracking iOS Ad Tracking Enabled
ios_ifa iOS IDFA
ios_ifv iOS IDFV
ip IP
is_view_through Is View Through
language Language
latitude Latitude
longitude Longitude
mat_id Mat ID
metro_code Metro Code
os_id OS ID
os_jailbroke Jailbroken
os_version OS Version
package_name Package Name
platform_aid Platform AID
postal_code Postal Code
publisher_adgroup_id Publisher Adgroup ID
publisher_click_id Publisher Click ID
publisher_id Publisher ID
publisher_name Publisher Name
publisher_ref_id Publisher Ref ID
publisher_sub_ad_id Publisher Sub Ad ID
publisher_sub_ad_name Publisher Sub Ad Name
publisher_sub_ad_ref Publisher Sub Ad Ref
publisher_sub_adgroup_name Publisher Sub Adgroup Name
publisher_sub_adgroup_ref Publisher Sub Adgroup Ref
publisher_sub_campaign_id Publisher Sub Campaign ID
publisher_sub_campaign_name Publisher Sub Campaign Name
publisher_sub_campaign_ref Publisher Sub Campaign Ref
publisher_sub_channel Publisher Sub Channel
publisher_sub_feature Publisher Sub Feature
publisher_sub_keyword_id Publisher Sub Keyword ID
publisher_sub_keyword_name Publisher Sub Keyword Name
publisher_sub_keyword_ref Publisher Sub Keyword Ref
publisher_sub_placement_id Publisher Sub Placement ID
publisher_sub_placement_name Publisher Sub Placement Name
publisher_sub_placement_ref Publisher Sub Placement Ref
publisher_sub_publisher_id Publisher Sub Publisher ID
publisher_sub_publisher_name Publisher Sub Publisher Name
publisher_sub_publisher_ref Publisher Sub Publisher Ref
publisher_sub_site_name Publisher Sub Site Name
publisher_sub1 Publisher Sub1
publisher_sub2 Publisher Sub2
publisher_sub3 Publisher Sub3
publisher_sub4 Publisher Sub4
publisher_sub5 Publisher Sub5
publisher_sub_stage Publisher Sub Stage
publisher_sub_tags Publisher Sub Tags
region_name Region Name
revenue Revenue
revenue_usd Revenue USD
sdk SDK
sdk_version SDK Version
search_string Search String
session_datetime Session Datetime
site_event_id Site Event ID
site_event_name Site Event Name
site_event_type Site Event Type
site_id Site ID
site_name Site Name
stat_click_id Click ID
stat_impression_id Impression ID
transaction_id Transaction ID
user_agent User Agent
user_id User ID
windows_aid Windows Advertising ID
wurfl_brand_name Brand Name
wurfl_device_os Device OS
wurfl_device_os_version Device OS Version
wurfl_model_name Model Name
branch_app_id Branch App ID

Discontinued Fields

Some fields have very limited value to our customers and as such have been discontinued. Discontinued fields will not be available via the Custom Export API. Please work with your CSM or our Support team if you have questions or concerns.

Field Value Changes

When exporting the following fields, you will notice a difference between the value TUNE provides vs the value Branch provides.

  • Country Name
    • TUNE: Korea - South
    • Branch: Republic of Korea
  • Region Name
    • TUNE: seoul teugbyeoisi
    • Branch: Seoul
  • City Code
    • TUNE: 2261 (Seoul)
    • Branch: 1835848 (Seoul)
  • Language
    • TUNE: ko, ko-KR, en-KR
    • Branch: KO

Related objects no longer use periods ( . ) to access the properties on the object. Rather, field names use underscores ( _ ) only.

For example, site_event.id will now be exported as site_event_id.

Accessing via Branch Dashboard

TUNE Migrated Clients Only

This feature is currently only available to TUNE migrated clients, with plans to open this feature to all Branch clients in Q4.

Rather than accessing the Custom Export API directly, you can use the Custom Exports section in your Branch dashboard to request the appropriate data via CSVs.

To request an export:

  1. In the left-hand navigation, under the Setup & Testing section, click Data Import & Export, then click on Exports.
  2. On the Custom Exports page, provide the following:
    • The appropriate Date Range.
    • The Topic type the export should include.
    • The Columns of fields you want included.
    • Any additional Filters you want included.
    • The Download Type for the export.

image

Upon request, you will receive a confirmation email verifying the details of your request. Once we finish processing your export, you will receive another email that includes as CSV attachment. Please keep in mind larger exports require more processing time.

You can also view any requested export in the Custom Exports Created table which includes:

  • Date Created
  • Topic / Date Range
  • Row Count
  • Format
  • Status

Accessing via API

Building the Export Request

Find and queue all records that match search criteria for export; returns a “handle” to be used in the download export request.

Parameter Name Type Description
advertiser_id String Your TUNE Advertiser ID; REQUIRED
api_key String Your API Key; REQUIRED
start_date Date The beginning datetime for the requested results, provided in ISO-8601 format including Hours, Minutes, Seconds and Milliseconds. ; REQUIRED

Dates without offsets (i.e. a timezone) default to the value provided for the timezone parameter. If the timezone parameter is not specified, the dates timezone defaults to UTC. Date must be within the last 120 days. Example: 2016-01-01T00:00:00Z

end_date Date The end datetime for the requested results, provided in ISO-8601 format including Hours, Minutes, Seconds and Milliseconds. ; REQUIRED

Dates without offsets (i.e. a timezone) default to the value provided for the timezone parameter. If the timezone parameter is not specified, the dates timezone defaults to UTC. Example: 2016-01-01T23:59:59:999Z

timezone Timezone Timezone for results. Accepts tz database strings like ‘America/Los_Angeles’.

Optional parameter; results are returned in UTC if not provided.

filter_cthulhu Filter Filter by fields and boolean operators against fields of the LogInstalls model; must be URI encoded and JSON parsed. Example: &filter_cthulhu=%5B%22and%22%2C%5B%22eq%22%2C%22mat_id%22%2C%223bc15517-92d5-4b7f-9837-e9a30d6fb9b8%22%5D%2C%5B%22eq%22%2C%22site_event_id%22%2C1844998705%5D%5D
fields Comma Separated List List of comma-separated fields from the LogInstalls model desired in results. Defaults to display all fields; REQUIRED
limit Integer Limit the number of items returned per request. Maximum allowed value is 2 million. If more than 2 million records are required, please make multiple requests with smaller time intervals to pull the data needed in “batches”; REQUIRED
response_format Nullable String Format of the response; can be either JSON or CSV. If not selected, defaults to CSV.

Sample Export Request

https://api.mobileapptracking.com/v3/logs/advertisers/ADVERTISER_ID/exports/installs?api_key=REMOVED&start_date=2019-01-14T00:00:00&end_date=2019-01-15T00:00:00&timezone=UTC&fields=site.name,site.id,device_ip&limit=100&response_format=csv

Sample Export Response

{"handle": "0818e641-cd5c-4498-8a17-77152689bb94", "export_job_status_url": "http://api.mobileapptracking.com/v3/logs/advertisers/ADVERTISER_ID/exports/0818e641-cd5c-4498-8a17-77152689bb94?api_key=REMOVED", "branch_url": "http://tlnk.branch.io/v3/logs/advertisers/ADVERTISER_ID/exports/installs?start_date=2019-01-14T00%3A00%3A00%2B00%3A00&end_date=2019-01-15T00%3A00%3A00%2B00%3A00&fields=site.name%2Csite.id%2Cdevice_ip&filter_cthulhu=%5B%22in%22%2C%20%22advertiser_id%22%2C%20ADVERTISER_ID%5D&response_format=csv&timezone=UTC&limit=100&api_key=REMOVED"}

Building the Download Export Request

Finds and exports requested queue (by handle) and provides URL location for download.

Parameter Name Type Description
advertiser_id String Your TUNE Advertiser ID; REQUIRED
api_key String Your API Key; REQUIRED
handle String The ID returned by the log export queue. REQUIRED

Sample Download Export Request

http://api.mobileapptracking.com/v3/logs/advertisers/ADVERTISER_ID/exports/0818e641-cd5c-4498-8a17-77152689bb94?api_key=REMOVED

Sample Download Export Response

{"report_schedule_id": null, "lines_exported": null, "context": "", "url": "https://branch-exports-web.s3.amazonaws.com/ADVERTISER_ID-installs-2019-01-14-2019-01-15-0818e641-cd5c-4498-8a17-77152689bb94-wxGQxyHo0Djw2ktt.csv?Signature=5XN9MRMftyQ1XafNSTW4STMpT9U%3D&AWSAccessKeyId=AKIAI7A6NRHGMRDK2LIQ&Expires=1548295211", "percent_complete": 100, "status": "complete", "branch_url": "http://tlnk.branch.io/v3/logs/advertisers/ADVERTISER_ID/exports/0818e641-cd5c-4498-8a17-77152689bb94?api_key=REMOVED"}