订阅更新

用户画像怎么支撑广告投放?我在出海业务的归因实战

用户画像手册 第 12 题 约 9 分钟读完

本文目录
  1. 先说结论
  2. 画像→人群包→广告投放的完整链路
  3. 归因模型:Last Click vs Multi-Touch
  4. 广告ROI分析:画像数据的核心应用
  5. 面试高频追问
  6. 实战踩坑
  7. 总结

先说结论

画像支撑广告投放的核心链路是:画像标签→人群包→广告平台定向→归因分析→反馈优化。这是一个闭环,画像数据在其中起到了「告诉广告平台该投给谁」和「告诉运营哪些投放有效」两个关键作用。

归因是最难的环节。用户看了Facebook广告、又看了TikTok广告、最后搜索了品牌词下载的——这次安装算哪个渠道的功劳?这就是归因要解决的问题。

出海业务的归因比国内复杂得多。涉及多平台(Facebook/Google/TikTok)、多时区、IDFA缺失等问题。

先把这段讲顺;面试官追问时,再展开下面的原理和细节。

详细讲解

广告投放是用户画像最有商业价值的应用场景之一。我在某短剧出海公司,核心工作就是用画像数据支撑广告ROI分析和人群定向。面试官问这道题,不只是考你懂不懂广告业务,更是考你能不能把画像和业务价值连接起来——毕竟花钱买用户是公司最大的成本之一。

画像→人群包→广告投放的完整链路

画像支撑广告投放的完整链路:
 
Step 1: 画像标签圈选种子用户
  从ads_user_profile圈选高价值用户(RFM冠军用户)
  导出user_id列表作为种子人群包
 
Step 2: 上传人群包到广告平台
  Facebook -> Custom Audience(自定义受众)
  TikTok   -> DMP人群包
  Google   -> Customer Match
 
Step 3: 广告平台做Lookalike扩展
  基于种子用户特征,找到相似的潜在用户
  扩展比例通常1%-5%(越小越精准)
 
Step 4: 投放 + 归因
  用户看到广告 -> 点击 -> 安装App -> 注册 -> 付费
  归因系统记录每一步的渠道来源
 
Step 5: 归因数据回流到画像
  新用户的来源渠道写入标签(acquisition_channel)
  用于分析不同渠道带来的用户质量

归因模型:Last Click vs Multi-Touch

我在出海公司用过两种归因模型:

维度Last Click(末次归因)Multi-Touch(多触点归因)
原理功劳全给最后一次点击的渠道按规则把功劳分配给多个触点
优点简单、明确、易执行更公平地评估各渠道贡献
缺点忽略了前面触点的贡献复杂、需要更多数据支撑
适用预算有限、快速决策预算充足、精细化运营
我们的选择日常报表用这个月度深度分析用这个
-- Last Click归因SQL:把安装归因给最后一次广告点击
WITH install_events AS (
  SELECT user_id, install_time, device_id
  FROM dwd_app_install WHERE dt = '${bizdate}'
),
click_events AS (
  SELECT device_id, campaign_id, channel,
    click_time,
    ROW_NUMBER() OVER(
      PARTITION BY device_id
      ORDER BY click_time DESC          -- 取最后一次点击
    ) AS rn
  FROM dwd_ad_click
  WHERE click_time >= DATE_SUB('${bizdate}', 7)  -- 归因窗口7天
)
SELECT
  i.user_id,
  c.channel,                             -- 归因渠道
  c.campaign_id,                         -- 归因广告计划
  c.click_time,
  i.install_time,
  TIMESTAMPDIFF(HOUR, c.click_time, i.install_time) AS click_to_install_hours
FROM install_events i
LEFT JOIN click_events c
  ON i.device_id = c.device_id AND c.rn = 1  -- 最后一次点击
  AND c.click_time < i.install_time           -- 点击在安装之前
  AND DATEDIFF(i.install_time, c.click_time) <= 7;  -- 7天归因窗口

广告ROI分析:画像数据的核心应用

归因完成后,最重要的分析就是各渠道的ROI。画像数据在这里的作用是:把不同渠道带来的用户的长期价值(LTV)算清楚。

-- 分渠道ROI分析:结合画像标签算用户LTV
SELECT
  a.channel,
  a.campaign_id,
  COUNT(DISTINCT a.user_id) AS installs,                  -- 安装量
  SUM(a.cost_usd) AS total_cost,                          -- 广告花费
  COUNT(DISTINCT CASE WHEN p.value_level = 'high'
    THEN a.user_id END) AS high_value_users,              -- 带来的高价值用户数
  SUM(p.total_amount_usd) AS total_revenue,               -- 这批用户的总收入
  ROUND(SUM(p.total_amount_usd) / SUM(a.cost_usd), 2) AS roi,  -- ROI
  ROUND(SUM(a.cost_usd) / COUNT(DISTINCT a.user_id), 2) AS cpa  -- 单用户获取成本
FROM dwd_attribution a
JOIN ads_user_profile p ON a.user_id = p.user_id AND p.dt = '${bizdate}'
WHERE a.install_date BETWEEN DATE_SUB('${bizdate}', 30) AND '${bizdate}'
GROUP BY a.channel, a.campaign_id
ORDER BY roi DESC;

这个SQL的价值在于:不只看安装量和CPA(短期指标),还看这批用户的value_level和总收入(长期指标)。有些渠道CPA低但带来的都是白嫖用户,有些渠道CPA高但带来的都是高付费用户——只看CPA会做出错误的预算分配决策。

面试高频追问

追问一:IDFA缺失后,iOS用户怎么归因?

苹果iOS 14之后IDFA默认关闭,获取率从95%暴跌到不足30%。我们的应对方案有三层:①SKAdNetwork(苹果官方归因框架),只提供渠道级别的聚合数据,不提供用户级别的数据,做不了精细归因但至少知道大概渠道分布;②概率性归因(Probabilistic Matching),基于IP+UA+设备型号+时间窗口做模糊匹配,准确率约60-70%;③自归因渠道(SANs)如Facebook和Google有自己的归因SDK,能提供部分转化数据。三种方案结合使用,iOS归因覆盖率能恢复到80%左右。

追问二:归因窗口设多少天合理?

看业务类型。短剧类产品用户决策周期短,归因窗口设1-3天;电商类设7天;硬件类(客单价高)设14-30天。窗口太短会漏掉延迟转化,太长会把不相关的归因错误关联。我在短剧出海公司用的是点击归因7天+曝光归因1天的组合。

追问三:你们用第三方归因工具还是自建?

我们用的AppsFlyer做移动端归因,行业主流工具还有Adjust和Branch。自建归因成本太高——需要和Facebook、Google、TikTok各平台对接API,还要处理设备ID匹配、反作弊等问题。但AppsFlyer的数据也会回流到我们的数仓,和画像标签关联做深度分析。日常看板用AppsFlyer,深度分析和LTV归因用我们自己的数仓+画像数据。

实战踩坑

我在某短剧出海公司做归因时遇到过一个跨时区的坑。广告平台(Facebook)按美国太平洋时间(UTC-8)记录点击时间,我们的数仓按UTC时间记录安装时间。一个日本用户晚上10点看到广告点击了(Facebook记录为太平洋时间凌晨5点),第二天早上下载了App(UTC时间前一天22:00)。

因为时区不一致,归因SQL里的click_time < install_time这个条件判断出了问题——点击时间被记录成了安装之后,导致这个用户没有被归因到任何渠道。

-- 修复前:时区不一致导致归因遗漏
-- click_time是太平洋时间,install_time是UTC,直接比较会出错
 
-- 修复后:统一转换为UTC再比较
SELECT i.user_id, c.channel
FROM install_events i
JOIN click_events c
  ON i.device_id = c.device_id
  AND CONVERT_TZ(c.click_time, 'America/Los_Angeles', 'UTC')
    < i.install_time   -- 统一转UTC后再比较
  AND DATEDIFF(i.install_time,
    CONVERT_TZ(c.click_time, 'America/Los_Angeles', 'UTC')) <= 7;

教训:出海业务做归因,第一件事就是把所有时间统一转成UTC。不同广告平台、不同SDK上报的时间可能用不同时区,不统一就会出现归因遗漏或错误归因。这个坑看起来简单,但因为涉及多个数据源,排查起来很耗时。

总结

画像支撑广告投放的核心是闭环:画像圈选种子用户→人群包上传→Lookalike扩展→归因回流→ROI分析→反馈优化画像标签。归因模型日常用Last Click够用,深度分析用Multi-Touch。出海业务重点注意IDFA缺失和时区问题。面试时能把画像和广告ROI的关系讲清楚,说明你不只是做数据的,更是理解商业价值的。

下一篇聊一个运维类话题:标签逻辑改了,历史数据要不要重刷?标签回溯和版本管理实战。

你们公司的广告归因用的什么工具?有没有遇到过时区导致的归因问题?评论区聊聊~

关注「Wood聊大数据」| 9年大数据老兵,聊技术、聊职场、聊成长

刷题进度保存在当前浏览器