把 Click-to-WhatsApp 广告做成可衡量的 ROAS
一句话答案
归因断在一个非常具体的位置:`ctwa_clid` 只出现在这段会话第一条入站消息的 referral 里,那一刻没有存进会话,就永远拿不回来了。闭环的做法是:首次触达即捕获,把它跟着会话一路带到成交(不管中间隔了几天、转了几次人工),并在订单真正成交时才发出 Conversions API 事件——而不是在对话开始时发。
Click-to-WhatsApp(CTWA)广告是东南亚卖家能拿到的最高意向广告形式之一——一个点了「发送消息」的顾客,已经决定要跟你聊了。问题出在点击之后:对话进了 WhatsApp,订单往往几天后才成交,广告花费与营收之间的归因链就这么悄悄断了。
多数卖家最后只能把广告花费和聊天量当成两个平行宇宙分别汇报,然后凭感觉估 ROAS。这个缺口正是 CAPI(Conversions API)和消息级归因该补上的地方——前提是 `ctwa_clid` 真的活过了整段旅程。
归因链断在哪里
点击 ID(`ctwa_clid`)出现在这段会话第一条入站消息的 referral 载荷里。如果你的收件箱工具没有在首次触达时把它捕获下来,它就没了——后续消息里不会再给你第二次机会。
捕获之后,这个 ID 要跟着会话一路走到订单——不管中间隔了多少条消息、多少天、多少次人工接手——并在订单确认时作为 Conversions API 事件回传给 Meta,而不是在对话刚开始时就回传。
把闭环真正做完
首次触达就捕获 `ctwa_clid`,并存在会话上而不是消息上。会话会跨越好几天,点击 ID 必须活得比携带它的那条消息更久。
在订单真正成交时发出 CAPI 购买事件:`action_source: business_messaging`,点击 ID 放在 `user_data` 里,用 `event_id` 去重——无论触发方是自动的订单确认 webhook,还是人工客服手动标记成交。
用同一条「会话 → 订单」链路在广告账户层面报 ROAS,这样你的数字才会跟 Ads Manager 对得上,而不是互相打架。
为什么值得花这个工程量
闭环一旦成立,CTWA 就不再是一个凭信念投钱的量级玩法,而变成一个可以拿证据放量的渠道——就像卖家早就在用实测转化率放量 Shopee 广告那样。最先做到的卖家会直接在同一批人群上出价压过所有人,因为他知道这笔账是赚的,而竞争对手还在猜。
常见问题
- ctwa_clid 是什么?从哪来?
- 它是 Meta 给 Click-to-WhatsApp 广告点击附上的点击标识符,出现在该会话第一条入站 WhatsApp 消息的 `referral` 对象**顶层**——不是嵌在更深的层级里,也不会在后续消息中重复出现。
- 为什么我的 CTWA 报表跟 Ads Manager 对不上?
- 通常是因为两边数的是不同事件:Ads Manager 数的是点击当下发起的对话数,而你的表格数的是几天后成交的订单。只有当两个数字都由同一条「会话 → 订单」链路产出时,它们才对得上。
- 当时没存,事后还能补回点击 ID 吗?
- 不能。referral 载荷只搭第一条消息这班车。那一刻没有落到会话上,这次点击就永久无法归因——所以「首次触达即捕获」是收件箱的架构决策,不是报表层的决策。