Skip to content

CPA

定义

CPA 是 Cost per Action,中文通常叫单次行动成本。

它表示为了让用户完成某个指定行为,企业平均花费了多少成本。这个行为可以是注册、加购、下单、首购、下载或提交表单。

一句话理解:CPA 回答“让用户完成一个目标动作,要花多少钱”。

为什么重要

CPA 是广告和增长投放中非常常用的效率指标。相比 CAC,CPA 更灵活,因为它可以衡量漏斗中不同阶段的成本。

例如:

  • Cost per Signup:每个注册成本
  • Cost per Add to Cart:每个加购成本
  • Cost per Purchase:每个购买成本
  • Cost per First Purchase:每个首购成本

CPA 能帮助团队判断投放是否有效,也能定位成本卡在哪个漏斗环节。

Growth 漏斗位置

CPA 通常位于 Acquisition 层,但可以映射到整个漏斗。

不同 Action 对应不同位置:

  • Click: Acquisition
  • Signup: Activation
  • Add to Cart: Activation / Conversion
  • Purchase: Conversion
  • First Purchase: Conversion / Revenue

计算公式

基础公式:

text
CPA = Campaign Spend / Number of Actions

例如:

text
Cost per Signup = Spend / Signups
Cost per Purchase = Spend / Purchases
Cost per First Purchase = Spend / First Purchases

如果 Action 定义为新客户首购,CPA 会接近 CAC。但严格来说,CAC 更强调“新客户”,CPA 更强调“某个动作”。

统计口径

CPA 的核心是先定义 Action。

必须明确:

  • Action 是点击、注册、加购、购买还是首购
  • 是否只计算新用户
  • 是否只计算付费订单
  • 归因窗口是多少天
  • 多渠道触点如何归因
  • 取消和退款是否扣除

推荐命名要具体,避免只写 CPA:

  • Signup CPA
  • Purchase CPA
  • First Purchase CPA
  • Add-to-Cart CPA

示例

某广告活动花费 30,000 元,带来:

  • 6,000 次点击
  • 1,200 次注册
  • 300 次首购

则:

text
Cost per Click = 30,000 / 6,000 = 5 元
Cost per Signup = 30,000 / 1,200 = 25 元
Cost per First Purchase = 30,000 / 300 = 100 元

同一个活动可以有多个 CPA,关键看团队优化目标是哪一个 Action。

SQL 思路

按广告活动计算购买 CPA:

sql
with campaign_actions as (
  select
    campaign_id,
    count(distinct order_id) as purchases
  from orders
  where attribution_type = 'paid_ad'
    and order_status in ('paid', 'shipped', 'completed')
  group by 1
),
campaign_spend as (
  select
    campaign_id,
    sum(spend_amount) as spend
  from marketing_spend
  group by 1
)
select
  s.campaign_id,
  s.spend,
  a.purchases,
  s.spend * 1.0 / nullif(a.purchases, 0) as purchase_cpa
from campaign_spend s
left join campaign_actions a on s.campaign_id = a.campaign_id;

Dashboard 展示

建议展示方式:

  • CPA by Campaign
  • CPA by Channel
  • CPA Funnel: Click CPA、Signup CPA、Purchase CPA
  • CPA 趋势图
  • CPA vs Conversion Rate
  • CPA vs Revenue per Action

可视化建议:用漏斗图展示从 Click 到 Purchase 的各阶段 CPA,让团队看到成本在哪一层突然变高。

如何优化

优化 CPA 要先明确 Action。

如果优化 Signup CPA:

  • 提升广告点击质量
  • 简化注册流程
  • 优化注册页文案

如果优化 Purchase CPA:

  • 提升商品页相关性
  • 优化首单优惠
  • 改善结账体验
  • 提升支付成功率

如果优化 First Purchase CPA:

  • 过滤低意图用户
  • 优化新客落地页
  • 将预算转向高转化渠道

CPA 优化不能只压低成本,也要看 Action 的后续价值。例如低成本注册如果不购买,就没有商业意义。

常见误区

  • 不定义 Action 就讨论 CPA。
  • 把 CPA 和 CAC 混用。
  • 只优化浅层 Action,例如点击或注册。
  • 不看后续购买和 LTV。
  • 不同渠道归因窗口不同却直接比较 CPA。
  • 忽略退款和虚假转化。

相关指标

面试题

  1. CPA 和 CAC 有什么区别?
  2. 为什么必须先定义 Action 才能计算 CPA?
  3. 如果 Signup CPA 很低但 Purchase CPA 很高,说明什么?
  4. 如何用 CPA 漏斗优化广告投放?
  5. CPA 是否越低越好?

企业案例

一家电商广告团队以注册 CPA 为优化目标,注册成本从 40 元降到 15 元。但销售团队发现首购没有增长。进一步分析发现:

  • 新增注册用户优惠敏感
  • 商品浏览率低
  • 注册后没有明确购买路径
  • Purchase CPA 实际上上升

团队改用 First Purchase CPA 作为核心目标,并把注册页改为商品权益页,最终减少了无效注册。

PPT Notes

  • Slide title: CPA: 衡量目标动作成本
  • Key message: CPA 的核心是 Action 定义
  • Visual: Spend / Actions = CPA
  • Speaker note: 对比 CPA 与 CAC,说明 CAC 更强调新客户
电商 Growth 指标手册 · 服务于电商增长团队的实战教材
基于 VitePress 构建 · GitHub