Documentation menu

商店原生折扣码铸造

MailInApp 为已连接的 Shopify 和 WooCommerce 商店提供动态的商店原生折扣码铸造功能。

MailInApp 不会把买家引导至第三方结账页面,也不使用通用的公开优惠券,而是在发送时直接在你的商店上自动铸造一次性、限定客户使用的折扣码——通过两种独立的机制之一实现,单个项目可以同时使用两者、只使用其中一种,或都不使用:

  • 项目级折扣优惠——发送页面上的一项设置,为每位匹配的收件人铸造一个折扣码,范围可以是你整个商店,也可以是从下拉菜单中选择的某一件商品,通常与购买历史受众分群搭配使用。参见折扣优惠。
  • 商品模块单品折扣——工作室商品模块本身的一个开关,范围严格限定为该模块从你目录中导入的那一件商品,完全不需要受众筛选条件或发送页面上的任何设置。完整流程见Shopify 商品折扣码和WooCommerce 商品折扣码。

两者都通过同一个底层商店连接进行铸造,共享下文所述的机制;单品折扣只是额外把折扣码限定到一件商品,并维护自己独立的冷却标记,与项目级优惠的冷却标记,以及其他任何商品模块的冷却标记都互不影响。


工作原理

当一个营销活动或旅程包含折扣优惠时:

  1. 动态客户解析:
    • Shopify:在生成折扣节点之前,通过 Admin GraphQL 解析收件人对应的客户 GraphQL ID(gid://shopify/Customer/...)。
    • WooCommerce:通过 WooCommerce REST API 将生成的优惠券限定到收件人的确切电子邮箱地址。
  2. 一次性使用且安全:
    • 折扣码带有随机的加密后缀(例如 MIA-7F3A91B2)。
    • 每个折扣码都被限定为仅可使用一次(usage_limit: 1),并专属绑定到收件人的电子邮箱地址,防止折扣码在优惠信息站点上泄露。
  3. 可选的商品范围限定:
    • 面向全店铸造的折扣码适用于任何购买;限定到某一商品的折扣码——无论是项目级优惠自身的范围选择器,还是商品模块的单品折扣——都只限定于那一件商品:Shopify 通过某个真实商品 GID 上的 customerGets.items.products.productsToAdd 实现,WooCommerce 通过优惠券的 product_ids 字段实现。
  4. 商店结账预先应用:
    • 全店或项目范围折扣码的链接会在你的通用结账页面(WooCommerce 为 /cart/?coupon=MIA-...,Shopify 为 /discount/MIA-... 并重定向到 /)自动应用该折扣码。
    • 商品模块自身的单品折扣则会直接把购物者带回该商品自己的页面,并已应用好折扣码(WooCommerce 为商品 URL 后附加 ?coupon=MIA-...;Shopify 为 /discount/MIA-...?redirect=<product path>)——而不是商店首页,因为这封邮件本来指向的就是某一件具体商品。
  5. 在购物者点击之前就可见:
    • 一旦你打开商品模块的单品折扣,工作室画布会立即显示与已发送邮件和实时预览相同的折扣徽章和划线原价——无需打开实时预览即可查看。
    • 对于 Shopify 商店,一个可选的 MailInApp 折扣徽章应用模块会在从邮件点击进入的购物者所看到的实时商品页面上直接显示同样的徽章,先于结账——具体设置见下文在商品页面上显示折扣(Shopify)。WooCommerce 没有对应功能——WooCommerce 优惠券没有任何机制可以改变商品页面本身显示的内容。

在商品页面上显示折扣(Shopify)

工作室画布在你打开商品模块的单品折扣的那一刻就已经显示折扣徽章和划线原价——无需任何设置。要在你的 Shopify 实体店铺上显示同样的徽章,则需要每个商店手动设置一次,因为 MailInApp 从不自动修改你的主题:

  1. 在 Shopify 后台,进入 Online Store → Themes,在你的正式主题(或某个草稿主题)上点击 Customize。
  2. 将顶部的页面选择器切换到某个 Product 页面。
  3. 点击显示价格/购买按钮的分区——通常是 Product information 或 Buy buttons。
  4. 在该分区内点击 Add block(不是 "Add section"),在 Apps 下选择 MailInApp discount badge。
  5. 把它拖到价格旁边,可以在右侧设置面板中调整徽章颜色,然后点击 Save。

如果该分区的模块选择器里没有出现 Apps 选项,说明这个分区还不支持应用模块——可以换一个分区试试,或者请你的主题开发者在其 schema 中加入 {"type": "@app"}。大多数 Online Store 2.0 主题(Dawn 及其衍生主题)在商品主分区中已经默认支持这一点。需要 Online Store 2.0 主题。

按设计,徽章在普通浏览商店时始终保持隐藏——只有当商品页面带着真实的单品折扣邮件所生成的签名链接被打开时,它才会显示。所以你自己直接访问该页面不会看到徽章,发送测试邮件也不会触发它(那个功能是直接渲染邮件,跳过了为徽章链接签名的折扣铸造步骤)。要真正看到效果,需要进行一次真实发送——哪怕收件人就是你自己——然后在收到的邮件中点击立即购买。这始终只是一个基于商品自身价格计算出的展示预览;真正的折扣无论如何都只会在结账时通过一次性折扣码生效。


支持的优惠类型

  • 百分比折扣:例如全店、某个系列或单个商品 15% 或 20% 的折扣。
  • 固定金额折扣:例如购物车总价或单个商品减免 10 美元或 25 美元。
  • 有效期窗口:折扣码带有自动计算的过期日期(例如发送后 7 天或 14 天),从而在商家自己的商店中营造紧迫感。
  • 账户冷却期:内置的冷却标记可防止同一联系人在多个定时发送计划或项目中被过度发放折扣——项目级优惠拥有一个标记,每个商品模块各自拥有一个独立标记,因此为一件商品设置折扣绝不会阻塞另一件商品的冷却期,也不会阻塞项目级优惠的冷却期。

设置与 API 集成

  • Shopify:需要已连接的商店凭据具备 write_discounts 权限范围(在 OAuth 连接过程中处理)。
  • WooCommerce:需要已连接的商店 REST API Consumer Key 与 Consumer Secret,并具备读写权限。

商品模块的单品折扣还额外要求该模块通过其从商店导入选择器导入了一件真实商品(而不是手动输入的外部 URL)——铸造折扣码需要你商店自己的数字商品 ID,以便将折扣码限定到该商品。