This guide will walk you through how to setup your campaigns with Madup using Branch Universal Ads and track ad conversions across every device, platform, and channel.
Branch Universal Ads provides everything you need for complete tracking.
The basic integration involves three parts:
- Integrating the SDKs and tracking in-app events
- Enabling the integration and selecting postbacks
- Creating tracking link
Integrating the SDKs and tracking in-app events¶
The Branch SDKs for iOS and Android allow you to get up and running quickly.
If you haven't already integrated Branch SDK into your application, please follow our integration guide to integrate Branch SDK into your application:
Limitations with setDebug and seeing data in Branch
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.
Track conversion events¶
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.
Enable the integration¶
- Visit the Ads page on the Branch dashboard.
- Select Partner Management from the sidebar.
- Search for your Universal Ads Partner
Provide account credentials¶
Enter any credentials that may be required, and click Save and Enable in the bottom right hand corner.
Please ask your ad partner where you can find your credentials.
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.
Create an ad link¶
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.
Set Analytics tags
It's easier to slice your data in our analytics platform if you properly assign analytics parameters to your link. Channels generally correspond to ad networks, and Campaigns correspond to marketing initiatives that you're launching. For example: Channel: "YouTube", Campaign: "Summer 2017 Shoe Discounts."
Links Created by Agency Users
When an Agency users saves an ad link/Journey/Quick Link, that ad link/Journey/Quick Link is associated with that Agency via a unique agency_id that is included as a key-value in deep linking setup.
Click Create Link Now, and you have your tracking link! Take this link and give it to your Ad Partner's Account Manager or paste it into the tracking section of your campaign yourself.
Server to server tracking links
If you just need a server to server tracking link just add
%24s2s=trueat the end of your link, so we know it's a server to server link.
View Your Data¶
The Ads Analytics Page on the Branch dashboard provides an interactive time series graph and table to view the performance of your Ad campaigns.
The table shows summary data on the performance of each Ad campaign. On the right top side of the table you can find a download button to retrieve the chart's content as a CSV file.
Interacting with your data
Breakdown and compare aspects of your Ad campaigns' performance by using the
Compare by + button to add a parameter to split the data displayed data by.
Then use the
and + button to refine the data displayed to gain deeper insight into the performance of your Ad campaigns.
View your data with People-Based Attribution¶
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.
You can read more about People-Based Attribution here.
View-Through Attribution (VTA) with Impression Pixels¶
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
%24aaid macro. If you just want to count impressions, without attribution, these macros are not needed. Questions? Contact email@example.com
Granting Ad Partner Access¶
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.
Each access level - as defined above - comes with predefined permissions which you can edit if you choose.
If you want to modify a predefined access level, click the pencil icon to (de)select the available options.
- Link-level Settings - Settings or features that can impact functionality for single links.
- Channel-level Settings - Settings or features that can impact functionality across a marketing channel.
- App-level Settings - Settings or features that can impact functionality app-wide.
- Aggregate Data - Summary data that contains no granular data.
- Sensitive Data - Data that can contain user-identifying, payment-related, or secret information.
Additional Data Filters¶
During the process of granting an agency access to your Branch account, you can also impose limitations around what data is available to the agency at any given time.
Filter to Only Show Data from Specific Ad Networks
When giving an ad partner access to your Branch account, please make sure you toggle the
Only Show Data from Specific Ad Networks to on and select the ad partner you are giving access to.
- Only Show Agency-tagged Data - When toggled on, agency users can only see events tagged with their Agency ID.
- Restrict Access to Revenue Data - When toggled on, agency users cannot view revenue data.
- Only Show Data from Specific Ad Networks - When toggled on, agency users can only view events from a specific list of ad networks.
- Only Show Data from Specific Locations - When toggled on, agency users can only view events that have taken place in a specific list of countries.
Once you've defined the appropriate levels of access for your Agency, you must Invite them to access the Branch dashboard. Only Organization Admins can invite an Agency to access the Branch dashboard.
Add more postbacks¶
Click the Add New Postback button at the bottom of the screen.
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.
Send All/Attributed events¶
If you want to send All Events, not only events attributed to the partner - you can change this setting using the toggle at the top of the screen.
Whitelist postback server IP addresses¶
If you need to whitelist the postback server IP addresses for security purposes, they are listed below:
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.
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.
Tracking Link Parameters¶
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.
Example Tracking Link with Additional Parameters
Example Branch link including additional parameters to pass Agency and Sub Publisher information:
The following parameters are available to use within the pre-generated tracking link:
|~ad_set_name||Ad set name|
|~ad_set_id||Ad set ID|
|~ad_name||Ad unit name|
|~ad_id||Ad unit ID|
Cost Data Availability
Cost data passed via these macros is available in exports but is not visible in the Branch dashboard.
Change attribution windows¶
Attribution windows can be specified at the global account level or on a per link basis with the link level window taking priority. See the below instructions for setup.
For customer experience and data accuracy, please do not set your deep linking window longer than the other attribution windows.
Account Level Attribution Windows¶
You can edit your attribution windows under Link Settings > Attribution Windows.
Learn more about account level attribution windows in People-Based Attribution.
Ad Network Attribution Windows¶
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.
Link Level Attribution Windows¶
To set attribution windows on a link level, you can append the following parameters to your generated Branch link.
Link Level Attribution Support for Standard Branch links
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.
Click the Reset All Settings button at the right top of the Account Settings tab..
A confirmation modal will appear, just click Yes, Reset Ad Partner to conform the Reset.
How do I debug a discrepancy?¶
Navigate to the Analytics page to see data.