转化归因——SDK数据接入
SDK技术对接资源
SDK 平台 | 资源和说明文档下载 |
---|---|
Android SDK | 点击下载SDK和说明文档 |
iOS SDK | 点击下载SDK和说明文档 |
SDK方案优势
- 数据更稳定更实时:回传不受上报服务器环境影响,80%的数据不一致问题都是因为广告主上报服务器不稳定造成的数据波动。
- 数据稳定性和及时性对oCPA的影响:oCPA优化的是转化回流后的转化成本,转化数据回流的及时性和稳定性对oCPA控制转化成本影响很大,如果数据回流不稳定,模型将需要更多的时间稳定;如果数据回流不及时,一些实时控制转化成本的策略就不会生效,控制成本的难度会更大。
- 数据追踪更完善:支持自动获取用户标识,如IMEI、IDFA、ANDROIDID、OAID,减少设备号无法收集的case,增加数据追踪准确性。当前Device ID获取的限制问题:1)Apple系统在iOS10之后,如果用户开启了【限制广告追踪】的开关,则无法获取到IDFA;2)Android 6.0以下可以获取到设备的IMEI号,6.0以上需要弹框用户授权电话权限后才可以获取到。
- 不影响点击监测链接配置:可在创建转化ID时填写点击监测链接获取点击信息,点击监测配置要求见《点击监测说明文档》。
- 同时支持全部流量(涵盖腾讯视频、腾讯新闻、QQ及信息流、微信等)
SDK接入说明
1. SDK 接入方案概览
广告主在创建创建转化规则时,选择SDK的接入方式,并获取接入密钥(由user_action_set_id和AppSecretKey组成)将接入密钥嵌入SDK中即可正常上报。
2. SDK 接入方案说明
流程说明:
创建转化ID并选择SDK上报 —>下载并导入SDK —>添加SDK所需权限 —>SDK初始化 —>上报转化数据
- 创建转化ID并选择SDK上报,参见使用文档《转化归因-sdk接入方式说明》。
- 开发同学根据场景部署SDK,具体参考SDK对接文档:
- 下载SDK
- 添加SDK所需权限
- SDK初始化
- 调动SDK内方法上报行为数据
常用转化行为 | 行为类型(action_type) | 说明 |
---|---|---|
激活 | ACTIVATE_APP | 30天内第一次打开APP |
注册 | REGISTER | 用户点击广告后注册成为APP的新用户 |
下单 | COMPLETE_ORDER | 用户点击下单生成订单 |
付费 | PURCHASE | 用户完成付费 |
加入购物车 | ADD_TO_CART | 用户将商品加入购物车 |
次日留存 | START_APP | 用户激活后第二天打开APP的行为 |
注:广告主开发者需要在APP启动时上报APP启动行为,SDK会自主判断这次行为是激活行为还是启动行为。
上报APP启动需要找到Activity类(这里以GDTActionLauncherActivity类为例)的onResume()方法,调用下面的代码来上报App启动行为。
GDTAction.logAction(ActionType.START_APP);
// 传入的actionType参数必须是ActionType.START_APP
具体对接流程请下载SDK技术对接文档。
微信公众平台广告主:暂不支持
FAQ
1. 如何判断SDK上报数据是否成功
(1) 启动android studio, log会输出“GDTAction初始化成功”字样
(2) SDK会校验包名:安装SDK的包和上传到应用宝的包,如果包名不一致,会返回报错 ‘51000 package name check failed’
(3) 广告主侧技术人员抓包测试,正确部署的情况下会有a.gdt.qq.com请求发出,因为调用了logActin方法
(4) 监测DMP后台是否有数据传入
在DMP系统的“数据接入”模块,对应的行为数据源可以看到上报成功次数统计
2. 上报行为如何去重
对于需要针对上报行为做自定义去重的广告主,可以在调用logAction(actionType, actionParams)上报行为时,在actionParams中传入key为outer_action_id的参数,如去重付费人数。
3. 客户如何判断自己接的SDK是否是旧版
抓包请求时,请求domain为a.gdt.qq.com为新版SDK;请求domain为t.gdt.qq.com为旧版SDK。
4. 安卓接入时,有渠道包的情况下,是否只需要接主包就可以了,渠道包不用接sdk
理论上推荐所有包都接入SDK。实际投放中如果广告推广使用的是渠道包,可以仅在渠道包中部署SDK(注:仅在渠道包中部署SDK会有遗漏转化行为的可能出现。例如用户点击广告后没有第一时间下载app,而是后续30天内自行前往应用商店下载并激活。安装腾讯广告归因逻辑这一激活应该被诡异给此广告点击,但是如果仅在渠道包部署了SDK,会统计不到此次激活)
5. 优化目标上报方式说明
优化目标名称 | 标准行为(action_type) | 行为参数(action_param) | 投放端指标 | 备注 |
激活 | ACTIVATE_APP | 激活总量 | ||
次日留存 | START_APP | length_of_stay=1 | 次日留存量 | |
注册 | REGISTER | 注册量 | ||
付费 | PURCHASE | 付费行为量 | 若要上报金额请在param中添加参数“value”:123 | |
首次付费 | PURCHASE | 首次付费人数 | 系统会依据设备号进行去重,若要上报金额请在param中添加参数“value”:123 | |
下单 | COMPLETE_ORDER | 下单量 | 若要上报金额请在param中添加参数“value”:123 | |
关键页面浏览 | VIEW_CONTENT | 关键页面浏览量 | ||
商品页浏览 | VIEW_CONTENT | object=PRODUCT | 商品页浏览量 | |
发货 | DELIVER | 订单发货量 | 若要上报金额请在param中添加参数“value”:123 | |
加入购物车 | ADD_TO_CART | 加入购物车量 | ||
首次会员购买 | PURCHASE | object=MEMBER_CARD | APP/WEB | 系统会依据设备号进行去重,若要上报金额请在param中添加参数“value”:123 |
完件 | APPLY | 完件量(金融) | ||
预授信 | PRE_CREDIT | 预授信量(金融) | 若要上报金额请在param中添加参数“value”:123 | |
授信 | CREDIT | 授信量(金融) | 若要上报金额请在param中添加参数“value”:123 | |
提现 | WITHDRAW_DEPOSITS | 提现量(金融) | 若要上报金额请在param中添加参数“value”:123 |
6. 转化上报常用参数列表(action_param)
参数名 | 类型 | 描述 | 是否必填 | 取值范围 | 备注 |
---|---|---|---|---|---|
value | int | 订单价值,单位:分 | 否 | — | 体现转化带来的价值,在上报COMPLETE_ORDER或PURCHASE行为时可选填 |
object | string | 行为对象 | 否 | ^.{0,200} | 在上报VIEW_CONTENT行为时参数填写为object=product,表示上报的是商品页面浏览行为 |
length_of_stay | int | 停留天数,单位:天 | 否 | — | 在上报START_APP作为留存行为时必填length_of_stay=1,表示上报的是次日留存行为。 |
7. SDK主要方法说明
com.qq.gdt.action.GDTAction
方法名 | 功能 |
---|---|
init(Context context, String userActionSetId, String appSecretKey) | 初始化方法,必须在App的入口调用一次 @param context : App的上下文信息,一般是Application/Activity @param userActionSetId : 您在eqq投放端新建应用转化时获得的行为数据源ID @param appSecretKey : 您在eqq投放端新建应用转化时获得的行为数据源Secret ID |
logAction(String actionType) | 行为上报接口 @param actionType : 行为类型,分为两类,一类是在DMP上定义的标准行为类型,具体见com.qq.gdt.action.ActionType类;另一类是您自己自定义的行为类型,可以传入一个字符串类型的参数,要求:这个字符串只能包含字母、数字和下划线,必须以字母开头,长度不能超过255 |
logAction(String actionType, JSONObject actionParam) | 行为上报接口,支持上报行为参数 @param actionType : 行为类型,详细描述同上 @param actionParam : 行为参数,行为参数是”Key-Value”类型,Key只可以为String类型,只能包含字母、数字和下划线,必须以字母开头,长度不能超过255;Value可以是String/Number/Boolean/JSONArray其中一种,当Value为JSONArray时,它的元素只能为String/Number/Boolean中的一种,且所有元素必须是同一个类型 |
8. 具体场景示例说明
付费行为 |
---|
用户发生购物行为时,可以用GDTAction.logAction上报用户的这次行为,并将价格等行为参数一起带上 JSONObject actionParam = new JSONObject(); actionParam.put("value", 6800); //转化价值单位为分,整型 GDTAction.logAction(ActionType.PURCHASE, actionParam); |
次日留存 |
---|
用户次日留存,可以用GDTAction.logAction上报用户的这次行为,并将参数一起带上 JSONObject actionParam = new JSONObject(); actionParam.put(ActionParam.Key.LENGTH_OF_STAY, 1); //必填 actionParam.put(ActionParam.Key.CLAIM_TYPE, 4); //选填,次留关联到激活 GDTAction.logAction(ActionType.START_APP, actionParam); |