Branch offers customers an industry-leading selection of API options, including Custom Export API, Scheduled Log Exports API, Query API, Aggregate API, Cross-Events Export API, Webhooks, and Data Integrations. These options programmatically export data and allow brands to gain insight into both user acquisition and reengagement within their apps.
But which API should you use for each purpose?
Who should use Branch’s data export APIs?
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.
Custom Export API
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 to only display events that are meaningful to your analysis. This makes this API useful for exporting data from the last seven days. There is also a corresponding UI on the Branch Dashboard, eliminating the need for query writing by hand. There is also a Pre-Configured Exports option which provides pre-built export configurations pertaining to the most common use cases. Since this data is log-level, personal identifiable information (PII) fields will be hashed after seven days.
Scheduled Log Exports API
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 or GCP.
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
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 customer data platforms (CDPs) like Segment and mParticle.
Webhooks
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 that Webhooks do require some custom setup in the Branch Dashboard with freemarker syntax.
Query API
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. It’s also crucial to understand that utilizing this API for third-party access, like agencies, relinquishes control over the data they may retrieve.
Aggregate API
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.
Cross-Events Export API
The Cross-Events Export API is the latest addition to Branch’s suite of data export APIs. This API allows you to export aggregate data without any limit to the number of dimensions, from multiple data sources, and returns an unlimited number of rows. This can be done with only one query to multiple datasets, eliminating the need for manual and time-consuming work, while also maintaining data integrity across sources. It also takes into account user access permission levels, so agencies and other limited-access users can securely access only the data they need.
Daily Export API
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 7:00 pm UTC. The Branch Dashboard also allows you to perform a daily export without any coding. One caveat to consider is that all fields for the event will be exported. This means when analyzing data, you may export columns that aren’t relevant to your reports.
Finally, it is worth noting that when you export Branch data, you can also export Unified Analytics that were previously only available on the Branch dashboard. Unified Analytics are campaign data from all attribution methods, SKAdNetwork (SKAN), IDFA, IDFV, Apple Search Ads, and Android are merged in a single view after removing duplicate SKAN data. This now allows you to leverage the value of your holistic Branch data across sources.
Choosing the right API for the job
To 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.
First, determine 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. This like a spreadsheet of raw data that has been processed into a pivot table.
Aggregate data
Take into account whether you need to provide agencies or other third parties with a means to export your data while ensuring they only access data aligned with their user permissions. If so, assess whether you need to retrieve substantial data volumes from multiple sources. If so, you’ll want to use the Cross-Events Export API. Else, opt for 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, choose the Query API.
Log-level data
When aiming to export log-level data, there are additional factors to ponder. Consider whether you have a dedicated analytics provider or an in-house data warehouse.
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 potentially include a few lines of code in your app. Note that integration requirements may vary slightly depending on the partner.
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 the frequency of data delivery required:
- If real-time data is your priority (e.g., triggering events on the server side), Webhooks are the ideal solution for you.
- For one-time data exports, utilize the Custom Export API.
- If you need exports on a recurring basis, Branch’s Scheduled Log Exports API is the right choice.
Want to learn more about exporting data from Branch?
Explore our free e-learning courses on Branch University, featuring dedicated modules on exporting data from Branch: