如何在电子邮件中添加自定义网络源

你将会学到 #

了解如何在电子邮件中添加和使用自定义网络源。自定义网络源允许您从 Klaviyo 电子邮件中的外部 URL 动态填充数据源。在发送电子邮件之前,Klaviyo 向 URL 发出 HTTP 请求并获取数据。然后,网络源的内容就可以在您的电子邮件中使用。 Web feed 的强大之处在于,它们允许您使用单个模板并动态提取内容,您只需保持 feed 为最新,Klaviyo 将确保 feed 中的新鲜内容填充到每次发送中。本文将详细介绍在活动和流程中添加和使用自定义网络源。 ## 开始之前

在 Klaviyo 中向任何电子邮件添加动态外部内容的第一步是创建您的网络源源。您的 Feed 必须:

  • 以 JSON 或 XML 格式托管在可访问的 URL 上
  • 为 3.3 MB 或更小
  • 不使用重定向 URL

Klaviyo 将向您指定的 URL 发出 HTTP 请求并获取您的提要数据。由于流电子邮件的连续发送方式,Klaviyo 将通过定期查询您的 Feed URL 以按照以下计划之一提取刷新的内容,从而使您的 Feed 内容保持最新状态:

  • *15 分钟刷新*
  • Klaviyo 将尝试每 15 分钟刷新一次您的 Feed。为了实现这一点,您的 Feed 必须在五秒内加载并返回成功的响应。虽然 Klaviyo 每 15 分钟刷新一次网络源,但刷新可能需要更长时间才能完成。对于要更新营销活动的网络源产品,应在营销活动发送前至少 30 分钟更新源。 – *夜间刷新 如果您的 Feed 需要超过五秒的时间才能返回,经过三个小时的尝试后,我们将开始尝试每晚更新您的 Feed。对于持续的夜间刷新,您的 Feed 必须在 30 秒内加载。如果我们连续三个晚上无法在 30 秒内加载您的 Feed,您将无法在电子邮件中使用此 Feed。依赖此 Feed 的流电子邮件将停止发送,并且在删除 Feed 或解决 Feed 的未决问题之前,不会发送营销活动和流电子邮件。当我们查询您的 Feed 时,如果收到错误响应,我们将无法访问您的 Feed 内容。我们将遵循与上述相同的模式,并重试最多三天。在此期间,电子邮件将不会发送。如果我们在访问您的网络源时遇到问题,您将收到应用内通知和电子邮件通知。一个简单的故障排除步骤是仔细检查进料要求并确保它们符合上述参数。如果您对 Feed 进行更改(例如,减小大小以加快上传时间或修复导致错误响应的问题),并且希望 Klaviyo 尝试新的刷新,请导航到“数据源”选项卡中的源,然后单击更新数据源*。我们将测试并重新验证您的 Feed。如果您的 Feed 有效并及时返回响应,我们将继续尝试使您的内容保持最新状态。如果您在访问网络源时遇到问题(即使您没有进行任何更改),那么这是一个很好的故障排除步骤。 ## Django 过滤器

我们支持对您插入的变量使用 Django 过滤器。以下是一些常用的过滤器,您可以在我们的使用过滤器自定义变量指南变量过滤器词汇表中了解更多信息。 ### 将帖子摘要限制为 X 字数

如果您想在帖子标题下包含博客文章的简短摘要(并且您的提要提供此摘要文本),您可以使用截断过滤器。 !truncatechars Django 过滤器的示例

例如,要将文章摘要限制为 250 个字符,您可以使用:

{{ item.summary|truncatechars:250 }}

添加自定义网络提要 #

设置您的 Feed #

  1. 单击 Klaviyo 左下角您的公司名称。 2. 单击 *设置。 3. 点击其他。 4. 单击网络源。 5. 单击添加网络源*。 6. 填写网络源字段,如下所示:
  • *提要名称*
  • 稍后您将在模板中使用此标识符来访问 Feed 的内容。为您的 Feed 指定一个简短的描述性名称。 我们建议使用驼峰式大小写(例如“MyDataFeed”)或全部大写并用下划线替换空格(例如“MY\_DATA\_FEED”)来命名 feed。 Feed 名称中不允许有空格。 – *提要网址 Klaviyo 端点用于获取提要内容(即之前配置的 JSON 或 XML 提要的 URL)。如果您的 Feed 包含私人信息,我们强烈建议您使用 HTTPS URL 并包含随机数查询参数来保护您的 Feed。 – 请求方法 指定将用于请求您的 Feed 的 HTTP 方法。如果您不确定选择哪个,请选择 GET。 – 内容类型 Feed 的格式(JSON 或 XML)。如果可能,我们建议使用 JSON。对于 XML feed,feed 将转换为 JSON。 7. 填写完所有字段后,单击添加网络源。我们将尝试查询 Feed URL 并验证您的 Feed 是否正常工作。如果我们遇到错误,您将看到一条错误消息,并且在问题得到解决之前将无法保存此新 Feed。 – 想要尝试一下,但没有自己的网络提要 URL?使用我们的。将 Klaviyo 帮助中心的以下 URL 复制到 Feed URL* 框中,然后在您自己的 Klaviyo 帐户中尝试:

     https://help.klaviyo.com/api/v2/help_center/en-us/articles.json
  1. Klaviyo 验证您的 Feed 并显示任何潜在的错误。验证后,您将在 Klaviyo 中看到您的 Feed,并且可以在电子邮件中使用。 !经过验证的提要

预览您的提要 #

在将网络源添加到电子邮件之前预览它非常有用。要预览 feed:

  1. Web feeds 页面上,找到您的 feed。 2. 单击三个点,然后选择*编辑*。 !编辑选项
  2. 在 Feed 详细信息页面中,点击 *预览。预览 Feed 时,您将看到 Feed 内容,如果我们无法加载 Feed,您将看到一条错误消息。如果您的 Feed 是 JSON 数组,我们将自动解析并单独显示每一行。如果是其他内容,很可能是 JSON 字典,我们将显示整个字典。如果您正在积极开发 Feed,请使用刷新*按钮来提取最新版本的 Feed。 Feed 的预览页面显示整个 Feed。如果您的提要很大,可能需要几秒钟才能显示内容。请记住,如果您的 Feed 的查询时间超过 30 秒,这将影响依赖此 Feed 的任何电子邮件的性能。现在您已经添加了网络源并预览了其内容,您可以在电子邮件中使用它。 ## 在电子邮件中使用网络提要

对于营销活动,Klaviyo 将在每次发送时获取每个 feed 一次,并存储返回的内容。即使您要发送给数千个收件人,Klaviyo 也不会向您的服务器发出数千个请求。 ### 在模板中填充提要内容

在上一节的示例 Web feed 中,我们有一个文章数组,其中每个条目都包含名称、URL、文章 ID 等。将提要添加到电子邮件后,可以通过 feeds 变量使用它:

{{ 提要 }}

例如,对于上面的 JSON feed,我们现在可以通过在模板中包含以下语法来引用或输出文章 feed 的内容:

{{ feeds.Klaviyo_Help_Center }}

让我们来看一个示例,其中我们迭代数组中的所有条目,显示某些变量。我们将在这里使用 Klaviyo 博客源作为示例,并迭代图像。 1. 将新文本块拖到您的电子邮件中,并将其放置在您想要填充网络源的位置。 2. 打开重复块/内容重复功能:单击文本块的*显示选项选项卡,然后单击创建重复规则。 3. 对于 Repeat For 字段,插入 feeds.YOUR\_FEED\_NAME,后跟包含要迭代的数组的变量名称。 – 在我们的示例中,因为我们也在迭代“articles”值,所以我们将重复:feeds.Klaviyo\_Help\_Center.articles*。 4. 您的数据可能嵌套在一系列变量中。例如,您的 Feed 的结构可能如下:

   RSS:{
            .....频道:{
                    ..... 项目:{
                                .....}}}

在这种情况下,您可以使用“feeds.YOUR_FEED_NAME.rss.channel.item”作为您的重复。 5. 如果您只想让该块迭代一定数量的条目,请使用“切片”过滤器。要使用此过滤器,请通过将过滤器添加到末尾来调整 Repeat For 值:  feeds.Klaviyo_Help_Center.articles|slice:':3' 在此示例中,|slice:':3' 将导致仅显示前三个条目。 6. 对于 项目别名 字段,插入:item

  1. 配置重复块/内容重复功能后,您可以使用“item”别名插入变量。 8. 要识别和添加变量,请打开网络源的预览并参考数据的结构方式。 Repeat for 字段中使用的数组中嵌套的任何数据都可以用作变量。在此示例中,文章数组中显示的所有数据均可在电子邮件中使用:
文章数组中嵌套的数据
文章数组中嵌套的数据
  1. 对于第一级数据,只需在数据中显示的变量名称前添加 item 即可。例如,使用“{{ item.title }}”显示文章的标题,或使用“{{ item.url }}”显示文章的 URL。 10. 要访问嵌套在第一级变量中的数据,请使用点符号(例如“{{ item.images.thumbnail_url }}”)。要了解有关点符号和模板变量的更多信息,请参阅我们的模板标签和变量语法指南。 11. 当您预览模板时,您会注意到重复块/内容重复功能将允许这个简单的文本块自动迭代提要中的所有条目。每个条目只会显示您在文本块中指定的变量。 12. 如果您要插入图像,请注意,您将需要编辑文本块的 源代码 字段并将图像包含在 <img src> 标记中。 !自定义网络提要图像

您已将自定义网络源添加到电子邮件中,现在可以从外部 URL 动态填充数据源。 ## 测试或验证您的 Feed

如果您收到电子邮件或应用程序内通知,表明我们在访问您的网络源时遇到问题:

  1. 导航到您的源并单击*更新源*按钮。 2. 验证完成后,您可能会看到两种类型的错误消息:
  • *无效回复*
  • 如果我们在尝试查询您的 Feed 内容时收到错误响应,我们将告诉您错误的状态代码。您需要解决导致此错误响应的问题,然后才能在任何电子邮件中成功使用源。 – *性能问题* 如果我们在 30 秒内没有收到您的 Feed 的响应,这将导致发送延迟。虽然您可能能够保存您的 Feed 历史记录,但为了降低发送延迟的风险,您需要先解决 Feed 的性能问题,然后才能重新验证并成功保存它。在这两种情况下,如果您在发送中使用有问题的源,这将导致发送延迟或您的电子邮件可能会被完全取消。对于流量,电子邮件也可能未发送。我们建议您在解决任何未决问题的同时从所有电子邮件中删除有问题的源,以防止发送中断。 ## 其他资源

您的感觉是什么