When integrating the SDKs, it's often useful to use setDebug to verify that your app is able to communicate with Branch servers, and is receiving deep link data. However, our upstream systems don't register test events sent using setDebug, so events will not appear in Liveview or Analytics, nor will they fire postbacks. You should disable setDebug when looking at Liveview or testing postbacks.

Install and open events are automatically tracked using just the Branch SDK integration. However, to track custom events, such as registration or purchase, you will need to integrate them into your application.

Sending event metadata from your application

Please make sure that you setup and pass event metadata from the application to the ad partner. Follow up with your ad partner to get the list of required parameters.

Please reference the general V2 Event Tracking Guide. This will help ensure that you've integrated the right Branch events with the correct metadata.

Testing your events with Liveview

You can test your integration by going to our Liveview page. Set a filter with the event name to verify that the Branch SDK is recording each event.

Basic postbacks will automatically be activated for events like Install and Purchase when you enable your ad partner. You can then add additional postbacks, for example, if you wanted to add postbacks for custom events that are specific to your app like Account Created. You can also edit postbacks if there's additional data you really need to pass along to your ad partner.

Once you've enabled an integration it's time to create a tracking link.

First, select an ad format. For App Install or App Engagement campaigns you'll want to select the App Only format. For Search or Display campaigns where the user should go to web if they don't have the app, then you should select Cross-Platform Search or Cross-Platform Display. Product Links are for shopping or dynamic remarketing campaigns and will take you to create a Deep Linked Product Feed.

At this point you need to name your link. Select something that will make it easy to find if you need it later. Your Ad Format and Ad Partner should be selected already, but feel free to choose one if they aren't. It's important that you select the right Ad Partner for analytics later on. Click Configure Options to continue.

This is your chance to add deep link data and analytics tags. Analytics tags are important for later segmentation, so click the Analytics sub tab to add a Channel and Campaign value.

The Ads Analytics Page on the Branch dashboard shows the performance of your ad campaigns across both web and app. You can view performance over time, including purchase and other custom events.

Events are attributed using Branch's unified last-click attribution model. This means that Branch will attribute to the last click across channels, and across platforms.

For example, if a customer clicks a Branch email link, and then clicks an ad, installs the the app and purchases an item, Branch will attribute the install and the purchase to the last clicked ad link.

If the customer then goes on to purchase an item on web within the attribution window, Branch will also attribute the web purchase to the same ad link, connecting the web and app actions taken by a single user for a more accurate view of your marketing channels and customer behavior.

View-through attribution allows you to track installs, session starts and conversion events back to an ad impression, even if the ad was never clicked on.

Our view-through attribution logic is currently as follows for any given event:

If there's a click within a valid attribution window, give credit to the click.

If there's no click within a valid attribution window, give credit to the last impression that was within a valid attribution window.

Currently, view through attribution is supported for Self Attributing Networks (SANs), such as Facebook and Google, and non-SAN networks with server to server impression link support. To create a impression tracking link for non-SAN networks, simply create an ad link, and grab the impression link from the final step of link creation. SAN networks support VTA without any additional links.

Impression Link Formatting for VTA

For view through attribution, make sure the impression pixel returned by Branch's dashboard has %24s2s=true and an %24idfa or %24aaid macro. If you just want to count impressions, without attribution, these macros are not needed. Questions? Contact integrations@branch.io

To grant an Ad Partner access to your App's data, you need to add them as an agency in your Branch account. Doing so give's said ad partner access to your app; based on the permissions you define.

Go to Account Settings and click on the Agencies tab.

On the Agencies tab, click the Add New Agency button.

In the Add New Agency modal:

Select the Agency name from the drop-down.

Select the appropriate level of access.

Admin - Edit access to all settings and export access to all data.

Team Member - Edit access to channels and links, read-only access to app settings, and access to aggregate data.

Full Read - Read-only access to all settings and access to aggregate data.

Limited Read - Access to aggregate data only.

Custom - Customize settings and data access.

No Access - no dashboard access.

Click "Invite".

All Agency Admins on the agency account will receive an invitation email, and any of those Agency Admins can accept the invitation on behalf of their agency.

Granting agencies Sensitive Data & App-Level Settings permissions

Agencies with Sensitive Data & App-Level Settings permissions to an Org or App will have access to that Org/App's API keys, which can be used to access Branch's HTTP and Data Export APIs. Agency data filters (e.g. Only Show Agency-tagged Data) will not apply to data accessed via the Data Export API, so we recommend against granting agencies these permissions and providing them with API keys.

A modal will appear with Branch default events, as well as any commerce or custom events you've set up. Select an event, enter a postback URL if you're asked to, and click Save. This will be the event that triggers your new postback.

For advanced integrations, you may want to provide additional information in your postback that isn't there by default. You can edit postbacks by following our postback templating instructions, then clicking save. The postbacks in the Universal Ads interface follow the same syntax as Webhooks in Data Feeds. When the postback is saved, it is then validated - if you enter an invalid postback, you'll get an error at the top of your screen.

Reset Postbacks

We all make mistakes from time to time. If you need to reset your postbacks and your credentials, navigate to the Account Settings tab and look for the Reset all settings button. Be careful though! This will disable the ad partner, clear out all credentials and postbacks that you've set up, and return the ad partner to its basic configuration. You can then start afresh.

Branch Tracking links allow tracking many parameters about the performance of your ad campaigns and individual ads. Additional parameters for advanced analysis may be added to the link after the '?' or '&' character, to trace extra information.

You can edit your attribution windows at the ad network level, if your ad network requires it. This is recommended when you enable networks like Facebook and Google, who may have different windows for installs. With this, you can preserve your Account Level Attribution Windows, as well.

As of July 2017, link level attribution window setting is only available on standard Branch links. Special Branch links such as the ones used for Google's Universal App Campaign or Play Store links with Branch link id parameters are currently not supported.