Oracle Responsys

Connect Branch and Responsys to enable a seamless email-to-app linking experience.



设计并启动与内容相关的数字营销活动,以覆盖每个消费者。Oracle Responsys 可帮助您管理,个性化和协调所有渠道之间的互动,以在重要的时刻提供及时,有用的消息,而无需编写代码,进行复杂的技术培训或依靠其他专家。


  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.



Required Roles

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

  • Developers
  • CRM/Email Team
  • Oracle Responsys Account Manager / Support Team

In order to enable Responsys, you need to have completed the following:

  1. Admin access to your Branch Dashboard.
  2. Enabled Universal Email for your Branch account.
  3. Implemented the Branch SDK into your mobile app (iOS | Android)
  4. Obtained or set up your Responsys click tracking domain (CTD). Reach out to your Responsys account manager for assistance on this.

Enable Oracle Responsys

Connect Oracle Responsys Service in Branch

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


Input Click Tracking Domain


Oracle Responsys 集成要求您提供以下内容:

  • 点击追踪域-与 Oracle Responsys 一起用于电子邮件链接的域

Additionally, Responsys hosts the AASA file for your click tracking domain. You can provide your Responsys account manager's email for Branch to send the AASA file.


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 Responsys CTD to your Associated Domains

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

添加处理 Web-Only 内容应用代码

If you have links to content that exist only on the web and not in the app (for example, a temporary marketing webpage that isn't in the app), then this code snippet will ensure all links that have not had deep linking script applied will open in a browser. 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

请按照网络托管提供商的说明进行操作,用以配置 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.

重要的 CNAME 信息

  • 添加 CNAME 之前,必须启用 Branch 操作后台 (Dashboard) 并反映 CTD。
  • 如果 CTD 已经有 SSL 设置,请确认您的安全凭据是否允许第三方代表域提交 CSR。如果不是,请与 Branch 的支持团队联系,以协调向 Branch 手动提供 SSL 证书。
  • 添加 CNAME 之后,Branch 会为您的点击追踪域自动生成 SSL 证书和 AASA 文件。更改 CNAME 之后,最多可能需要一个小时才能解决 SSL 错误。在这段时间内,点击追踪域上的链接重定向将重定向至帐户的常规配置部分中提供的默认 URL
  • 如果您要对具有活动电子邮件点击流量的实时域进行此更改,请将 CNAME 更改安排在点击流量较低的非工作时间内进行。

Add Branch Links to your Emails

Before you start sending your email campaigns, you need to determine what flow you want the user to experience and flag your email links accordingly.

您可以通过几种不同的方法来创建与 Universal Email(通用电子邮件)+ Responsys 兼容的 Branch Links。您将需要用这些 URL 替换模板中的 Web URL。要创建 Branch Links,您可以:

  1. 使用 Branch Responsys SDK
  2. 使常规 Branch Link 与电子邮件兼容
  3. 通过 API 创建电子邮件链接,而无需更改电子邮件模板
  4. 将电子邮件中的所有 Web 链接转换为深度链接

Responsys uses the shortcode e_rs for links in emails - please use this in place of e_xx in the guide below.

1.使用 Branch Responsys SDK

在此步骤中,我们将上传一个 SDK,该 SDK 可让您轻松在电子邮件中创建深度链接。请记住,这将需要您启用 EMD(电子邮件设计器)的帐户。

  1. Work with your Branch account manager to modify the following code snippet, replacing DOMAIN-HERE with your Branch base domain:
<#macro deeplink link_to_be_wrapped><#assign branch_base_url="https://DOMAIN-HERE/3p?%243p=e_rs"><#assign final_link=branch_base_url + "&%24original_url=" + link_to_be_wrapped?url("ISO-8859-1")><a href="${final_link}"><#nested></a></#macro> <#macro tracked_deeplink link_to_be_wrapped><#assign branch_base_url="https://DOMAIN-HERE/3p?%243p=e_rs"><#assign deeplink=branch_base_url + "&%24original_url=" + link_to_be_wrapped?url("ISO-8859-1")></#macro>
  1. 登录到您的 Responsys 帐户。

  2. 在 Responsys 操作后台 (Dashboard)中,打开您的内容 Library。您也可以通过主页上的“快捷方式”屏幕来访问它:


  3. Once you are in the Content Manager, you’ll see a list of folders where content is stored. Under All Content, create a new folder named Branch_SDK


  4. 选择 Branch_SDK 文件夹,然后点击 Create Document


  5. 在“创建文档”窗口中:

    • Enter branch-sdk in the “Document Name” field.

    • Content Box ,删除所有文本。

    • 将您复制的代码段粘贴到 1

    • 点击保存。




配置您的 Responsys 电子邮件模板

此代码称为 "Branch script" 此脚本会将您的 Web URL 转化为深度链接。

Responsys 集成要求您在两个位置添加电子邮件模板代码。

  1. 在电子邮件模板的顶部
  2. 在超链接之前

Copy the following snippet, and using the “Source” view, paste the snippet directly under the <html> tag for every template you plan to add deep linking to.

<#include "cms://contentlibrary/Branch_SDK/branch-sdk.htm">

配置 Responsys 链接表

For the Branch SDK to generate Branch links in the email or the 3P links while redirections, the Link Tracking table for the email template should contain the following two LINK NAME with the ${deeplink} as the LINK URL.


要创建追踪链接,请确保将 ‘Track Link’ 设置为 ON 。追踪链接将在 Responsys Click Tracking Domain 下生成,然后重定向到 Branch 3p 链接(该链接作为基本 URL 添加到 Branch_SDK.htm 文件中。


Wherever you are using <a> tags in your email templates, replace those with <@deeplink> tags, or add <@tracked_deeplink /> for web URLs that you would like to deep link.


<a href="https://branch.io">Example link</a>

<@deeplink "https://branch.io">Example link</@deeplink>

启用链接追踪后,您仍然可以在电子邮件中使用 Branch Link。

<a href="https://branch.io/product/1234">Example link</a>

<@tracked_deeplink "https://branch.io/product/1234" /> <a href="${clickthrough('TEST_TRACKED_DEEPLINK' , 'deeplink=' + deeplink)}">Example link</a>



2. 使常规 Branch Link 与电子邮件兼容

Be sure to add "$3p":"e_xx" to the deep link data of any links you use in email to ensure Universal Link and click tracking works as expected.

3. 通过 API 创建电子邮件链接,而无需更改电子邮件模板

To create email links via API, please use the instructions on how to create links via API, but include the following key value pairs in your call:

  1. "$3p":"e_xx" 这是 Universal Link 和点击追踪功能所必需的。
  2. "$original_url":"{{your web url URI encoded}}" For each piece of content, include a URI encoded version of your content's web URL. You can also add deep link data as query parameters on that web URL. This ensures accurate Content Analytics reporting.
    Example: "$original_url":"https%3A%2F%2Fshop.com%2Fshoes%2Fbrown-shoes%3Fmy_key%3Dmy_value%26campaign%3Dshoe_discounts"


我们提供了一种轻松将 web link 转化为 Branch Link 的方法。该示例采用 html email(作为 string)并将脚本应用于它。


var crypto = require('crypto');
module.exports = function(original_url, branch_base_url) {
    if (!original_url) { return new Error('Missing original_url'); }
    if (typeof original_url != 'string') { return new Error('Invalid original_url'); }
    if (!branch_base_url) { return new Error('Missing branch_base_url, should be similar to https://bnc.lt/abcd/3p?%243p=e_xx'); }
    if (typeof branch_base_url != 'string') { return new Error('Invalid branch_base_url'); }

    return branch_base_url + '&%24original_url=' + encodeURIComponent(original_url);

这是链接前后的外观(后者是 Branch 深度链接)。

  1. 之前: http://example.com/?foo=bar
  2. 之后: https://vza3.app.link/3p?%243p=e_xx&%24original_url=http%3A%2F%2Fexample.com%2F%3Ffoo%3Dbar


处理 web-only 内容的链接

In some cases you may have content on web that isn’t in the app - for example, a temporary Mother’s Day promotion or an unsubscribe button. You can designate links to only open on web if you use the Responsys Link Table feature. There are three URL fields in the link table when creating a new link: LINK_URLIOS_LINK_URL, and ANDROID_LINK_URL. If you only enter the link in the LINK_URL field, the path of the final click-wrapped url will begin with /pub/cc. However, if you also input the same link in IOS_LINK_URL, then the path of the final click-wrapped url will begin with pub/acc. You should set up your AASA file to whitelist only the path /pub/acc* in order to not launch the app from web-only links.





If you include style tags within your <a> tags, you’ll need to separate those out into a separate div inside the <@deeplink> tag. If you use tracked links with <a> tags, those will work fine.

Style 标签中的样式标签如下:


<a href="https://branch.io/" style="color:#000001; text-decoration:none;">Branch Website</a>


<@deeplink "https://branch.io/"><div style="color:#000001; text-decoration:none;">Branch Website</div></@deeplink>


You’ll see this error if you haven’t included the <#import > snippet in your template.

Launch Failed: Launch failed: Template /contentlibrary/branch test campaign/My Default Template.htm caused an execution error: on line 183, column 92 in cms://contentlibrary/branch test campaign/Content.htm: deeplink is not a user-defined directive. It is a freemarker.template.SimpleScalar


The <@deeplink > and <@tracked_deeplink /> tags even work with dynamic links injected via RPL.

<@deeplink "${latestProduct.url}">${latestProduct.name}</@deeplink>

Dynamic Query Parameters

Certain links in the Responsys Link Table use dynamic variables as query parameters.
Ex. ....com/?key=${VALUE}
In some cases, the value parameter will require additional URI encoding in order for the final URL to be a valid link.

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.