Documentation menu

Shopify

连接一个 Shopify 商店,将其客户同步到 MailInApp 联系人列表,以真实商店事件触发旅程,并将收入归因到某个营销活动或变体上。

连接你的商店

设置 → 集成中,输入你商店的 myshopify.com 域名,然后点击连接 Shopify。系统会引导你完成 Shopify 自己的 OAuth 授权页面。MailInApp 请求 read_customersread_ordersread_products(均为只读权限),以及 write_discounts 权限,以便铸造下文所述的一次性折扣码——它绝不会请求对你商店的商品、订单或客户本身的写入权限。授权通过后,MailInApp 会为该商店创建一个专属的联系人列表,并在后台启动初始客户回填,单次连接最多回填 5,000 名客户。客户数超过该上限的商店会继续通过 Shopify 自身的 Webhook 增长其列表,只是不会对超出上限的部分进行一次性回填。

如果你是直接从 Shopify App Store 安装、且此前从未创建过 MailInApp 账户,MailInApp 会自动使用你商店自己的电子邮箱为你创建一个账户——你会直接以已登录状态落地,商店也已经连接好。

连接 Shopify 需要一次性支付 30 美元的费用,通过 Shopify 自己的 Billing API 在此流程中一次性收取,适用于所有套餐(包括免费版)。之后卸载应用不会退还这笔费用——但在同一个 MailInApp 账户上重新连接是免费的。

它能做什么

  • 客户同步——Shopify 客户会进入一个专属于该集成的联系人列表,此后由 Shopify 自身的 Webhook(customers/create,以及用于下方触发器的 checkouts/createorders/paid)保持更新,而不是通过周期性重新拉取。
  • 旅程触发器——已连接的商店可以触发一个旅程的购物车已放弃触发器(结账已开始但未完成)以及购买触发器(订单已付款),这样欢迎系列或购物车放弃类自动化就可以基于真实的 Shopify 活动运行,而不仅仅依赖 MailInApp 自身的商品模块结账。参见旅程
  • 收入归因——当某笔订单能够识别出所属的营销活动/变体时,该信息会汇入与原生结账订单相同的响应与 A/B 测试收入统计中。
  • 购买历史分群与折扣优惠——订单明细项会与客户一同同步,因此受众筛选条件可以匹配"在 A 与 B 日期之间购买了商品 X"(参见购买历史),项目也可以为每位匹配的收件人铸造一个一次性 Shopify 折扣码,在你自己的商店结账时兑换(参见折扣优惠)。后续订单会通过 orders/paid Webhook 自动同步;在此功能上线之前就已连接的商店,或历史订单较久的商店,需要在设置 → 集成中执行一次性的回填订单历史操作——除非 Shopify 已单独批准该应用获取你商店的完整订单历史,否则回填范围大致限制在最近 60 天左右。从你的商品目录中导入的商品模块还可以独立铸造自己的单品折扣——仅限定该商品本身,不需要任何受众筛选条件——参见商店原生折扣Shopify 商品折扣码
  • 面向工作室的商品目录——你商店自己的在售商品同样会同步到 MailInApp,与客户同步保持相同的自动刷新节奏(无需单独按钮)。商品模块从商店导入选择器会在这个已同步的目录中搜索,并用一件真实商品的名称、描述、图片和价格来填充模块——这是一次性拷贝,不是实时链接,因此已发送邮件的内容绝不会与你审阅过的版本产生偏差。它还会同步每件商品自己的页面(基于其 Shopify handle),并在该页面可用时,把模块设置为链接到外部商店结账并直接指向该页面——这样导入的商品就已经可以在你的 Shopify 商店中销售,无需再做任何配置;如果你更想通过已连接的 Stripe 账户收款,可以手动切换回MailInApp 结账。在此功能上线之前就已连接的商店,需要快速执行一次断开连接连接 Shopify,以授予 Shopify 要求的新的 read_products 权限——在此之前,该选择器只会显示为空。

断开连接

在设置中点击断开连接会立即停止同步以及任何后续的 Webhook 处理。已同步的客户会继续保留在其联系人列表中——断开一个集成绝不会删除联系人,因为它们可能已经是其他项目的发送受众。从 Shopify 端卸载应用一开始也是同样的效果。大约 48 小时后,一旦 Shopify 自己的数据删除 Webhook 被触发,已同步的联系人和购物车记录也会被彻底清除——这是每个 Shopify 应用都必须遵守的标准宽限期。