Iterable Configuration

Prev Next

1328

Overview

Customer Engagement for the Modern Marketer. An integrated, cross-channel platform, built for marketers, trusted by engineers, designed with intelligence.

How does it work?

  1. User clicks on a link in an email from their mobile mail client (Gmail, Apple Mail, etc.)

  2. If the user has the app installed and the link has a corresponding screen in the app, the app will open and deep link the user to the right content.

    • Ex. Product detail page, category shopping page, etc.

  3. If the user does not have the app installed or the link only corresponds to a screen on the web, the user is routed to the website using their default mobile web browser.

    • Ex. Unsubscribe link, privacy policy, etc.

Before you begin

Required Roles

Branch's Branch Email requires the following roles involved in order to enable:

  • Developers

  • CRM/Email Team

  • Iterable Account Manager / Support Team

In order to enable Iterable, you must first:

  1. Have admin access to your Branch Dashboard.

  2. Have Branch's Engagement product enabled for your Branch Account.

  3. Implement the Branch SDK into your mobile app (iOS | Android)

  4. Review our Email Overview and Basic Email Integration Guide to understand the feature and our integrations.

  5. Obtain or set up your Iterable click tracking domain (CTD). Reach out to your Iterable account manager for assistance on this.

Enable Iterable

Connect Iterable Service in Branch

In the Branch Dashboard in Email → Manager tab, find Iterable and click Enable

1428

Input Click Tracking Domain

Click tracking domains allow you to track engagement on email opens and link clicks.

The Iterable integration requires you provide the following:

  • Click Tracking Domain - The domain you use with Iterable for links in emails

For additional help, please see Iterable's documentation.

Click Tracking Domain

  • Remove https:// when adding your click tracking domain.

  • Never add the same CTD to both your Live and Test Branch environments.

  • You can enable the integration with multiple CTDs, if needed, but you cannot add the same CTD to multiple Branch Dashboards or ESP integrations.

Configure your App

Add your Iterable CTD to your Associated Domains

For your iOS App, you must add the CTD to the Associated Domains. Additional details can be found here.

Return YES to continueUserActivity

Additionally, you will need to add the CTD to your iOS app's info.plist file. Additional details can be found here.

Point DNS CNAME to Branch

Please follow your web hosting provider’s instructions on how to configure your DNS CNAME.

Update the DNS CNAME and point it to thirdparty.bnc.lt. 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.

Important CNAME Info

  • The Branch dashboard must be enabled & reflect the CTD AFTER you add the CNAME.

  • If the CTD already has SSL setup, confirm if your security credentials allow a third party to submit a CSR on behalf of the domain.  If not, contact Branch's Support team, to coordinate providing an SSL certificate manually to Branch.

  • Once the CNAME is added, Branch auto-generates an SSL certificate and AASA file for your click tracking domain.  It may take up to an hour to resolve SSL errors once you change the CNAME.  During this time, link redirects on the click tracking domain will redirect to the Default URL you provided in the General Configuration section of your account.

  • If you are making this change to a live domain with active email click traffic, schedule the CNAME change to occur during an off-hours time with low click traffic.

Note: Branch and Iterable each host deep link files

After your CNAME points to Branch, Branch generates and hosts two files on your click tracking domain. The apple-app-site-association (AASA) file is at https://<click tracking domain>/.well-known/apple-app-site-association. The Android Digital Asset Links file is at https://<click tracking domain>/.well-known/assetlinks.json. iOS and Android read these files to verify your Universal Links and App Links. You do not create or upload them.

Iterable also asks you to upload an AASA file and an assetlinks.json file for each destination domain under Settings > Domains. Iterable uses the paths in those files only to decide which links it rewrites as deep links before it sends an email. They do not replace the files Branch hosts. To change which paths open your app, update the files in Iterable. Branch needs no change. For details, see Iterable's Configuring Deep Links for Email or SMS.

The Iterable integration includes automatic link recognition; this means you do not have to individually tag each link you use in your emails as you would with the legacy Iterable integration.

However, to use this feature for iOS apps, you must set up iOS Universal links in your Iterable account.

Analytics on the Branch Dashboard

To see how the email campaigns have performed and break it down into campaigns, it is very essential to tag your email links with the ~campaign tag. If your team uses UTM tags, Branch will also ingest the UTM_campaign tag. This will help dedupe the numbers and hence see the downstream events. You can add the campaign tag in any comparisons and filters in any Dashboard views.

After you enable the integration and configure your click tracking domain, you can pass deep link data on your email links so the Branch SDK routes users to specific in-app content. There are two ways to do this.

Add a Branch reserved key as a query parameter on the destination URL in your email template. For example:

https://www.example.com/?$deeplink_path=locations

Branch reads the query parameters on the destination URL and passes them to your app as deep link data. Keys that start with $, such as $deeplink_path, $ios_deeplink_path, and $android_deeplink_path, control in-app routing. Any other key is passed through as custom data that your app can read.

Note

Use this option when links in the same email need to route to different in-app destinations, for example separate buttons that point to different content. URL-encode every value, or the link will break.

Iterable can append the same query parameters to every link in a template. Use this option when one deep link value applies to the whole email, or when a merge tag resolves the value for each recipient.

  1. In Iterable, go to Content > Templates and open the template.

  2. In the "Details" area, select Edit.

  3. Select the Link parameters checkbox.

  4. Select Add link parameter.

  5. Enter a key and a value. For example, use the key $deeplink_path and the value locations. The value can be static text or a merge tag such as {{deeplinkPath}}. Iterable URL-encodes the value for you.

  6. Save the template.

For details, see Iterable's Link Parameters article.

Note

Link parameters add the same key and value to every link in the template. If buttons in the same template need different destinations, use Option 1 instead.