资讯动态

用户增长核心系统实战:广告投放与用户触达的闭环架构设计

发布时间:2026/10/1 18:32:17 来源:尧图企业网站定制
1. 系统整体架构投放与触达如何咬合成增长闭环1.1 模块全景这套系统到底管哪些事先说清楚这套“用户增长核心系统”在我这边的定义。它不是单指一个广告后台也不是单指一套推送工具而是把“花钱买流量”和“免费/低成本触达存量用户”这两条腿全部接进来由一个大脑统一调度。整个系统拆开来看大概是三层第一层是投放侧负责从外部渠道获取新用户。对接的主流渠道包括巨量引擎、腾讯广告、快手磁力引擎以及国内各种中小媒体平台。这一层需要解决的核心问题是钱花出去之后能不能清晰知道每一分钱换回了多少有效用户以及这些用户进来之后是不是目标人群。第二层是触达侧负责盘活已经有手机号、设备ID或账号体系的存量用户。主要手段包括Push推送、短信、邮件、站内信。这一层要解决的是什么用户在什么时间点用什么渠道发什么内容既不让用户觉得被打扰又能在合适的场景把用户拉回来。第三层是数据中枢这一层才是整套系统的灵魂。广告投放和用户触达只是输出动作真正决定动作好坏的是底层的数据回流、归因计算和人群圈选。投放侧的转化回传、触达侧的到达率、两边的ROI口径统一全都在这一层完成。很多人以为增长系统就是“多渠道买量群发消息”真做起来才发现最花时间的不是发消息本身而是把上面这三层串起来。这里我再展开说说闭环逻辑。1.2 为什么拆两层而不是做成一个“全能后台”拆两层这件事我们是踩过坑之后才想明白的。最早我们试图在一个后台里同时管投放和触达结果发现广告投放和用户触达的工作节奏完全不对拍。投放侧的工作形态是短周期、高消耗、强实时。一组计划上线可能只有几小时的生命周期素材点击率不行就要立刻换出价低了拿不到量就要马上调。投放优化师需要的是极快的反馈速度和批量操作能力一套投放系统要能同时支撑几千个计划的管理。触达侧的工作形态完全反过来。用户触达更讲究策略的稳定性和对用户体验的敬畏需要像手术刀一样精准。今天给这批用户发促销明天给那批用户发召回每次动作之前都要确认人群圈选对不对、频控有没有卡住、文案是否合规。节奏是慢的但容错率极低发错一次就可能引发大规模投诉。把这两个模块做成独立系统各自保留自己的操作后台和策略配置入口但共享同一份用户数据和事件数据是更合理的选择。投放侧跑得快触达侧稳得住数据层两边都喂得饱这样的架构在后续扩展渠道或增加触达方式时也更容易。我的建议是如果团队规模不大不需要一开始就搞微服务可以先在同一个工程里分模块但数据库表和代码目录一定要从一开始就分开。后面的维护成本会差很多。1.3 闭环逻辑买量拉新和存量激活如何互相成就很多人把广告投放和用户触达当成两条平行线其实真正让增长系统产生复利效果的是这两者之间的联动。举一个我们实际跑通的场景。通过广告投放拉进来的新用户第一波转化往往是最低的因为用户对你的产品还没有认知。如果投放进来就结束大概率是一次性的流量买卖。但如果我们把投放进来的新用户接入触达系统在新用户注册后24小时内自动触发一系列欢迎流、新客礼包发放、核心功能引导这些用户的首周留存会明显好于不做承接的对照组。反过来触达系统也不只是服务老用户的。当我们在做老用户召回时很多沉默用户需要重新激活但只是发一条“你很久没来了”的Push效果有限。更好的做法是把这些高价值沉默用户圈成人群包回传给广告投放平台做二次触达用广告形式重新出现在他们面前。这类已注册用户的找回成本通常低于纯拉新成本且转化率更高。所以整套系统的闭环逻辑是广告投放负责“把流量引进来”触达系统负责“把用户留下来”数据中台负责“把用户价值算清楚”算清楚之后又把高价值用户反馈给投放端做更精准的定向。学会让这两条腿交替迈步增长速度才会滚动起来。2. 广告投放模块渠道聚合与智能出价的选型逻辑2.1 渠道聚合方式SDK、API还是聚合工具对接广告投放渠道摆在面前的第一道选择题就是技术对接方式。市面上主流的对接方案有三种直接用媒体官方API、接入第三方聚合平台、或者部分渠道用SDK。媒体官方API是最灵活的方式。巨量引擎、腾讯广告都提供完整的Marketing API计划创建、预算修改、报表拉取、转化回传都能在接口层面完成。这种方式能让你拿到最全的数据字段和最快的接口响应但代价是每个渠道都要单独开发适配而且平台的接口版本更新频繁维护成本不低我们团队一度花两周做一个渠道的报表字段适配。第三方聚合平台是很多中小团队的选择。借助已有平台提供的统一API封装可以做到一次接入、多渠道路由。优点是省人力上线快同时平台方会帮你处理接口变更缺点是抽一层之后数据延迟和灵活性都要打折扣比如媒体侧新出的一些定向能力聚合平台未必能第一时间同步。SDK方式通常只在特定的场景下使用比如需要采集设备ID做精准归因的渠道。对大多数产品来说我更推荐主力渠道走官方API中小渠道走聚合平台的混合策略。主渠道掌握在自己手里才能保证数据实时性和策略灵活性。2.2 转化回传让广告平台知道“钱没白花”这可能是投放模块里最核心也是问题最多的部分。转化回传的意思是用户通过广告进来并且完成了某个有价值的行为比如注册、下单、成为付费用户你需要把这个行为结果告诉广告平台让平台优化模型找到更相似的用户。转化回传的原理要理解清楚。广告投放平台本身不知道你的产品里发生了什么它只知道广告曝光给了谁、用户有没有点击。至于点击之后用户有没有注册、有没有付费完全依赖于你的回传数据。如果回传数据准确且及时平台的智能投放模型就像长了眼睛会不断优化定向和出价如果回传缺失平台就只能盲投预算很容易被空耗。我们的做法是定义一套标准事件规范包括注册、首次付费、次留、关键行为四类核心事件每种事件绑定不同的业务跳转参数。事件产生后由服务端实时向广告平台发送回传同时本地落一份明细表。这里必须强调一个关键点回传质量比数量重要不要为了短期提升系统表现而虚报事件平台侧的作弊识别机制非常成熟一旦被判定为异常回传账户模型会被降权后续跑量会更加困难。回传时效也讲究通常要求秒级回传。我们在实际运维中见过因为回传服务挂掉了大半天、导致当天所有渠道都空耗预算的案例这种问题需要在监控上专门处理后面章节会展开讲。2.3 RTA实时竞价值不值得上RTA全称Real-Time API简而言之就是广告平台在竞价之前把用户的请求信息实时发送给广告主由广告主决定要不要出价参与竞价。广告主说“要”平台才竞广告主说“不要”流量就转给别的广告主了。这个机制的价值在于精细化流量筛选。比如我们已经知道某一部分用户是高流失风险或者已经是我们付费用户就不再花新客的钱去触达这部分人。RTA就是把流量筛选的主动权从平台那边拿回到自己手里。但RTA不是想上就能上的。它要求广告主具备低延迟的接口响应能力通常请求发出到返回结果要在100毫秒以内因为在广告竞价链路里这个请求是有超时限制的。所以没有稳定的服务器集群和缓存策略RTA会把接口拖垮。对ROI影响最大的场景值得做RTA如果只是粗放投放可以先不做。另外一个经验RTA做好之后流量筛选请求也都能在本地日志中沉淀下来这些数据是后续做用户洞察的宝贵来源千万不要只当做一个筛选开关用完就丢。3. 用户触达模块渠道矩阵与频控策略的核心设计3.1 触达渠道定位Push、短信、邮件、站内信分别承担什么角色触达模块的第一个认知是不同渠道从来不是替代关系而是分工关系。Push、短信、邮件、站内信各有各的脾气用对场景才有价值。Push是我的主力渠道因为成本低、实时性好、打开率相对可控。它适合触达已经安装了App但有一段时间没打开的用户。需要注意的问题是权限在iOS和Android两侧都受限于用户是否授权通知。Push到达率并不是100%系统级推送通道、厂商通道限制都会影响最终展示。短信则是保底渠道。用户卸载了App或者关了Push权限之后短信几乎是唯一能把信息送到用户眼前的确定性通道缺点是成本高、有内容审核限制频繁发送还会被运营商通道风控。短信适合高价值用户的低频触达比如付费会员到期提醒、重要资产变动通知。邮件在大部分产品里已是辅助角色但在某些特定行业跨境电商、SaaS、B2B工具依然是有效渠道。它的特点是内容承载量大适合发送账单、周报、产品更新说明这类长文本信息。站内信最适合做“App内部承接”。用户已经打开了App在站内信里看到活动弹窗和消息列表能提升活动参与率而且边际成本几乎为零。它解决的问题是用户在App内时如何把运营内容曝光出去而不是把用户拉回来。我的经验是触达系统至少要能统一管理这4类渠道并且支持在一个活动里配置多种触达方式比如首日用Push第三天未转化增加短信形成一个有节奏的触达序列而不是每个渠道各发各的。3.2 频控逻辑保护用户体验的核心如果说广告投放的难点在花钱的艺术那用户触达的难点就在于克制的艺术。频控做不好轻则用户关闭通知权限重则投诉到应用商店下架。频控的核心维度有三层。第一层是渠道级频控即单个渠道对单个用户一天最多发送多少条。比如Push一天最多3条短信一周最多2条。但只有渠道级频控是不够的因为用户可能同时收到Push、短信和站内信整体触达频次还是超了。所以一定还要做第二层跨渠道频控按用户维度计算全天总触达次数超过阈值直接熔断不再走任何渠道发送。第三层是场景维度的频率限制。用户刚做完核心动作就不应该再收到引导完成这个动作的Push了用户已经领了新客礼包就不再重复发送新人礼遇。这类限制要能通过筛选条件表达式配置运营同学在页面上勾选完成而不是每次都要开发介入改代码。实践上我建议先把熔断阈值调成常规值的50%上线灰度观察一周看投诉率和退订率没有异常后再逐步放宽到目标值。频控阈值一旦定下来就要像合同条款一样对待任何修改都要经过严格评审因为改频控是很危险的上线操作。3.3 触达与投放的联动从“发消息”升级到“跨渠道旅程”单纯的触达引擎只是一个发消息的工具真正有价值的是把触达和投放放到同一张流程画布上编排。我们在系统里引入了“用户旅程”的概念让运营同学可以把触发条件、等待时间、分支判断、执行动作像搭积木一样串起来。举一个实战案例。用户触发“注册完成”事件后旅程开始执行立即发送站内欢迎消息引导完成新手任务24小时后判断用户是否完成首次核心行为如果完成了就走向单结束如果没完成就推送一条带有新人礼包的Push48小时后再判断一次对于仍未转化的高活跃倾向用户自动创建一个人群包回传给广告投放平台在外部渠道找回如果连续一周未活跃则触发高价值用户专属的短信召回。这套东西的价值在于每次触达动作都不是孤立的有前序行为做依据有后续结果做衡量。运营团队从“拍脑袋做活动”变成“配置化运营”而且所有路径都有漏斗数据可回溯哪一步流失大改起来也有据可依。做这个模块要选支持画布式编辑、实时计算用户状态的方案如果自己造轮子工作量集中在引擎状态存储和延迟计算上建议优先考虑成熟的开源方案再定制。4. 数据中枢归因模型、人群包与ROI计算的地基作用4.1 归因模型多渠道投放的钱到底算在谁头上做广告投放早晚绕不开归因问题。用户昨天在腾讯广告看到广告没点今天在巨量引擎看到广告点了晚上自己搜索品牌词进了App并完成了购买这个订单该算给谁归因模型的常见选项有几种末次点击归因把功劳全部给最后一次点击来源首次点击归因把功劳给用户第一次看到的渠道线性归因、时间衰减归因则按规则分摊功劳。国内投放实践中末次点击归因是主流因为逻辑最简单各渠道都比较认可而且媒体平台自己的报表大多也是按这个口径算。我建议不要把数据能力压在一种模型上。系统里应该同时存储点击明细、曝光明细和订单明细然后通过配置式的归因引擎把同一笔订单在不同的归因模型下都能跑出结果。运营团队看日常报表时用末次点击口径做预算分配时再看首次点击或者线性归因的数据。这样既满足日常操作的需要也为季度预算复盘保留更丰富的视角。归因最大的坑是跨渠道设备ID不一致。同一个用户在微信生态里可能没有设备ID在App里又有IMEI/IDFA在网页里只有CookieID。想要串起来就得靠手机号、账号体系做打通打通率做不到100%会有一定的水分。要接受这个现实但可以尽量把打通率指标纳入数据质量的日常监控。4.2 人群包圈选与同步把数据分析结果喂给投放平台人群包是连接数据能力和投放执行的重要管道。我们每天会在数据仓库里算出各种人群比如“近30天有加购行为但未下单”的用户、“开通了会员但近30天未活跃”的用户。光算出来没有用得能把这些用户同步到广告平台去执行再营销。人群包同步的技术实现上核心是一套文件级或接口级的对接流程。我们走的是先把用户ID列表生成文件ID类型包含手机号、OAID、IMEI等多种然后通过媒体API上传创建人群包再等媒体侧处理完成绑定到对应广告计划上。这里有三个细节值得注意第一ID类型一定要对应平台要求。有些平台只接受加密后的手机号有些平台要的是设备ID搞错了就是人群包有效率为0。第二人群包有有效期几乎所有平台的人群包都不能长期有效过期后要么自动失效要么无法用于定向所以要做定时刷新好多人就是忘了刷新导致再营销广告跑不出去。第三人群包数量越多管理成本越高建议为人群包建立统一的命名规范和标签体系否则半年后看到一串没人认识的人群包根本不敢用。4.3 ROI计算口径统一和实时监控ROI看似就是一个收入除以消耗的数字真落地上却到处是口径争论。广告消耗的钱是从媒体后台拉的收入和毛利是从内部财务系统算的这中间有一个不可忽视的时间差。今天花出去的广告费对应的订单可能发生在明天甚至下个月而且还要考虑退款、扣单率。我强烈建议ROI计算不要直接在报表里硬算而是在数据仓库里先构建一个“订单-用户-广告触点”的事实宽表。宽表里每一行都包含订单金额、归属渠道、归属广告计划、用户ID、订单时间以及后续是否会退款的标记。有了这张宽表无论是按日看实时ROI还是按月看稳定ROI都可以灵活切换口径而且数据可回溯。还有一个重要指标是回收周期。很多产品不是当天就要ROI打正允许有不同的回本周期所以监控面板上除了看当日实时ROI之外更应该关注累积7日、30日的长期ROI曲线。看完这条曲线再决定是否加预算会比盯实时指标稳住得多。5. 实操过程从零搭建一套核心系统的完整步骤5.1 第一步先定指标、埋点和数据口径很多团队上手就找渠道对接急着花钱这是本末倒置了。做增长系统最先要做的不是系统而是统一语言——指标。要先拉齐三个核心名词的定义新用户、有效用户、付费用户。这三个定义每个团队都不一样比如有的把启动3次才算有效用户有的把注册且完成首笔小额交易才算有效用户。定义不一致后面所有系统的指标都会打架。定完之后赶紧做埋点。关键行为事件至少要覆盖App启动、注册完成、首次支付成功、关键功能使用、Push点击、广告点击。埋点事件要统一命名规范参数要带上渠道来源这样后面归因才不会没数据可查。埋点评审时要特别注意广告点击和App内行为的打通依赖的是点击时的渠道参数能够正确传入App端这个必须测试验收。数据口径这件事上没有捷径只能拉上产品、运营、技术、财务几方开一次对齐会把表格里的字段含义、时间口径、去重逻辑逐一确认并签下文档后面所有团队看报表都以此为准。5.2 第二步对接投放渠道并完成回传联调指标和埋点就绪后进入渠道对接环节。建议第一个渠道先接那个预算占比最高的平台因为它带来的数据量最大能更快验证系统稳定性。对接的流程大体分为四步开通开发者账号、创建应用获取密钥然后按照API文档完成授权认证接着创建测试计划设置最低预算验证计划能正常创建和修改最后进行转化回传联调这一步千万不能跳过。回传联调最有效的验证方法是小预算真实跑量测试。把预算设到几百块投放拉新定向观察真实用户进入App后在后台看到的事件流记录再回传平台侧确认转化数。注意不要用测试设备模拟太多假事件媒体侧有反作弊机制测试期间事件和最终投放数据的比例会比较敏感。如果同时接入多个渠道我建议先接完一个渠道并稳定运行两周后再复制经验去接第二家。多线程对接开发容易让团队陷入接口联调的泥潭。5.3 第三步搭建触达引擎并配置基础策略触达引擎的搭建可以从一个最小的可用版本开始第一版只需要支持用户分群、渠道发送、频控计数、发送记录保存。不需要一上来就搞用户旅程画布那是进阶功能。第一步先接Push渠道。国内Android建议直接接厂商通道小米、华为、OPPO、vivo各自的推送通道再加上一个聚合Push服务兜底。iOS这边走APNs。第一版用简化流程运营手动选择一个人群编一条文案选择立即发送或者定时发送然后就能看到发送量和点击量。不要忽视发送记录的存储和检索。每次触达都要记录用户ID、渠道、内容ID、发送时间和到达状态这些明细数据一方面用于频控计数另一方面用于后续做触达效果分析。没有发送记录后面想分析“为什么这条Push效果好”时就无从下手只能凭感觉。基础触达跑通之后再加定时旅程和自动化触发规则只要发送记录和筛选条件这两个底层能力做得稳扩展这些场景很快。5.4 第四步打通数据链路让投放和触达共享同一份人群和报表系统跑起来的标志不是“能发消息了”而是投放侧、触达侧、数据侧能够用同一份人群体检表对用户做判断。这里有几个关键配置节点人群包回传配置。从数据仓库中圈选出高价值用户按对应平台的ID规范生成人群文件设定更新周期为T1或T0实时绑定到再营销计划。这一个配置跑通触达和投放就真正联动起来了。统一监控面板。把广告消耗、订单金额、触达发送量、App活跃数都放进一个大盘里。口径一定要统一时间字段统一用自然日金额统一用人民币元消耗注意扣掉退款或无效消耗。异常告警规则。告警是增长系统不可或缺的一部分至少要覆盖以下三类异常单渠道消耗突然下降50%以上、回传事件数量骤降、某个Push场景的点击率异常波动。告警规则宁可多不要少很多预算损失都是从一次没有告警的小异常开始的。6. 常见问题与排查技巧实录6.1 转化回传延迟或丢失怎么办回传链路是广告投放里最容易出事的环节常在半夜收到告警。回传丢失最常见的原因是服务端回调地址超时媒体平台的回传请求并发量很猛如果我们的接收接口没做超时优化或者压垮了就会大面积丢数据。排查的顺序我建议这样来先看媒体后台的“回传成功报表”确认媒体侧是否收到了请求再看我们自己接收端的日志确认请求是否到达最后再对一下双方的event_id看是谁丢了数据。顺着这个链路基本都能定位。技术层面的防护措施有两条一是接收端接口必须做限流降级不要因为媒体回传量大就把下游业务数据库拖垮二是处理完的回传事件要写本地明细表同时支持手动补传工具即使线上出了故障也能人工把关键转化事件补传给媒体平台。6.2 归因错乱导致订单重复计费重复计费的场景多见于用户同时点了两个渠道的广告或者在广告和自然流量之间来回横跳。发生在App端还会因为服务端没有正确处理“点击参数”的传递逻辑导致同一个用户产生多个归因来源。解决这个问题要做两件事。第一建立全局唯一的用户归因状态表一个用户在一个周期内只能有一个激活归因来源后续订单都继承首次来源除非在后台手动调整。第二归因过程要支持“最近点击覆盖”规则即用户点击了新的广告计划且在窗口期内完成了目标行为归因来源可以切换到最新点击但切换记录要留痕保证可追溯。如果发现报表里的订单数明显大于财务真实订单数大概率是重复归因了。可以先导出一份明细数据按用户ID订单ID去重后对比媒体后台的转化数差异通常能迅速定位到是哪个环节多计了。6.3 用户投诉“消息太多”的频控危机频控失效是触达系统的头号事故。最典型的场景是一个用户同时命中了好几个运营活动每个活动的触达策略都独立判断发送资格结果一天收到了好几条Push、两条短信用户直接向通信运营商投诉运营商再把压力给到我们。频控系统要做到“全局判断”。每一次触达动作发出前都要去读一次用户当天的触达总次数而不是各活动自己计数。这个操作读取频率很高对性能有要求一般做法是用Redis存储用户当日计数配合分布式锁并发控制。触达运营的黄金法则是宁少勿多。频率保守一点表面上发送量少了但投诉和退订也会下降长远看在渠道健康度上会有显著收益。6.4 人群包过期导致再营销空耗再营销的人群包有过期性质特别是部分媒体平台对14天以上未更新的人群包会有定向覆盖衰减。我们踩过一次坑一批高价值用户人群包用了快一个月没刷新广告计划还在跑但实际拿到的流量大部分已经不是目标用户费用也消耗了ROI掉得厉害。解决这个问题很简单建立人群包的定时刷新机制。建议每天凌晨用全量最新数据重新生成一次人群包文件通过API自动更新到平台侧。刷新完成前关联的广告计划要暂停投放或者保留非常低的预算避免空耗。同时要对所有人群包做生命周期治理建立人群包台账记录创建时间、覆盖人数、最近刷新时间、关联计划每周巡检一次。看到覆盖人数与预期明显不符的人群包要及时排查是ID加密逻辑更替还是数据管线出现异常这一套下来挽回的无效预算会非常可观。写在最后的几点感受整套系统从0到1跑通我个人体会最深的一句话是增长系统从来不是一个技术项目而是一个用技术支撑的运营方法论。架构再漂亮如果运营同学不会配置策略、数据团队不认口径系统就只能停在演示层面没法真正为业务带来增长。如果只让我给出一条建议我会说先跑最小闭环。选一个主力渠道、一个触达场景、一套关键指标把从用户进来、产生行为、归因回传、触达承接、数据看板这一整条链路打通不要贪多贪全。链路通了之后再慢慢加渠道、加场景、加人群策略系统会越用越顺。团队里如果有条件记得安排一位既能写代码又懂业务增长的工程师来负责这个项目他不需要是把每个模块做到极致的专家但一定要能同时跟广告平台的技术支持、内部运营团队、产品经理顺畅沟通。这样的人选到位了这套系统的上限会高很多。

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑