一个新商城排首期范围时,最容易出现的误会是:购物车、结账页、优惠券、弃购提醒都跟成交有关,那就一起做完。四项写在需求表里只是四行,落到系统里却不是同一种工作。
购物车负责把客户想买的商品、规格和数量保存下来;结账页要计算价格、运费和税费,收集履约信息,调用支付,再生成一笔可以发货、退款和对账的订单。优惠券改变的是计价结果。弃购提醒则要判断谁在什么时间离开、他是否同意接收消息、回来后能不能看到原来的商品和价格。
前两项是交易本身,后两项建立在交易和数据已经可靠的基础上。这就是首期取舍的关键。

首期先把成交底座做稳
对常规零售商城来说,购物车和结账页应当一起列为首期最高优先级。没有购物车,客户很难合并购买不同商品或规格;没有可用的结账页,前面的产品页、广告和内容带来再多访问,也无法形成订单。
这里说的“完成”,不是页面能打开、按钮能点击。至少要让这些情况真的跑通:
| 环节 | 首期应达到的状态 |
|---|---|
| 加入购物车 | 商品、规格、数量和当前售价准确;缺货、限购、起订量有明确反馈 |
| 购物车修改 | 能增减数量、删除商品、切换规格;刷新或换页面后内容不会无故丢失 |
| 费用确认 | 商品小计、优惠、运费、税费和订单总额的关系看得懂,金额由服务端重新校验 |
| 提交结账 | 允许符合业务条件的客户直接结账,不把注册账号设成不必要的门槛 |
| 履约信息 | 收货人、地址、配送方式、发票或企业信息只在确实需要时收集 |
| 支付处理 | 成功、失败、取消、超时和重复回调都有确定结果,不会重复扣款或重复建单 |
| 支付以后 | 有订单号和确认页,客户能收到必要的订单信息,后台能发货、退款和对账 |
红数科技在做首期范围判断时,通常会先拿一笔最普通的订单从头走到尾,再去看边界情况。因为真正让商城失去订单的,往往不是少了一个漂亮入口,而是库存刚好变化、运费到最后才出现、付款失败后购物车被清空,或者客户已经付了钱,后台仍显示待支付。
购物车不能只是商品暂存页
购物车承担的是成交前最后一次核对。客户在这里需要确认买的是哪个规格、多少件、预计需要付多少钱,以及接下来还能不能顺利配送。
因此,商品缩略图、完整名称、规格、单价、数量、小计、库存状态和删除操作都应当清楚。价格发生变化时要明确告诉客户,不能悄悄替换;商品失效或库存不足时,保留其他可购买商品,不要整车清空。登录前后是否合并购物车,也要有确定规则,否则客户换一台设备或登录账号后,很容易发现刚选的东西没了。
如果业务只有单一数字产品、单次预约或一个固定套餐,确实可以使用“立即购买”直接进入结账,不一定非要展示传统购物车页。但系统仍要保存本次购买对象、价格和结账状态。省掉的是页面,不是订单上下文。

结账页比优惠券和提醒更值得先花时间
Baymard Institute 汇总的 50 组公开研究显示,在线购物车平均放弃率为 70.22%。这个数字不能直接套成某个商城的目标值,因为浏览、比价和暂时保存商品本来就会产生自然弃购。它更有用的地方,是提醒团队别把所有离开都归咎于“没有发提醒”。
在 Baymard 最新公布的美国消费者调查中,42%的受访者曾因为只是浏览、还没准备购买而离开。排除这部分后,额外费用过高占 40%,强制创建账号占 18%,结账过长或复杂占 17%,网站报错或崩溃也占 17%。这些问题都发生在提醒邮件之前。
结账页首期应尽早显示客户真正要付的金额,并让运费、税费和配送时效有出处。能做访客结账就不要先逼注册;需要账号的订阅、会员权益或受监管商品,则应说明为什么需要。表单只收履约、支付和合规所需的信息,账单地址与收货地址相同时不必再填一遍,非必填字段也不要排在主流程里增加判断成本。
步骤少不一定等于更好。Baymard 2024 年的结账研究记录到,受测网站平均有 5.1 个结账步骤和 11.3 个表单字段;其测试结论是,用户需要处理的字段数量,比页面被分成几步更影响体验。所以首期不必执着于“一页结账”还是“分步结账”,先让每一步只问必要问题,并在手机上完整测试。
支付环节还要把业务结果说清。支付机构返回成功,只是订单进入下一状态的依据之一;商城要防重复提交,校验回调,保存交易号,并处理支付成功但页面没有跳回、支付失败后重试、库存变化和金额不一致等情况。采用托管或预制结账能力时,也要确认订单摘要是否包含小计、运费、税费和折扣,支付方式是否覆盖目标市场,而不是只看能不能弹出付款窗口。Stripe 当前的 Checkout 文档也把订单摘要、税费、运费、折扣、支付后处理和本地支付方式列为完整结账能力的一部分。
优惠券首期做不做,取决于开业当天怎么卖
优惠券不是每个商城的首期标配。如果首发活动、渠道合作、会员补偿或线下券核销已经确定要用,优惠券就是计价和对账的一部分,应当随结账一起上线。只做一个输入框远远不够,至少要明确:
- 哪些商品、分类、客户或地区可以使用;
- 满多少金额生效,门槛按优惠前还是优惠后计算;
- 固定减额、百分比、免运费分别怎样处理;
- 生效和失效时间采用哪个时区;
- 总使用次数、每位客户次数、能否叠加;
- 取消、退款和部分退款后如何返还额度;
- 输入无效、已过期或不满足条件时,客户能看懂原因。
如果开业没有任何优惠计划,首期可以只把订单数据和价格计算方式设计好,为以后增加折扣留出位置,不必急着开发复杂后台。更不建议一直把醒目的“优惠码”输入框摆在结账页上。没有券的客户看到它,常会暂停付款去别处找码;确实需要时,可以收在“有优惠码?”的展开项里,应用后立即显示减了多少和新的总额。
优惠券也不应被当成修补结账问题的办法。运费太晚出现、支付经常失败,发一张券只会把问题暂时盖住,还增加利润和对账压力。

弃购提醒通常放在第二阶段,但数据不能等到第二阶段
弃购提醒要有效,前面至少有四件事已经成立:系统能识别一次有效购物车或结账;能判断订单后来是否完成;消息里的链接能恢复原商品和结账状态;发送这条消息具备适用地区和渠道要求下的授权、退订与停止机制。
这也是为什么它通常排在购物车和结账页之后。若购买流程本身不稳定,提醒只会把客户带回同一个故障点。更麻烦的是,支付已经完成却仍收到“您还没付款”的消息,这种错误比不提醒更伤信任。
不过,首期不能完全不管弃购。加购、查看购物车、开始结账、提交支付、支付成功、支付失败这些事件,应在第一版就使用一致的订单标识记录;已识别客户与匿名访客要分开处理;恢复链接不能暴露他人的购物车;购买成功、商品失效或价格变化后,原提醒任务要取消或重新校验。Google Analytics 的电商衡量文档也把 add_to_cart、begin_checkout 和 purchase 作为不同的推荐事件,说明这几个动作本来就不应混成一个“转化”状态。
真正上线提醒时,先用简单版本更容易发现问题:限定一个渠道、一个清楚的触发条件和一条不带虚假紧迫感的消息,先确认恢复链接、排除规则和停止发送都可靠,再根据真实数据判断是否增加第二次提醒。提醒时间没有适用于所有商品的统一答案。日用品、定制家具和企业采购的考虑周期完全不同,照搬“半小时后发一封”并不专业。
是否附优惠也不要先拍脑袋。第一条消息可以先帮助客户回到原购物车,保留价格、规格和库存说明。只有数据证明价格阻力明显,并且毛利、活动规则和客户分层允许时,再测试优惠。否则很容易教会老客户故意离开,等折扣再买。

一个更实际的首期排法
预算和时间有限时,可以按依赖关系安排,而不是按功能名字平均分配工期。
第一批完成购物车、结账、支付结果、订单后台和通知,同时把关键事件记录好。这一批的验收标准是:真实设备、真实支付环境下,一笔订单可以从加购走到确认、发货、退款和对账,异常情况不会造成错单或重复扣款。
如果开业营销确定依赖优惠券,同一批加入一套够用的基础规则,但不要一开始就做多券叠加、复杂人群包和几十种促销组合。没有明确营销用途,就把优惠券放到紧随其后的版本。
弃购提醒排在交易稳定之后。首期只完成后续必需的数据、授权和恢复能力;第二阶段根据实际流失位置决定先优化结账,还是启动提醒。若数据发现大批客户停在运费展示、地址填写或某种支付方式,先修那里,通常比多发几条消息更直接。
上线前用真实订单核对,而不是只看页面
准备上线时,至少把下面这些订单完整走一遍:普通现货、库存只剩一件、优惠刚好达到门槛、优惠刚过期、运费发生变化、支付失败后重试、支付成功但浏览器未跳回、同一按钮连续点击、手机端地址填写、取消订单和部分退款。
再核对三组数字:购物车显示金额、支付机构实际扣款和订单后台入账金额是否一致;支付成功数、有效订单数与统计工具中的购买事件能否对上;弃购名单里是否已经排除了付款成功、主动退订和不具备发送条件的人。
首期范围到这里就很清楚了。购物车与结账页负责把钱收对、把订单建对,是必须完成的主流程;优惠券服从已经确定的销售规则;弃购提醒等主流程稳定后再开,但它依赖的数据和恢复能力要提前埋好。功能多少不是重点,客户能否在没有人工补救的情况下,清楚、稳定地完成一笔交易,才是首期真正的完成线。
参考资料
[1]: Baymard Institute, 50 Cart Abandonment Rate Statistics 2026,页面显示统计最后更新于 2025 年 9 月 22 日。 [2]: Edward Scott, Baymard Institute, Checkout Optimization: 5 Ways to Minimize Form Fields in Checkout,发布于 2024 年 6 月 26 日。 [3]: Stripe Documentation, Build a payments page。 [4]: Google for Developers, Measure ecommerce。