搭建广告投放系统(三):打通前后端数据

释放双眼,带上耳机,听听看~!

回忆下前 2 篇文章中我们虚拟的业务场景,一家 K12 在线教育公司,主打产品是从小学、初中到高中的全学科,包括语文、数学、英语等。抖音、朋友圈和快手投放到 H5 落地页直接支付体验课,服务 2 周到 1 个月后续报正价课。

搭建广告投放系统(三):打通前后端数据

考虑到三方投放系统后端数据打通困难,再加上在线教育特有的二级转化,体验课 > 正价课,最终还是决定自己开发。

如何打通前后端数据,核心涉及到 2 个问题:

其一,确定渠道归因方式;

其二,如何将广告前端数据和业务后端数据关联上。

1、渠道归因

我们还是拿真实的用户场景来举例,同一个用户 1 号通过朋友圈看到我们的广告,点击进入落地页,未购买;隔了几天,在 5 号刷抖音时又看到我们的广告,点击进入落地页,并完成购买。

1 号点击,就做首次点击;5 号点击叫做末次点击 Last Click。

这里面有个疑惑点,5 号的购买是否和 1 号的点击有关呢?在归因上有 2 种方式:

其一,多触点归因,1 号、5 号就是两次触发用户;

多触点归因比较复杂,又分为线性归因模型、基本位置归因模型、时间衰弱归因模型等,相关文章参考「附录 1」。

其二,单触点归因, 又分为最后一次触达模型、首次点击归因模型。

我们常用的是,最后一次触达模型 (Last Click)。

2、打通前后端数据

投放账户众多,那么如何知道每条广告计划的后端转化呢?在业务系统中引入一个重量级的角色「渠道 ID」,多个渠道组成一个渠道组。

为了减少复杂度,以及数据更清晰化,需要根据实际的投放习惯和规则做一些约束:

其一,投放账号和渠道组是一对一;

其二,提倡一个广告计划对应一个渠道 ID。

特殊情况是,对广告计划进行「诊断」后,会直接复制一条新广告,适当修改定向或出价全新投放,是不需要审核的,当然落地页链接也是不去修改的(落地页链接被修改后,是需要重新审核的)。

那么就会导致,2 个广告计划对应 1 个渠道 ID。

下图中,真实的落地页链接是:

http://h5.k12.com/landingpage

为了实现渠道归因,我们会通过「Link Tag」的方式在最后追加上渠道 ID。最终通过解析广告计划中的「channel_id」参数来关联业务系统中的渠道 ID,进而打通前后端数据。

就需要在产品上加一个「投放账户绑定渠道组」的功能。

搭建广告投放系统(三):打通前后端数据

3、接入 Marketing API

广告媒体平台提供一整套「Marketing API」给广告主进入接入,不仅能获取到广告内容,还能获取到广告的消耗、曝光和点击数据。

我们就以巨量引擎为例来具体展开如何接入 Marketing API。

1、授权 API

授权的逻辑比较简单和通用,通过 OAuth 协议来实现授权,具体就不展开,官方文档写的比较详细:

https://ad.oceanengine.com/openapi/doc/index.html?id=1696710502753295

2、获取广告计划 API

搭建广告投放系统(三):打通前后端数据

通过 API 能拉取到投放账户 ID、广告计划名称、广告计划 ID、投放状态和落地页链接,接入文档如下:

https://ad.oceanengine.com/openapi/doc/index.html?id=1696710551666703

3、广告计划数据 API

搭建广告投放系统(三):打通前后端数据

通过 API 能拉取到账面消耗、展示数、点击数、点击率,同时也能拉取到转化数,但考虑到有些不是 100% 回传,实际的转化数还是以业务系统的订单数为准,接入文档如下:

https://ad.oceanengine.com/openapi/doc/index.html?id=1696710551666703

4、前后端数据拉通成闭环

1、订单明细和订单汇总

搭建广告投放系统(三):打通前后端数据

搭建广告投放系统(三):打通前后端数据

订单明细中记录渠道 ID,当天的转化数按照渠道 ID 累加汇总。

2、通过渠道 ID 打通前后端数据

搭建广告投放系统(三):打通前后端数据
搭建广告投放系统(三):打通前后端数据

为了便于排版,将一张长表截图成 2 小段,上面就是完整的前后端数据,核心指标就是「体验课 CAC」。

其中有 3 点需要特殊说明的。

1)现金消耗

我们第 1 篇文章讲到,代理商充值是会有返点比例的,我们需要将返点比例设置进系统,通过拉取的广告账面消耗除以返点比例得到:

现金消耗 = 账面消耗 / 充值返点

2)体验课 CAC

分母不是广告媒体后台的「转化数」,而是业务系统的订单数:

体验课 CAC = 现金消耗 / 体验课订单数

3)多个广告计划对应一个渠道 ID

由于订单颗粒度是渠道 ID 维度,所以是无法区分是多个广告计划中的哪一个转化的,这一点也是在优化师方可接受的范围内。

3、渠道组汇总

搭建广告投放系统(三):打通前后端数据

公司中的「经营数据」一般只到渠道组颗粒度,按照渠道组汇总得到。我们口头中说的哪个渠道好不好,也是指我们文章中的渠道组。

5、最后

看完全文后,会给人一种错觉「无非就是接几个 API,没什么难的啊」。确实,看起来就是这么一回事,但实际做起来就哪儿哪儿都是坑。

下篇我们讲讲接入 API 的血泪史,以及如何保证广告数据的正确性,都是用宝贵时间淌的坑,无价。

附录 1:深度解析广告归因模型

https://zhuanlan.zhihu.com/p/361252922

给TA买糖
共{{data.count}}人
人已赞赏
产品设计

“设计的思考深度”是个伪命题吗?

2021-5-12 10:33:33

产品设计

​关于产品设计及其流程都在这里

2021-5-12 11:21:28

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索