Which Branch Data Export Solution Should I Use?

Rob Gioia

Senior Solutions Architect

Rob Gioia is a Senior Solutions Architect at Branch. He helps companies get up and running using Branch's suite of SDKs and products. Prior to Branch he worked as a cross-platform mobile applications developer for several years, and uses his mobile development experience to guide clients through using best practices and elegant coding solutions.

Apr 21, 2022

Share

Branch offers customers an industry-leading selection of API options. These options programmatically export data and allow brands to gain insight into both user acquisition and reengagement within their apps. Custom Export API, Scheduled Log Exports API, Query API, Aggregate API, Webhooks, and Data Integrations are all available.

But which API should you use for each purpose? With so many options available, this can be a legitimate question!

Who should use Branch’s Data Export APIs?

Before we discuss which export API to use, we should first ask a key question. Why would we want to use Branch’s data exports in the first place? Branch provides customers with a variety of ways to programmatically export data. This helps you gain insight into your app’s user engagement. If you:

  • are looking to grow the user base of your mobile app,
  • want deeper insight into what works well with your users, and
  • want to view Branch data outside of the Branch dashboard

…Branch’s suite of Data Export APIs can enable you to do all that, and more!

An Introduction to Branch’s Suite of Data Export Products

With all of these different options, it is important to understand which API is the right tool for the job.

Alt text: table comparing Branch data export options

The Custom Export API allows you to export device-level data and gives you the ability to select exactly which fields you want. You can also filter the data so you only see the events that are meaningful to your analysis. This makes this API useful if you want to export data from within the last 7 days. There is a corresponding UI on the dashboard that you can use without needing to get deep in the technical weeds of writing a query by hand. We are also working on a Saved Views feature. It will provide pre-built export configurations pertaining to the most common use cases. Since this data is log-level, PII (personal identifiable information) fields will be hashed after 7 days.

Custom Export API dashboard UI
Custom Export API dashboard UI

The Scheduled Log Exports API allows you to set up a recurring export of select device-level data. You can specify the cadence to be hourly or daily, depending on how often you want the data. Furthermore, you can get the data automatically sent directly from Branch’s servers to your cloud data service, like an AWS s3 bucket. 

Pro tip: When first getting a feel for querying Branch data, we recommend using the Custom Export API. Once you have a query you like and want to run recurrently, you can use the Scheduled Log Exports API to easily set up a subscription. 


Data Integrations allow you to leverage our existing integrations with a myriad of data and analytics partners like Adobe Analytics, Google Analytics, Segment, Amplitude, Braze, and many more. By enabling these integrations on the dashboard and/or adding a few snippets of code to your app, you can have Branch events automatically forwarded to your chosen analytics platform. And, if you want to import events from a third-party source into Branch, you can leverage our integrations with CDPs (customer data platforms) like Segment and mParticle. 

Data Integrations dashboard UI
Data Integrations dashboard UI

Webhooks are useful if you need data from Branch in real time. For example, maybe you want to trigger an event on your server as soon as it is processed by Branch. Note: Webhooks do require some custom setup in the Branch dashboard with freemarker syntax. 

Webhooks dashboard UI
Webhooks dashboard UI

The Query API is used to export select campaign-level data and can export data as far back as two years. If you want to gain insight into cost data from Self Attributing Networks, you can do so using this API. It is also worth noting that this API exports data in real time. This means you get instant results after running a query. However, it’s important to note that if you use this API and want to give exporting access to a third party, like an agency, you won’t be able to control what data it might access with this API.


The Aggregate API is the latest addition to Branch’s suite of data export APIs. The Aggregate API allows limited-access users, like agencies, to programmatically export aggregate data filtered at a user-access level. This API can be very useful if you want to provide third parties (such as agencies and ad partners) with your Facebook campaign performance insights, since the deprecation of Facebook’s Advanced Mobile Measurement (AMM) program prevents log-level data exportation.

Note: An earlier version of the Aggregate API was known as the Cohort API. There is also a simplified version available through the Branch dashboard. But to unlock the true power of this API, you will want to make queries programmatically.


Finally, some customers may be familiar with Branch’s Daily Export API. This is an older API with less flexibility than the options discussed above (the Custom Export API is a much more sophisticated alternative), but we mention it here for completeness. To export data from a given day, you will need to wait until the following day at 7pm UTC. A feature on the Branch dashboard also allows you to perform a daily export using the dashboard UI (user interface) without requiring any coding. However, one caveat is that all fields for the event will be exported. So, when performing data analysis, you could potentially be outputting columns in your reports that aren’t of any interest.

Daily Export API dashboard UI
Daily Export API dashboard UI

Choosing the right API for the job

To help you choose the right export API, ask yourself the following questions:

  • Do you need aggregate or log-level data?
  • Does the data go to a dedicated analytics provider or an internal data warehouse?
  • Do you need to give third parties, like agencies, a secure way to export your data?
  • Do you want the data to be exported on a recurring basis?
  • How often do you need the data?
  • How far back in time are you looking to export?
  • How many rows of data do you want to export?

This flowchart will help you determine which Branch data export solution is the best fit for your organization’s needs. 

Flow chart showing Branch data export options

The first thing to determine is whether you need log-level or aggregate data.

  • Log-level data includes all metadata and user-level data for each event. You can think of this like a spreadsheet of raw event data.
  • Aggregate data is summarized to show the events and the number of times each event occurred. This includes breakdowns across a subset of available dimensions. You can think of this like a spreadsheet of raw data that has been processed into a pivot table.

Aggregate data

Let’s start by going down the right side of the above diagram. It shows the use cases where you will want to export aggregate data. 

Consider if you need to give agencies or other third parties a way to export your data and ensure they will only be able to see the data that corresponds with their user permissions. If that is the case, you will want to use the Aggregate API. If you want to export the data in real-time or fetch data exactly as it is displayed in your Branch dashboard, you’ll want to use the Query API.

Log-level data

If you want to export log-level data, there are a few additional aspects to consider. At this point, the question to ask yourself is, “Do I have a dedicated analytics provider or an in-house data warehouse?” 

Flow chart showing Branch log level data export options

If you have an analytics provider that’s partnered with Branch, then you can set up a Data Integration on the Branch dashboard. Simply enter a few credentials and possibly add a few lines of code to the app. Just keep in mind that the requirements for a data integration could vary slightly based on the partner you want to integrate with. 

If Branch does not have an integration with your analytics provider, or you are sending the data to an internal system, the next step is to consider what frequency of data delivery you require:

  • If you want the data in real time (for example, if you would like to trigger an event on the server side), then Webhooks are your solution.
  • If you want to export the data only once, then leverage the Custom Export API.
  • If you need exports on a recurring basis, then Branch’s Scheduled Log Exports API is the right choice.
Flow chart showing Branch log level data export options

Want to learn more about exporting data from Branch?

Check out our free e-learning courses on Branch University This includes the following courses dedicated to exporting data from Branch:

If you have any troubleshooting questions when it comes to setting up a data export, please contact your customer success manager or get in touch with our Support team.

Rob Gioia

Senior Solutions Architect

Rob Gioia is a Senior Solutions Architect at Branch. He helps companies get up and running using Branch’s suite of SDKs and products. Prior to Branch he worked as a cross-platform mobile applications developer for several years, and uses his mobile development experience to guide clients through using best practices and elegant coding solutions.

Apr 21, 2022

Share

Get the latest mobile knowledge

To help you fuel cross-channel and cross-platform mobile growth, our team works hard to deliver the most current, relevant resources.

You are subscribed! 🚀