mcpField
G
guest-checkout

guest-checkout

github.com/finsilabs营销与增长6092 次安装6 天前更新
代码仓库

关于 guest-checkout

面向电商运营者的技能,介绍如何在 Shopify、WooCommerce、BigCommerce 或自定义店面启用访客结账,并在购买后提供账户创建途径。还涵盖订单追踪和结账指标的衡量。

主要功能

  1. 01配置平台访客结账
  2. 02购买后提供账户创建
  3. 03无需账户追踪订单
  4. 04衡量访客结账指标

适用场景

  1. 01减少结账时的登录阻碍
  2. 02为新店选择账户要求
  3. 03为无账户订单提供追踪方式
  4. 04比较访客与账户结账完成率

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/finsilabs/awesome-ecommerce-skills --skill guest-checkout

安装后在 Claude Code 中输入/guest-checkout确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

tile.json
evals/email-first-checkout-entry-with-existing/
criteria.json
task.md
evals/guest-order-placement-api-with-post-purc/
criteria.json
task.md
evals/post-purchase-account-creation-and-guest/
criteria.json
task.md

详细介绍

访客结账

概述

购买前要求创建账户,是导致结账放弃的主要原因之一——这会给尚未足够信任你的商店、还不愿与商店建立长期关系的首次购物者增加阻力。启用访客结账,并将账户创建推迟到购买完成后,通常可将结账完成率提高 20–35%。所有主流平台都支持,只需更改一项设置。

何时使用此技能

  • 结账漏斗分析显示,账户创建或登录步骤的流失率显著偏高时
  • 设置新商店并决定是否要求创建账户时
  • 为目前要求登录的现有结账流程添加“以访客身份购买”选项时
  • 优化首次购物者的转化率时

核心说明

第 1 步:在平台上启用访客结账

Shopify

Shopify 默认启用访客结账。验证或配置方法如下:

  1. 前往 Settings → Checkout → Customer accounts
  2. 选择以下选项之一:
    • Accounts are optional(推荐):客户可以访客身份结账,也可以登录;Shopify 会显示“Continue as guest”选项
    • Accounts are disabled:结账完全无需账户
    • Accounts are required:会阻止访客结账——除非你明确需要仅限会员的商店,否则请避免此选项
  3. 点击 Save

要在购买后提示客户创建账户(让访客在购买后保存自己的信息):

  1. 在 Settings → Checkout → Customer accounts 下,启用 Self-serve returns 和 Order status page——这样访客无需账户即可查看订单状态
  2. 当账户设置为可选时,Shopify 会在订单确认邮件中自动发送“Create an account”链接
WooCommerce
  1. 前往 WooCommerce → Settings → Accounts & Privacy
  2. 在 Guest checkout 下:
    • 勾选 Allow customers to place orders without an account(启用访客结账)
    • 如果要简化结账表单,请取消勾选 Allow customers to log into an existing account during checkout(也可以保持勾选,同时提供两种选项)
  3. 在 Account creation 下:
    • 勾选 Allow customers to create an account during checkout——结账页面会显示可选的“Create an account”复选框
    • 勾选 Allow customers to create an account on the "My account" page——访客可以在下单后通过确认邮件中的链接创建账户
  4. 点击 Save changes

启用上述设置后,WooCommerce 会在订单确认邮件中自动添加账户创建提示,供客户在购买后创建账户。

BigCommerce
  1. 前往 Settings → Store Setup → Account Signup
  2. 在 Customer accounts 下,选择 Optional — customers can check out as guests or create an account
  3. 启用 Send account creation email——系统会发送购买后邮件,提示客户只需点击一次即可激活账户

此外,BigCommerce 支持 Apple ID 登录和 Google 登录,回访客户无需使用传统密码即可验证身份——相比完整创建账户,操作阻力更小。


自定义 / 无头架构

对于无头架构的商店前端,请实现访客结账流程,并在购买后提供账户创建功能:

访客订单流程:

  1. 电子邮件是唯一必需的身份标识——在结账开始时收集
  2. 检查该电子邮件是否已有账户;如果有,提供登录或继续以访客身份结账的选项
  3. 下单时不关联用户账户
  4. 生成有时限的账户创建令牌(72 小时有效),并将其放入确认邮件
// POST /api/auth/check-email — check if account exists before showing login prompt
async function checkEmail(req, res) {
  const { email } = req.body;
  const exists = await db.users.findUnique({ where: { email: email.toLowerCase() } });
  res.json({ exists: !!exists });
}

// POST /api/auth/create-account-from-order — called when guest clicks "Create account" link
async function createAccountFromOrder(req, res) {
  const { token, password } = req.body;
  const record = await db.accountCreationTokens.findUnique({ where: { token } });

  if (!record || record.expiresAt < new Date()) {
    return res.status(400).json({ error: 'Link expired — request a new one from your account page' });
  }

  const user = await db.users.create({
    data: { email: record.email, passwordHash: await hashPassword(password) },
  });

  // Associate all guest orders with this email to the new account
  await db.orders.updateMany({
    where: { guestEmail: record.email, userId: null },
    data: { userId: user.id },
  });

  await db.accountCreationTokens.delete({ where: { token } });
  res.json({ success: true });
}

无需账户即可追踪订单: 让访客客户通过订单编号和电子邮件追踪订单,无需登录:

// GET /api/orders/track?orderNumber=ORDER-12345&[email protected]
async function trackGuestOrder(req, res) {
  const { orderNumber, email } = req.query;
  const order = await db.orders.findFirst({
    where: {
      orderNumber,
      OR: [{ guestEmail: email.toLowerCase() }, { user: { email: email.toLowerCase() } }],
    },
    include: { fulfillments: true },
  });
  if (!order) return res.status(404).json({ error: 'Order not found' });
  res.json({ order });
}
步骤 2:优化购买后创建账户的提示

订单确认页是邀请客户创建账户的理想时机——客户刚完成购买,心情愉悦,也有明确的理由创建账户(追踪订单)。

提示最佳实践:

  • 先说明好处,而不是直接要求操作:“追踪此订单,下次结账更快捷”,而不是“创建账户”
  • 简化为一步操作:只显示密码字段;订单中的其他信息都已知
  • 在确认邮件中也加入提示:许多客户会错过页面上的提示;邮件为他们提供了 72 小时的账户创建窗口

购买后创建账户的邮件模板:

Subject: Your order #{{orderNumber}} is confirmed!

Hi {{email}},

Your order is on its way!

---
SAVE YOUR DETAILS FOR NEXT TIME
Create a free account to track your order and check out faster:
{{accountCreationUrl}}
(This link expires in 72 hours)
---
步骤 3:衡量访客结账的采用情况

在 Google Analytics 4 或你的分析平台中追踪以下指标:

  • 访客结账率:有多少百分比的订单以访客身份下单?(新客户目标:40–60%)
  • 购买后账户创建率:有多少百分比的访客会在 72 小时内创建账户?(目标:15–25%)
  • 按类型划分的结账完成率:比较访客结账与账户结账的完成率

如果访客结账的完成率明显高于账户结账,可考虑在整个商店中将账户设为可选,而不是显眼地显示登录提示。

最佳实践

  • 结账开始时只要求填写邮箱——付款前不要要求输入密码或创建账户;将这些步骤完全推迟到购买之后
  • 提供登录选项,而非强制登录——如果邮箱已关联现有账户,同时显示“登录”和“以访客身份继续”;绝不阻止结账
  • 在确认邮件中发送账户创建链接——许多购物者会错过页面上的提示
  • 创建账户时关联历史访客订单——访客创建账户后,将该邮箱对应的所有历史订单转入其新账户
  • 设置账户创建令牌的过期时间——72 小时比较合适;时间足以让客户查看邮件,也足以保障安全

常见问题

问题解决方案
Shopify 要求结账时登录账户前往 Settings → Checkout → Customer accounts,并将其设为 "Accounts are optional"
WooCommerce 不允许访客结账在 WooCommerce → Settings → Accounts & Privacy 中启用 "Allow customers to place orders without an account"
创建账户后无法访问访客订单创建账户时,将与访客邮箱匹配的所有订单关联到新用户 ID
邮件中的账户创建链接已过期将令牌过期时间设为至少 72 小时;在确认邮件中加入申请新链接的入口
访客结账绕过欺诈防范对访客订单应用与已验证身份的订单相同的欺诈评分——无论账户状态如何,Shopify Fraud Analysis 和 Stripe Radar 都可使用

相关技能

  • @checkout-flow-optimization
  • @cart-logic
  • @order-processing-pipeline
  • @accessibility-commerce

评论

支持 Markdown