如何在 MailInApp 中跟踪 Shopify 订单、结账与收入

连接 Shopify 做两件独立的事:把客户同步进一个可以发送邮件的联系人列表,以及监听结账/订单事件,让一次发送自己的收入显示在它的打开和点击旁边。这篇文章从头到尾走一遍两者——从设置 → 集成,一直到某个营销活动自己响应页面上的"商店收入"卡片。

主题

New arrivals — shop the collection

连接 Shopify 做两件独立的事:把你的客户同步进一个联系人列表,以及监听结账/订单事件,让一次发送自己的收入显示在它的打开和点击旁边。这里详细讲解如何搭建这两者,以及去哪里查看结果。

如果你已经读过集成页面上的"跟踪订单、结账与收入",却不确定它在日常中到底是什么样子,这就是那份演练。它会从设置页面一路讲到最终出现在某个营销活动自己响应页面上的那个数字。

第 1 步——连接你的商店

在你的 Shopify 后台,从 Shopify App Store 安装 MailInApp(如果已经安装,则从应用中打开),在 Shopify 自己的 OAuth 页面上批准访问,然后登录或创建你的 MailInApp 账户。批准后,两件事会立即开始:

  • MailInApp 会为该商店创建一个专属联系人列表,并开始在后台把现有客户同步进去。
  • MailInApp 会向 Shopify 注册 Webhook,这样此后新客户、已开始的结账,以及已付款的订单都会实时到达——不需要周期性地重新导入。

连接在所有套餐(包括免费版)上都是免费的。你的 MailInApp 套餐完全通过 Shopify 管理和计费,在 Shopify 后台的 MailInApp 应用中操作。

第 2 步——构建一封链接回你商店的邮件

邮件本身不需要任何特殊之处。像平常一样设计一个项目:一个倒计时模块很适合为促销提供一个实时且始终准确的截止日期。一个指向你商店上真实商品或系列 URL 的图片或按钮,才是真正把人送到那里的东西——像你在其他任何地方链接到它一样,直接粘贴真实的商品页面 URL 即可。不需要生成单独的"跟踪链接",也不需要手动添加任何标签。

第 3 步——发送:链接会在点击时自动打上标签

这一步很容易被忽略,因为没有任何东西需要配置。每一个指向 MailInApp 之外的按钮、图片或其他带链接的模块,在收件人点击时都已经会经过一个点击跟踪重定向——这正是你响应页面上的点击热力图对任何外部链接都能生效的原因。对于一个指向你 Shopify 商店这样外部站点的链接,同一个重定向还会多做一件事:在把收件人送往目的地 URL 之前,它会追加

utm_source=mailinapp
utm_medium=email
utm_campaign=<这个项目的 ID>
utm_content=<被点击的模块>

——但仅当该链接尚未携带自己的 utm_campaign 时才会这样做。如果你已经为了自己的分析而刻意给某个链接打上了标签,那个标签会被原封不动地保留,MailInApp 也不会通过它做归因。

第 4 步——Shopify 会把这些标签一路带到订单上

Shopify 会把购物者落地时的 URL(包括完整的查询字符串)保存在它最终创建的订单上,无论对方是立即购买还是之后再回来购买。因此,那个指向你 MailInApp 项目的 utm_campaign,到订单付款时依然留在上面——在 Shopify 这一侧同样不需要额外配置任何东西。

第 5 步——MailInApp 会从已付款订单上把它读回来

一旦订单真正付款——而不仅仅是下单,因为一个已下单但未付款的订单属于结账,下文会讲到——Shopify 就会调用 MailInApp 的 Webhook。MailInApp 会验证这个请求确实来自 Shopify,查出订单上的 utm_campaign,把它匹配回你的项目,并为其记录一次购买事件。从这里开始,它会流经与通过 MailInApp 自身邮件内结账完成的购买完全相同的报表管道。

第 6 步——查看结果

有两个地方可以查看:

  • 该营销活动自己的响应页面会出现一张商店收入卡片——总收入和订单数——只要有至少一笔订单归因回它,这张卡片就会出现;如果还没有任何归因,它就干脆不显示,而不是显示一个零。
  • 每一位已同步客户自己的记录都会随着他们的订单更新,无论是否有归因——因此即使一笔没有点击背景的购买(有人直接在你商店上购买),也仍会更新该客户的历史记录。只是它不会显示为绑定到某个具体的营销活动,因为没有可供归因的点击。

这份客户层级的历史记录还会提供一个已购买和一个总收入条件,在你为下一次发送、定时发送计划或旅程构建受众时可以使用。"上个月那封邮件发出后买过东西的人"会变成一个你真的可以构建出来的筛选条件,而不是一份需要手动整理的表格。

放弃的结账呢?

一次已开始却从未付款的结账,会触发一个独立的事件(checkouts/create),而不是上面的已付款订单事件。MailInApp 目前不会在仪表盘的任何地方展示这些结账的独立列表。相反,它们是旅程可以直接响应的触发器。把一个旅程的购物车放弃触发器指向你已连接的商店并设置一个延迟,一封挽回邮件就会自动发给任何结账停滞超过该延迟的人——如果对方后来已经付款,则会自动跳过。这个具体流程参见专门的购物车放弃旅程指南。

把订单历史变成一个赢回优惠

已同步的订单不只是用来做归因的。同一份明细行数据还支撑着一个购买历史受众条件(购买了特定商品,在特定日期范围内)和一个按项目设置的折扣优惠,为每一位匹配的收件人在你自己的商店上铸造一个真实的一次性代码。这个流程参见用购买历史分群与折扣码赢回老买家。

快速上手

在设置 → 集成中连接你的商店,构建一封带有真实商品或系列页面链接的邮件,先发给一小部分受众。一两天后查看该营销活动的响应页面——如果有人通过那个链接完成了购买,商店收入卡片应该已经出现在那里。完整参考见 Shopify、响应与 Webhook 和行为分群。

典型的构建与发送流程

  1. 1

    连接你的 Shopify 商店

    在你的 Shopify 后台,从 Shopify App Store 安装 MailInApp 并通过 Shopify 的 OAuth 授权页面批准访问。连接在所有套餐(包括免费版)上都是免费的,你的套餐完全通过 Shopify 计费;之后 MailInApp 会开始把你的 Shopify 客户同步进一个专属联系人列表,并注册 Webhook,让结账和订单事件实时到达。

  2. 2

    构建一封链接回你商店的邮件

    设计一个项目,用倒计时制造紧迫感,再用图片或按钮指向你商店上一个真实的商品或系列 URL——就像你在其他任何地方链接到它一样。不需要手动添加任何特殊的跟踪参数。

  3. 3

    发送——MailInApp 会自动为链接打上标签

    当收件人点击进入你的商店时,MailInApp 自己的点击重定向会在目标 URL 前追加 utm_source=mailinapp、utm_medium=email、utm_campaign=<这个项目>,以及 utm_content=<被点击的模块>——但仅当该链接尚未携带自己的 utm_campaign 时才会这样做,因此任何你自己刻意打上标签的链接都会被原样保留。

  4. 4

    Shopify 会把这些标签一路带过结账

    Shopify 会把落地 URL 的查询字符串保存在订单本身上。如果这位购物者完成购买——无论是当次访问还是之后、同一设备还是别的设备——订单自己的数据仍然会带着那个指向你项目的 utm_campaign。

  5. 5

    MailInApp 会从已付款订单上读回它

    orders/paid 这个 Webhook 会在订单真正付款(而不仅仅是下单)后触发。MailInApp 会验证它确实来自 Shopify,把 utm_campaign 匹配回你的项目,并将其记录为一次购买——这与原生邮件内结账产生的事件属于同一种。

  6. 6

    在该营销活动自己的响应页面上查看结果

    一旦至少有一笔订单归因回来,一张"商店收入"卡片就会出现——显示该项目的总收入和订单数。每一位已同步客户的订单也会更新他们自己的终身统计数据,在为你的下一次发送或旅程构建受众时,也可以使用"已购买"或"总收入"这两个条件。

常见问题

我需要自己给 Shopify 链接添加 UTM 参数吗?

不需要。任何指向 MailInApp 之外的按钮、图片或其他带链接的模块都会自动经过点击跟踪,重定向会在有人点击的那一刻追加能识别你项目的 utm_campaign——只要该链接尚未携带自己的 utm_campaign,那个标签就会被原样保留。

如果客户没有先点击邮件链接,就直接在我的 Shopify 商店上购买了呢?

那笔订单仍会正常同步——它会更新该客户在你联系人列表中的自己记录——但没有 MailInApp 打过标签的点击可言,因此它不会归因到某个具体营销活动,也不会出现在该营销活动的商店收入卡片上。归因只对能追溯到真实点击的订单生效。

这和 MailInApp 自己的商品模块是同一套结账吗?

不是——商品模块的结账完全在 MailInApp 内部,通过你自己连接的 Stripe 账户完成,不涉及任何 Shopify 商店。这篇教程讲的是相反的情况:购买发生在你 Shopify 商店自己的结账页面上,MailInApp 只是通过 Shopify 的 Webhook 把结果读回来。

Shopify 收入会计入 A/B 测试的获胜变体吗?

会被追踪,但是分开计算的:一笔 Shopify 订单不带有任何 MailInApp 变体标记,因此它只会计入该项目自己的商店收入总额,而不会计入用来挑选 A/B 获胜者的某个具体变体的收入数字。

这和购物车放弃旅程那篇文章有什么不同?

那一篇讲的是,一旦 Shopify 报告某次结账停滞,就自动让某人进入一段挽回旅程。这一篇讲的是更大的图景——连接商店、构建任何链接到它的互动邮件,并读回这封邮件带来的订单和收入,无论购物车是否曾被放弃。

这在 WooCommerce 上工作方式一样吗?

一样——WooCommerce 使用 REST API 密钥而不是 OAuth 连接,但客户同步、点击归因,以及商店收入卡片一旦连接后都完全相同地工作。

在工作室中构建它

从免费套餐开始——每个套餐都包含全部互动模块和完整的降级引擎。