Oracle Responsys

概述

图片

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

1. 完成 Universal Email 先决条件

📘

可能需要开发者

以下 Universal Email 先决条件包括提供 URI scheme 和其他可能需要开发人员的部分:

🚧

需要开发人员

以下 Universal Email 先决条件涉及应用代码更改:

2.启用集成

要启用集成,您需要:

  1. 在左侧导航中,点击电子邮件
  2. 在电子邮件概述页面上,点击顶部的 Manager 选项卡。
  3. 找到您的 ESP,然后点击启用
1428

📘

Branch 会自动检测您在上述 Branch 帐户的初始设置过程中已经提供的所有全局链接设置。

If you have not set up your global link settings and redirect preferences, you will be prompted to do so at this time.

3. 提供点击追踪域

通过点击追踪域,您可以追踪打开电子邮件和点击链接的参与度。

如果您不确定点击追踪域(CTD)是什么,请查看一封你最近发送的电子邮件。如果将鼠标悬停在链接上或右键点击/复制链接地址,您将看到电子邮件中链接域与 HTML 中的 URL 不匹配。此域是您的 ESP 所使用的点击追踪域,为您提供点击报告。

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

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

🚧

Remove http:// or https:// when adding your click tracking domain in the Branch dashboard

2418

请记住

  • 您可以根据需要启用与多个 CTD 的集成,但是不能将同一 CTD 添加到多个 Branch 操作后台 (Dashboard) 或 ESP 集成中。

4. Validate the Integration

生成 SSL 证书和 AASA 文件(仅 iOS)之后,您可以继续查看验证测试,修复所有问题,然后测试集成。

Branch 自动验证以下内容:

  • 集成了 iOS SDK(必需)
  • 集成了 Android SDK(必需)
  • 深度链接已设置(必需)
  • 点击追踪域已设置(必需)
  • AASA 文件有效(必需)
  • 已正确设置 SSL(必需)
  • CNAME 指向 thirdparty.bnc.lt(视情况而定)
  • 已设置 Universal Linking(必需)
  • 托管的深度链接数据(可选)
  • 正在追踪应用事件(可选)
  • Android App Link(可选)
679

🚧

常见验证问题

CNAME 不指向 Branch

将您的 DNS CNAME 指向 Branch 是集成过程中关键的一步。不幸的是,这也是最让人头痛的步骤。

请确保执行以下操作:

  1. Log into your DNS provider’s console and add the CNAME record as described here.
  2. 添加 CNAME 记录后至少等待60分钟,以便它有时间进行传播,且 Branch 可以创建生成的 SSL 证书和 AASA 文件(仅适用于 iOS 应用)。

无法正确设置 SSL

如果您在 SSL 证书验证方面遇到问题,那么原因通常是您的点击追踪域已经设置了 SSL,并且存在一些限制,使第三方无法代表您提交证书签名请求。

AASA 文件无效

幸运的是,最容易解决的错误恰恰是该错误的主要原因,它的问题取决于正确设置 SSL。通过解决 SSL 错误,AASA 文件错误应同时解决。

6. 测试集成

验证过程完成后,您可以通过生成测试链接来测试集成。 Branch 生成的测试链接是唯一的,因为它已经被转化为 Branch Link,并允许您进行测试而无需在 ESP 中创建电子邮件模板。实际上,一旦用户点击您的常规电子邮件模板链接,此转化就会在幕后进行。

要生成测试链接,您需要:

  1. 验证和测试部分中,输入您的网站上的 URL。
  2. 点击获取测试链接
  3. 生成测试链接后,您可以通过以下方式分享它:
  4. 复制到剪贴板
  5. 短信
  6. 邮箱
698

生成测试链接后,请点击移动设备上的链接;不要忘记确认您的移动设备已经安装了该应用!

7. 生成电子邮件的 Branch Link

您可以通过几种不同的方法来创建与 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(电子邮件设计器)的帐户。

📘

观看如何执行此操作

There is also a tutorial video that walks through these steps.

  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"

4.将电子邮件中的所有网络链接转换为深层链接

我们提供了一种轻松将 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 allowlist only the path /pub/acc* in order to not launch the app from web-only links.

图片

图片

附加信息

Styling

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.