头条监测链接开发

头条回传开发技术文档

巨量引擎对接文档: 巨量引擎文档链接

WHAT

什么是头条监测链接?

  • 就是广告主提供给头条的监测链接,头条用户点击广告主投放广告瞬间,头条将用户个人信息,例如安卓手机的imei号或oaidios系统的idfa这些设备号,还有广告名字,投放位置,广告点击时间等信息,通过监测链接请求给广告主

  • 广告主拿到头条用户的设备信息后,对比自身用户的设备号,如果该头条用户成功注册,那么肯定可以匹配成功,匹配成功告知头条,头条系统知道后,便可以动态调整广告流量

WHY

为什么要开发头条回传链接?

  • 用户点击广告主投放的广告,且注册成功,如果没有告诉头条注册成功,头条无法感知到该广告的效果,就无法自动帮广告主加大广告播放量,因此需要广告主自行开发广告点击的回传链接,告知头条广告投放效果,从而动态调整广告流量

HOW

怎么实现头条监测链接,并实现匹配回传?

链接入口

  • ios
  • android

数据库层面:

  • 头条请求表: shu_toutiao_request_args,每次头条请求监测链接记录请求参数,以设备号 device_id(头条传过来的IMEI/OAID/IDFA)作为唯一键,防止同一个用户多次点击同一广告,而产生多次记录,从而发生多次匹配,多次回传;
  • 省省用户设备信息表: shu_devicesshu_user_devices
    • shu_devices 纯粹记录用户的设备号,但不绑定任何 user_id
    • shu_user_devices 记录用户id和 shu_devicesid之间的关系,这样,一个用户就可以拥有多个设备;

代码层面:

  • exp-tools服务
    • 代码路径:exp-tools/app/apis/resources/toutiao_ad.py
    • 代码思路:
      • 将设备信息和一些其他信息记录记录进头条请求表,如果是运营进行联调的设备信息(白名单用户:可以多次匹配),那么就更新它的回传参数
  • account服务
    • 代码路径:
      • account/server/models/login.py:261
      • account/server/models/login.py:284
    • 代码思路:
      • 客户端(安卓appios的app)将用户的设备信息通过登录接口放在请求头部
      • 后端获取得到设备信息,记录每个登录用户的设备信息到shu_devicesshu_user_devices
      • 记录完成,拿到shu_device_idshu_user_device_id,通过kafka将附带设备信息的登录信息传递给monitor服务,monitor服务进行匹配
  • monitor服务
    • 代码路径:
      • monitor-server/server/messager/user.py:30
    • 代码思路:
      • 通过kafka接收到用户登录的消息,获取device_id,通过sql查询头条表,查找匹配的记录
      • 白名单功能:运营每次新开一个广告计划,需要重新联调监测链接,因此需要开发白名单功能
        • 白名单记录在zookeeper,白名单设备信息为imeiimei_md5oaididfa
        • 白名单的设备信息,每次匹配都会回传信息,不会将 is_match 置为 1 ,这样每次都可以进行匹配
      • 匹配且成功回传后,更新头条请求表,更新 is_match = 1,user_id = {match_user_id},match_type = 1 / 2 / 3
      • 匹配类型match_type解释:
        • match_type = 1【新增用户】:用户点击广告时间小于等于用户注册省省app时间,并且注册渠道等于链接的渠道
        • match_type = 2【回流用户】:用户点击广告时间大于用户注册时间,并且用户注册渠道不等于点击链接渠道,并且当前下载渠道等于点击链接渠道
        • match_type = 3 【新增用户异常】:用户点击广告时间小于等于用户注册省省app时间,但是用户注册渠道不等于点击链接的渠道

TEST

怎么测试?

  • 通过监测链接新增头条请求表数据
  • 建立新账号登录省省回头车APP,或者修改数据库里的用户的创建时间,用老帐号登录也可
  • 最后,观察头条请求表的记录更新状态,看是否 is_match = 1,观察头条广告主后台的数据变化

你可能感兴趣的:(头条监测链接开发)