Branch will completely discontinue the functionality of its legacy Export API on in the future. Before then, we are advising all partners using this API to switch to our new Export API.

This document is a guide to help you understand the differences in structure between the legacy and current Export API. We will use two examples: a click and an install. In the legacy format, click & install were fairly different (read: inconsistent, messy). In the current Export API format, clicks and installs share the same format.

Note: please do not assume the position of the columns is fixed. Branch will occasionally add additional data to exports! Columns may also be re-ordered to to internal changes. Make sure your ETL jobs load data based on column name, not column position.

The following is a field-by-field guide for moving from the legacy Export API to the new Export API.

Clicks in our legacy system included events that wouldn't strictly be considered clicks, such as views of a deepview. In Branch's new analytics system, these are clearly separated into different topics.

This example is focused on a click as opposed to a deepview view, etc.

legacy “link_data” includes all fields (duplicating many of the fields already in the CSV). new “last_attributed_touch_data_custom_fields” only includes fields that have not already been split out. For example, “last_attributed_touch_data_custom_fields” does not include “~campaign”, since that was already split out as “last_attributed_touch_data_tilde_campaign”

legacy “session_referring_link_data” includes all fields (duplicating many of the fields already in the CSV). new “last_attributed_touch_data_custom_fields” only includes fields that have not already been split out. For example, “last_attributed_touch_data_custom_fields” does not include “~campaign”, since that was already split out as “last_attributed_touch_data_tilde_campaign”