ROAS 好看,为什么利润和现金还是很差?
ROAS、利润和现金记录的是三件不同的事。先给 ROAS 一个明确工作,再把平台记功对账到成熟贡献与现金。

直接回答:因为 ROAS、利润和现金正在记录三件不同的事。
ROAS 通常是平台归因的 conversion value 除以平台记录的媒体花费。它可以帮团队在转化事件、value、窗口、归因模型和币种都没有改变时,观察一个渠道相对自己过去的变化。它却没有自动扣除退货、履约、支付、客服和库存成本,也没有一个未曝光的反事实去证明订单因广告而增加,更不知道支付平台什么时候把钱放到银行账户。
所以,广告后台一片绿、商店也在出单,而利润表和银行余额仍然紧张,并不矛盾。团队现在需要确认:这个 ROAS 被用来承担什么决定?
先给 ROAS 一个明确的工作

在 Google Ads 的官方定义中,conversion value/cost 使用广告主为 conversion action 配置或上报的 value;Conversions 列还可能包含 modeled conversions。Google 的归因模型说明也明确表明,模型会改变 conversion credit 如何分配,并影响报表与 bidding。这些机制对平台优化很重要,但“平台按什么规则给自己记功”与“商家成熟后留下了多少贡献”是两个问题。
一个 ROAS 在进入利润讨论前,至少要有一张 metric passport:
- conversion action 是 purchase、lead,还是多种事件的混合;
- value 来自订单实际金额、固定默认值,还是预测值;
- 同一订单如何去重,跨设备、点击和浏览怎样计数;
- 归因模型、点击/浏览窗口和报告日期口径;
- 币种、税费、运费、折扣、取消、退货和退款怎样处理;
- 分母是否只包媒体费,creator、代理、样品等成本是否在别处记录;
- 当前数据是 provisional,还是已经过了商家真实的取消、退货、争议与质保窗口。
这张 passport 负责保持前后可比,不要求团队参加字段考试。如果 value 上报、窗口或归因模型刚改过,新旧 ROAS 可能已经不是同一把尺。如果这些设置稳定,ROAS 就完成了它最有用的任务:作为渠道内诊断信号,帮团队发现需要继续调查的变化。

从平台记功到现金,要对五本账
很多团队发现 ROAS 不够,会再选一个“真正的北极星”:MER、AOV、毛利率、CM3、LTV、复购率或现金余额。这些指标都能提供一部分信息,却也都不应该单独代替整个决定。
更稳妥的做法是把五层都保留下来,让每一层回答自己的问题。
第一层:平台 self-credit
Meta、Google 和其他平台使用各自可见的事件、身份、窗口与模型给 conversion 分配 credit。一个平台报告的 attributed value 可以用来理解它自己的优化与趋势,不应与其他平台的 self-credit 直接相加当成公司收入。
第二层:canonical order 与全局白盒 credit
先回到业务 conversion:是哪一张订单、当前处于什么状态、币种与成熟净值是多少。然后将可见的 Paid、Organic、Email、Direct 等触点置于同一时间线,用一套有版本、可解释的规则分配 credit。
数汇恒流的全局白盒归因会保留平台的自归因视图,同时将订单级 credit 放到全账户一致的 policy 下。匹配失败时记为 unattributed,身份不清时记为 identity-unresolved,数据不足时记为 insufficient-data。价值在于:为什么分、为什么没分,都有可复核的解释。
但白盒 credit 仍然是 credit。它不会自动看到所有触点,不会把选择效应变成增量,也不能包办全部经营判断。
第三层:成熟订单贡献
订单 value 要先经过折扣、取消、退货、退款、争议和质保的重述。然后扣除 landed COGS、包装、拣配、履约、商家承担的运费、支付费、逆向物流、服务和其他随订单变化的成本。得到广告前贡献后,再减去同口径获客成本,才能讨论首单广告后贡献。
Shopify Finance reports 可以提供 net sales、COGS 和 gross profit 等字段,但官方文档同时说明,只有记录了 product cost 的销售才会进入相应成本计算。缺失成本不是零,平台 gross profit 也不是已经扣完履约、支付、退货、广告与公司期间费用的会计利润。
第四层:同龄 cohort 与 payback
对有自然复购的业务,首单可以有一个明确、可承受的贡献缺口,再由后来真实发生的复购贡献补回。这里要比较相同 customer age 的 cohort,使用成熟净值与完整贡献,并将 realized 与 forecast 分开。
在非合同电商中,客户没有再购并不等于已知 churn;新 cohort 还面临右删失、选择差异和不成熟问题。预测 LTV 可以参与情景讨论,但它不能提前写成 realized contribution,也不能被当成已经到账的钱。
第五层:Payout、库存与营运资金现金
订单有正贡献,并不代表这笔钱现在可用。收入、processor balance、Payout、银行入账使用不同日期;库存可能已经付现,却要等售出才进入 COGS;供应商、广告账单、税款和债务又有各自的到期日。
Shopify Payout Reconciliation Report 可以协助对账 charges、fees、refunds、disputes、holds 与 payouts。每一种第三方支付、3PL、逆向物流和库存付款仍要另行核对。专业会计资料常把 cash operating cycle 写成 inventory days 加 receivables days 减 payables days。这个关系提供检查资金占用的入口,不构成所有企业都应追求的通用天数。
同样的 ROAS,为什么可以有相反的结论?
下面是一个完全合成的算术示例。数字不来自客户、社区帖子或平台 benchmark,不代表任何行业阈值。
Offer A 和 Offer B 各花 1 万元媒体费,平台都给自己记了 3 万元 conversion value,所以平台 ROAS 同为 3.0。
- 合成示例项目: 平台 self-credited value · Offer A: 3 万 · Offer B: 3 万
- 合成示例项目: 全局对账后的成熟净销售 · Offer A: 2.4 万 · Offer B: 2.7 万
- 合成示例项目: 完整非广告变动成本 · Offer A: 1.2 万 · Offer B: 2 万
- 合成示例项目: 广告前贡献 · Offer A: 1.2 万 · Offer B: 0.7 万
- 合成示例项目: 减媒体费后的首单贡献 · Offer A: 0.2 万 · Offer B: -0.3 万
平台层看,两个 Offer 一样好;成熟贡献层看,A 保留了正的首单贡献,B 则在复制同类订单时增加缺口。但 A 也不能立即获得无上限扩量权。如果下一张采购单需要在 Payout 到账前支付,且 downside sell-through 会击穿最低现金线,A 仍可能只适合 test-bounded 或 hold。
这个示例刻意让三层结论不同:归因使 credit 可对账,不代替成本;贡献为正,不代替现金时间;历史平均成立,不代表下一段投入的边际结果成立。

Break-even ROAS 必须指明是哪一层的盈亏线
假设一组同口径成熟订单的净价值是 M,完整非广告变动成本是 Cv,广告前贡献就是:
A = M - Cv
如果问题是“首单贡献刚好不亏”,媒体费上限是 A,相容口径下的 first-order break-even ROAS 是:
M / A
如果老板要求每一单还要保留目标贡献 Q,允许 CAC 变成 A - Q,target-reserve ROAS 是:
M / (A - Q)
只有在分子、订单、时间窗口、币种和 spend 口径互相兼容时,这些公式才可以与平台 ROAS 比较。当 A ≤ 0 或 A - Q ≤ 0,状态是 not-feasible,不是输出一个负的允许 CAC,更不是让广告算法去挽救本身不成立的订单经济。
固定成本、阶梯成本和一次性成本需要另行进入声明过销量、组合、期间与容量的情景。将月度固定费用除以当前订单,可以帮助团队做期间 break-even 分析,但不会使它们变成下一单必然增加的边际成本。
这就是为什么“一个健康 ROAS 是多少”没有脱离商家自己的答案。品类 benchmark、社区数字或代理商经验可以成为待重算的参照,不能替代一个商家自己的 mature net value、成本覆盖、贡献要求和现金约束。
购买、成熟和现金,走的是三只不同的钟
第一只是购买与归因时钟。客户点击或看到广告,订单在平台窗口内发生,平台开始记 credit。
第二只是退货与 cohort 成熟时钟。取消、退货、退款、争议、质保和真实复购逐步发生。Google 的 conversion adjustments 允许对取消、退款或价值变化做 retract 或 restate;Shopify 对 sales discrepancies 的说明 则提醒团队,return、refund、restock、order edit 和日期分组会产生不同报告结果。近期 cohort 应被标记为 provisional,而不是与已成熟 cohort 直接排名。
第三只是库存、Payout 与现金时钟。补货定金、供应商尾款、运费、广告账单、税款、债务、处理商保留金与银行入账都有日期。库存在资产负债表上的账面价值,不等于现在可提取的现金;存货跌价、陈旧、损坏或处理还可能改变可变现价值。
真正可执行的做法是先固定 business entity、账户、币种与期间,将订单、processor balance、Payout、银行和账本对上;再将现货、在途与新采购、应付应收、税款、债务与最低现金放入 base 和 joint-downside 情景。任何没对上的项目都保留 unresolved,不当作零。

归因不是增量,历史平均也不是下一块钱
即使订单、成本与现金都对上了,还有一条边界不能跨过:“这个触点在规则下获得 credit”,不等于“没有广告时这笔订单不会发生”。
增量问题需要反事实。合格的 holdout、Conversion Lift 或 geo experiment 可以帮助估计处理与对照之间的差异,但实验也有统计功效、溢出、预算约束、地区差异和执行完整性问题。没有可信对照时,结论就应该明确写成归因估计而不是因果增量;实验结果不精确时,inconclusive 也是合法结论。
此外,一个 Campaign 上周表现很好,不代表它获得了永久的“可扩量”标签。历史平均 ROAS、CAC 和贡献使用的是已发生流量、商品组合与拍卖结果;下一段预算可能进入不同受众、版位、创意、SKU 组合和库存状态。历史平均描述了已经买到的量,老板要决定的是下一段投入。
把“扩量吗”改成一份有边界的决定记录
一场可用的增长会不应以“ROAS 还不错,再跑跑看”结束。它应该产生一张 Attribution-to-Cash Decision Record:
- 字段: 决定对象 · 本轮需要写清的事: 下一段媒体费、一个 Offer 测试、一张采购单,还是暂停
- 字段: Metric passport · 本轮需要写清的事: conversion、value、counting、window、model、currency、spend scope 和成熟状态
- 字段: Canonical order · 本轮需要写清的事: 订单 ID、状态、成熟净值、reversal 和对账缺口
- 字段: Credit state · 本轮需要写清的事: 平台 self-credit、全局白盒 credit、未归因与身份不明状态
- 字段: 成本与贡献 · 本轮需要写清的事: 非广告变动成本覆盖、首单贡献、期间/阶梯成本与缺失项
- 字段: Cohort 与 payback · 本轮需要写清的事: 同龄 cohort、realized/forecast、成熟窗口、缺口上限和回收状态
- 字段: 现金边界 · 本轮需要写清的事: Payout、库存/PO、应付应收、税与债务、最低现金与 downside
- 字段: 证据与未知 · 本轮需要写清的事: 归因还是增量,支持证据、反证、未解决项和可能改判的新信息
- 字段: 授权边界 · 本轮需要写清的事: 一个 owner、一个投入上限、一个自然观察窗口、保护线、停止/回滚与人工审批
最后只返回五种状态之一:
- scale-bounded: 成熟边际贡献、现金与容量支持下一段投入,但仍有上限与审批;
- test-bounded: 经济上可能成立,证据还不足,只购买一段可承受的学习;
- hold: 当前经济、库存、现金、客户或合规保护线不支持继续;
- measure-only: 订单、成本、身份、退货或 Payout 还没对上,先修当前决定所需的事实;
- insufficient-evidence: 不确定性大到无法对当前决定负责,不用一个假精确数字填满空白。
这些状态都不会自动修改广告预算或生产配置。它们只是把决定所需的事实、未知、经济边界和人工审批放进同一张记录。

下周开会前,先问这五个问题
- 这个 ROAS 的 conversion、value、window、model、currency 和 spend scope 是什么,近期有没有改过?
- 平台记功能否对到同一张 canonical order,取消、退货、退款与重复事件现在是什么状态?
- 成熟净值扣除完整非广告变动成本后,这组订单留下了多少贡献?缺失的成本是什么?
- cohort 是已经成熟、正在成熟,还是只有预测?当前结论是归因估计,还是有合格反事实支持?
- 下一段媒体费和采购承诺会在什么日期发生,Payout、退款、库存、应付和最低现金在 base/downside 情景下能否承受?
如果第二个问题就答不出来,先修订单事实与归因对账,不再寻找一个更漂亮的 ROAS benchmark。数汇恒流的归因分析会在一套全账户白盒 policy 下保留平台 self-credit、订单级 credit、未归因与证据不足状态;它提高可解释与可对账性,不声称看见所有触点,也不把 credit 写成因果。
如果订单、成本、cohort、库存与现金已经需要放进同一项老板决定,可以通过增长策略咨询界定一个明确问题、证据底座、情景边界、owner 和停止条件。这类工作不代替客户的财务、税务、法务或融资顾问,也不会在没有人工审批的情况下更改预算、库存、采购单或现金。
不要把 ROAS 丢掉。把它放回渠道诊断的位置,再沿着订单往后对账,直到下一笔钱得到一个有边界、可复核、可撤回的决定。