Rob Gioia is a 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
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!
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:
…Branch’s suite of Data Export APIs can enable you to do all that, and more!
With all of these different options, it is important to understand which API is the right tool for the job.
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.
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.
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.
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.
To help you choose the right export API, ask yourself the following questions:
This flowchart will help you determine which Branch data export solution is the best fit for your organization’s needs.
The first thing to determine is whether you need log-level or 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.
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?”
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:
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.
To help you fuel cross-channel and cross-platform mobile growth, our team works hard to deliver the most current, relevant resources.