关于 guest-checkout
面向电商运营者的技能,介绍如何在 Shopify、WooCommerce、BigCommerce 或自定义店面启用访客结账,并在购买后提供账户创建途径。还涵盖订单追踪和结账指标的衡量。
主要功能
- 01配置平台访客结账
- 02购买后提供账户创建
- 03无需账户追踪订单
- 04衡量访客结账指标
适用场景
- 01减少结账时的登录阻碍
- 02为新店选择账户要求
- 03为无账户订单提供追踪方式
- 04比较访客与账户结账完成率
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ finsilabs/ awesome-ecommerce-skills --skill guest-checkout安装后在 Claude Code 中输入/guest-checkout确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
tile.jsonevals/email-first-checkout-entry-with-existing/criteria.jsontask.mdevals/guest-order-placement-api-with-post-purc/criteria.jsontask.mdevals/post-purchase-account-creation-and-guest/criteria.jsontask.md详细介绍
访客结账
概述
购买前要求创建账户,是导致结账放弃的主要原因之一——这会给尚未足够信任你的商店、还不愿与商店建立长期关系的首次购物者增加阻力。启用访客结账,并将账户创建推迟到购买完成后,通常可将结账完成率提高 20–35%。所有主流平台都支持,只需更改一项设置。
何时使用此技能
- 结账漏斗分析显示,账户创建或登录步骤的流失率显著偏高时
- 设置新商店并决定是否要求创建账户时
- 为目前要求登录的现有结账流程添加“以访客身份购买”选项时
- 优化首次购物者的转化率时
核心说明
第 1 步:在平台上启用访客结账
Shopify
Shopify 默认启用访客结账。验证或配置方法如下:
- 前往 Settings → Checkout → Customer accounts
- 选择以下选项之一:
- Accounts are optional(推荐):客户可以访客身份结账,也可以登录;Shopify 会显示“Continue as guest”选项
- Accounts are disabled:结账完全无需账户
- Accounts are required:会阻止访客结账——除非你明确需要仅限会员的商店,否则请避免此选项
- 点击 Save
要在购买后提示客户创建账户(让访客在购买后保存自己的信息):
- 在 Settings → Checkout → Customer accounts 下,启用 Self-serve returns 和 Order status page——这样访客无需账户即可查看订单状态
- 当账户设置为可选时,Shopify 会在订单确认邮件中自动发送“Create an account”链接
WooCommerce
- 前往 WooCommerce → Settings → Accounts & Privacy
- 在 Guest checkout 下:
- 勾选 Allow customers to place orders without an account(启用访客结账)
- 如果要简化结账表单,请取消勾选 Allow customers to log into an existing account during checkout(也可以保持勾选,同时提供两种选项)
- 在 Account creation 下:
- 勾选 Allow customers to create an account during checkout——结账页面会显示可选的“Create an account”复选框
- 勾选 Allow customers to create an account on the "My account" page——访客可以在下单后通过确认邮件中的链接创建账户
- 点击 Save changes
启用上述设置后,WooCommerce 会在订单确认邮件中自动添加账户创建提示,供客户在购买后创建账户。
BigCommerce
- 前往 Settings → Store Setup → Account Signup
- 在 Customer accounts 下,选择 Optional — customers can check out as guests or create an account
- 启用 Send account creation email——系统会发送购买后邮件,提示客户只需点击一次即可激活账户
此外,BigCommerce 支持 Apple ID 登录和 Google 登录,回访客户无需使用传统密码即可验证身份——相比完整创建账户,操作阻力更小。
自定义 / 无头架构
对于无头架构的商店前端,请实现访客结账流程,并在购买后提供账户创建功能:
访客订单流程:
- 电子邮件是唯一必需的身份标识——在结账开始时收集
- 检查该电子邮件是否已有账户;如果有,提供登录或继续以访客身份结账的选项
- 下单时不关联用户账户
- 生成有时限的账户创建令牌(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