Skip to content



This guide will walk you through how to integrate your email service provider with Branch. If you have not completed the getting started steps, please follow this documentation first.

Configure your ESP

To open the app directly on iOS 9.2+, you must configure your email integration and your app to support Universal Links in emails.

Tell us your click tracking domain

First create a new custom tracking domain. In order to add and verify a custom click tracking domain: 1. Navigate to Account 2. Click to open a specific account 3. Edit Account Settings 4. Enter the subdomain you've selected in the Tracking Domain box and Save the change

Next, create a new CNAME record in your DNS zone file and set the host to your tracking sub-domain with the value: "" For more information on how to setup tracking domain please visit MessageGears' documentation.

Once you have a custom tracking domain, enter it on the Configure ESP step of email onboarding in the Branch dashboard. When you click Done, an AASA file - required for Universal Links - specific to that domain will be generated.

Configure your app for your click tracking domain


In this prompt, enter the email of someone on your team who is qualified to modify your iOS app, and then click Send. They will complete the technical setup steps below.

Technical setup

The following app changes ensure that your email integration supports Universal Links. You will need access to your app code to make these changes.

You should have received an email from Branch with your ESP's click tracking domain. If not, likely you or someone on your team still needs to complete the Deep Linked Email setup flow.

How does it work?

Apple recognizes the click tracking domain as a Universal Link, and opens the app immediately without the browser opening. Once the app has opened, Branch will collect the referring URL that opened the app (at this time, it will be the click tracking url). Inside the app, Branch will robotically “click” the link, registering the click with the ESP, and returning the Branch link information to the Branch SDK inside the app. This information is then used to deep link the user to the correct in-app content. See the Support section for more information.

Set up your click tracking domain

Create a CNAME for your click tracking domain and point it to Once the CNAME record is added, please allow up to an hour for Branch to generate SSL and AASA files for your click tracking domain.

Add your click tracking domain to your Associated Domains

To enable Universal Links on your click tracking domain, you'll need to add the click tracking domain to your Associated Domains entitlement.

  1. In Xcode, go to the Capabilities tab of your project file.
  2. Scroll down and enable Associated Domains if it is not already enabled.


  3. Copy your click tracking domain from the email you received from Branch, or retrieve it from your ESP's settings.

  4. In the Domains section, click the + icon and add your click tracking domain. For example, if your click tracking domain is, add an entry for


Having trouble or new to Universal Links?

Follow these instructions for more details on enabling Universal Links in the Branch dashboard and in Xcode.

Validate and test


The last step of the Deep Linked Email setup flow validates whether you have completed all necessary steps and whether an engineer on your team has completed the technical setup steps. You will also see recommendations for how to improve your email integration.


Once you’ve completed the one time setup steps, it’s time to send your first email.

This guide will identify which web links you'd like to open the app and deep link, as well as convert them to Branch links.

For the email links that you would like to deep link to content, add $deep_link=true to the URL as a query parameter, for example:

<a href="$deep_link=true" >Link to your app!</a>

This will ensure that your links are converted to Branch links that will open the app on iOS and Android, with full tracking and attribution.

With your email service provider, all email links will open the app by default. In order for your app to know that the email link should bounce to web after opening the app, add $web_only=true to your links as a query parameter, for example:

<a href="$web_only=true" >Link to your app!</a>

Handle links for web-only content

Make sure you have completed the technical setup steps to handle web-only links within your app.

This will also ensure that your links are converted to Branch links that will open the app on Android as well, with full tracking and attribution.

What happens to your links behind the scenes?

This is what a link looks like within your email template:

When a user clicks your link, Branch processes the link and converts it to something like this:

Where is your Branch domain.

The conversion to Branch links will only work when your links are wrapped in your click tracking domain. To test links without wrapping, please generate a test link on step 3 of email onboarding, also accessible by clicking the gear icon for your ESP on the email page.


More information

Curious about how email works and more FAQ? Visit our general email support page.