房产行业转化归因数据接入指南
一、 前言
Q1:转化归因功能是用来做什么的?对广告主有什么用途?
转化归因功能指的是将广告产生的后续效果(例如:购买,下载,安装等)匹配到具体广告上的过程。是广告主查看报表、投放oCPA广告、优化广告效果所依赖的重要功能。
同时,转化归因也是流量方与广告主进行结算的依据。归因分析可以帮助广告主尽可能识别所有对最终转化产生贡献的广告投放,了解到自己的广告花费是否起到了效果,并对广告内容,投放人群,广告出价是否合理,有了更具象,量化的感知。
根据转化归因得到的结果,广告主可以对转化效果好的广告追加投放,对转化效果不好的广告停止投放,尽可能在有限的预算下达到最好的广告转化效果。
Q2:房产行业广告主选择哪种转化归因适合房产行业特性?
基于一方数据合作项目涉及历史较长时间的数据回传,以及mp open api对频次控制限制较高,marketing api可按量级需求来弹性调整频次的特性,建议选择。
*房产行业广告主推荐使用Marketing API进行转化归因的数据接入。
Q3:“新版转化归因链路”与“旧版转化归因链路”有什么区别?该如何选择?
“旧版转化归因链路”(下称“旧链路”)指的是广告主通过“知数平台”创建数据源后,再进行行为数据上报的转化链路。
“新版转化归因链路”(下称“新链路”)指的是广告主通过https://e.qq.com/ads/创建转化并进行数据上报(详见第四部分接入流程和说明),省略了创建DMP数据源,开通开发者账号等一系列流程,是比“旧链路”理解门槛更低,可操作性更强的数据上报链路。
目前,“新链路”支持APP类、Web类、小游戏类数据接入,如果广告主首次在腾讯广告平台进行归因数据接入,我们推荐您首选“新链路”。如果您之前已经通过“旧链路”进行了APP类的数据接入,我们也推荐您尽快切换成“新链路”。
房产行业广告主推荐使用新版转化归因链路进行数据接入。
注意:预计2022年2月会完成App链路新版转化归因链路的推全,其他类目标链路预计将于2022年H1完成全部切换,切换前您会收到投放端的站内信。如果您已使用或切换为新版转化归因链路,可参考下文的第四部分进行数据的接入;若您目前仍使用旧版转化归因链路,可参考下文第五部分进行数据接入。
Q4:“新版转化归因链路”的核心优势具体有哪些?
➢ 优势1:接入更简单:
○ 新客户数据接入时长可从平均一周缩短到3天
○ API接入流程大幅缩短,从7步缩短到3步,开发者和优化师无需反复配合授权,服务开发好后,优化师自主可以完成配置、联调,大幅缩短开发周期,减少沟通成本
○ SDK接入流程集成整合,避免配置遗漏,不易出错,同款APP只需接入一次SDK即可在所有账户通用
➢ 优势2:服务更稳定:
○ 数据上报不依赖数据源token,不易出错
➢ 优势3:数据更准确:
○ SDK付费默认归因到激活,API根据点击完成校准,数据准确性达到98%
○ 数据准确是您优化广告和提升竞争力的基础,众多户客户在数据校准后,竞争力和消耗水平都有显著提升
➢ 优势4:点击下发更灵活:
○ 点击下发支持宏替换,方便多个媒体的接收服务兼容
○ 支持不同账户/计划/广告使用不同点击下发地址,可自主再广告上绑定,配合渠道包可以实现更灵活的归因方案,详见报表搭建指南
Q5:每种数据接入方法具体的接入流程是什么?
Q6:不用于转化归因的数据是否也可以接入?
当然可以,我们希望各位客户能够接入除了用作归因的优化目标数据之外的,其他更深链路的数据,比如长留、有效商机、到案场、成交数据等。内部可以进行人群挖掘、数据建模等一系列应用,帮助客户优化效果。接入流程同本文介绍的转化归因数据接入流程,如果不作为OG投放,不会进入归因。
二、房产行业广告主回传字段标准
根据实际业务开展目的,进行对应优化目标的投放与对应行为字段的回传,有利于行业行为数据的积累,使模型能够快速学习到更充足的样本量,为整体增长提效;如果同样的行为但是不同客户甚至同一客户都回传到了不同字段中,数据过于分散,将不利于模型学习。
下表是我们根据您的投放目标对应的行为转化漏斗,制定的标准回传字段和对应的action_type,同时还有对应的在投放端应选择的优化目标。当然,您可以根据您的实际诉求选择单目标或双目标组合,部分较深的优化目标如“付费”,可能会因为链路较深,cvr较低而难以起量。若以下行为漏斗不能满足您的需求,可向对应的销售、运营同学反馈,我们会为您建议最合适的优化目标。
*action_type是一种定义行为类型的字段,需写在代码中,在第四部分的接入流程和第五部分的STEP 3均有详细介绍。
目标分类 | 行为转化漏斗 | 期望回传字段 | action_type | 优化目标ID | 优化目标名称 |
房产线上平台-APP拉新-次留 | 点击 | 无 | 无 | ||
用户激活 | 激活 | ACTIVATE_APP | 104 | 激活 | |
拉新高质量 | 首次付费 | action_type=PURCHASE and action_param:”new: ANDROID”或”new: IOS”(分别代表安卓的拉新高质量和IOS的拉新高质量) | 10801 | 首次付费 | |
次日留存 | 次日留存 | action_type=START_APP and action_param:”length_of_stay:1″ | 106 | 次日留存 | |
长留(分为三留、五留、七留) | 次日留存 | action_type=START_APP and action_param:”length_of_stay:3/5/7″ | |||
房产线上平台-APP拉活-次留 | 点击 | 无 | 无 | ||
APP唤起 | 关键页面浏览 | VIEW_CONTENT,channel字段一定要标记TENCENT | 301 | 关键页面访问 | |
拉活高质量 | 首次付费 | action_type=PURCHASE and action_param:”active”: “ANDROID”或”active”: “IOS”(分别代表安卓的拉活高质量和IOS的拉活高质量) | 10801 | 首次付费 | |
次日留存 | 次日留存 | action_type=START_APP and action_param:”length_of_stay:1″ | 106 | 次日留存 | |
长留(分为三留、五留、七留) | 次日留存 | action_type=START_APP and action_param:”length_of_stay:3/5/7″ | |||
房产线上平台-APP拉新-商机 | 点击 | 无 | 无 | ||
用户激活 | 激活 | ACTIVATE_APP | 104 | 激活 | |
商品详情页浏览 | 商品详情页浏览 | PRODUCT_VIEW | |||
商机(在线咨询/拨打经纪人电话,只要留下了手机号) | 提交表单 | RESERVATION | 405 | 表单预约 | |
有效商机 | 有效综合线索 | CONFIRM_EFFECTIVE_LEADS | 409 | 有效综合线索 | |
房产线上平台-APP拉活-商机 | 点击 | 无 | 无 | ||
APP唤起 | 关键页面浏览 | VIEW_CONTENT,channel字段一定要标记TENCENT | 301 | 关键页面访问 | |
商品详情页浏览 | 商品详情页浏览 | PRODUCT_VIEW | |||
商机(在线咨询/拨打经纪人电话,只要留下了手机号) | 提交表单 | RESERVATION | 405 | 表单预约 | |
有效商机 | 有效综合线索 | CONFIRM_EFFECTIVE_LEADS | 409 | 有效综合线索 | |
开发商-H5链路-表单 | 点击 | 无 | 无 | ||
商机(填写了表单,留下了手机号) | 提交表单 | RESERVATION | 405 | 表单预约 | |
有效商机 | 有效综合线索 | CONFIRM_EFFECTIVE_LEADS | 409 | 有效综合线索 | |
到案场 | 到店 | VISIT_STORE | |||
成交 | 付费 | PURCHASE | 108 | 付费 | |
开发商-H5链路-综合线索收集 | 点击 | 无 | 无 | ||
商机(拨打了电话/填写了表单/添加了企微/在线咨询留下了手机号) | 提交表单 | RESERVATION | 10000 | 表单预约 | |
有效商机 | 有效综合线索 | CONFIRM_EFFECTIVE_LEADS | 409 | 有效综合线索 | |
到案场 | 到店 | VISIT_STORE | |||
成交 | 付费 | PURCHASE | 108 | 付费 | |
开发商-小程序链路 | 点击 | 无 | 无 | ||
调起小程序 | 关键页面浏览 | VIEW_CONTENT | 301 | 关键页面访问 | |
商机 | 提交表单 | RESERVATION | 405 | 表单预约 | |
有效商机 | 有效综合线索 | CONFIRM_EFFECTIVE_LEADS | 409 | 有效综合线索 | |
到案场 | 到店 | VISIT_STORE | |||
成交 | 付费 | PURCHASE | 108 | 付费 | |
开发商-微信公众号链路 | 点击 | 无 | 无 | ||
关注 | 加关注 | FOLLOW | 6 | 关注 | |
关注后开口 | 关注后发消息 | 客户端上报数据进行归因,不用客户主动回传 | 502 | 关注后发消息 | |
开口过程中留资 | 注册 | REGISTER | 302 | 注册 | |
有效商机 | 有效综合线索 | CONFIRM_EFFECTIVE_LEADS | 409 | 有效综合线索 | |
到案场 | 到店 | VISIT_STORE | |||
成交 | 付费 | PURCHASE | 108 | 付费 | |
开发商-企业微信链路 | 添加企微好友 | 加企业微信客服 | SCANCODE | 412 | 加企业微信客服 |
企微开口 | 企微开口 | CONSULT | |||
企微留表单 | 企微表单 | RESERVATION | |||
有效表单 | 有效综合线索 | CONFIRM_EFFECTIVE_LEADS | 409 | 有效综合线索 | |
三、基础概念释义
在进行数据接入前,您可能需要了解的基础概念:
字段名 | 中文名 | 描述/备注 |
developer | 开发者 | 特指基于 TSA Marketing API 进行相关功能开发的企业; 开发者可以是客户(代理商、直客、子客)本身,也可以是第三方的技术公司; 一个企业主体只能对应创建一个开发者 |
client_id | 开发者应用程序id | 指基于Marketing API开发的应用,比如管理广告的投放平台、广告数据分析工具、自动化营销的脚本等等。 创建应用程序的目的是为了获取所需接口的调用权限。 不需要重复创建同样接口权限的应用程序 |
account | 广告主 | 通过腾讯社交广告平台投放广告的客户,包括代理商、直客、子客三种类型。 |
account_id | 投放账号id | 每个客户在腾讯社交广告平台上可能有一个或多个帐号,对应不同的account_id。 |
oAuth2.0 | 授权认证 | 指开发者申请客户同意其通过调用接口来操作客户账号的过程。 一个应用可以获得多个推广帐号的授权 |
UserActionSet | 用户行为数据源 | 广告主上报的行为数据的集合。广告主自身用户在网站、应用、线下、小程序等场景发生的任意行为,如注册、收藏、付费等。也可以上报一些常见的标准行为,也可以根据自身需求上报自定义行为。行为数据可以用于人群提取、转化统计、程序化创意、oCPA等。 |
四、新版转化归因链路接入流程及说明
➢ 接入前准备:
○ 申请转化归因白名单(联系腾讯对接人内部申请,APP链路春节前会全部切换完成)
○ 创建转化规则:详见以下截图示例:
step1:登陆广告后台-工具-转化归因
step2:新建应用转化/网页转化
step3:选择API(自归因上报)
step4:新建填写 附:点击监测链接使用指南
➢ 接入流程:
区分推广目标新链路App、web链路的数据上报指引:
app新链路:
https://developers.e.qq.com/docs/guide/conversion/new_version/APP_api?version=1.3&_preview=1
web新链路:
https://developers.e.qq.com/docs/guide/conversion/new_version/Web_api?version=1.3&_preview=1
小程序承接:
该方式适用于广告账户投放小程序承接
step1:登陆广告后台-工具-转化归因-网页转化-新建网页转化-API(自归因上报)-小程序
点击监测链接配置参考 : 点击监测链接指南
小程序转化规则必选字段:click_id / click_time / account_id /impression_id/callback/request_id
step2:创建非微信流量(选择【腾讯看点,QQ、腾讯音乐及游戏】站点)广告绑定转化规则;在线预览广告
step3:接收到点击信息后,调用callback回传数据
curl -X POST \
http://tracking.e.qq.com/conv?cb=YWRzX3NlcnZpY2UsMTU4NDUxMDI3OSwyNjg5MzNhMzc5MTM0YzBjMDQ4ZGZjMGQyNGYzMTk0NWYzMzJiOWNi&conv_id=10001
//这里请求的url&path 直接从点击转发出去的__CALLBACK__字段中URLDecode获得,以上是示例请求,请勿直接上报
-H 'Content-Type: application/json' \
-H 'cache-control: no-cache' \
-d '{
"actions":[
{
"outer_action_id": "outer_action_identity", // 选填,若上报可能有重复请填写该id,系统会根据该ID进行去重
"action_time": 1492998081,//发生转化时间,必填
"user_id": { // 必填
"wechat_app_id":"", //必填,小程序appid
"wechat_openid":"", //
"wechat_unionid":""//(openid与unionid二选一上报即可,必填)
},
"action_type": "RESERVATION", // 必填 行为类型参考以下枚举
"appid": "wx123456",//小程序的APPID(以wx开头,传值等于上方wechat_app_id)
"action_param": {
"value": 123
}
}
]
}'
action_type见第二部分:房产行业广告主回传字段标准
step4:转化数据回传成功后,拉取日志验证归因情况
需广告主自行保留接收到的原始点击日志以及数据回传日志,拉取日志时需要用到
五、旧版转化归因链路接入流程及说明
➢ 接入前准备:Marketing API开发者账户和权限配置
1. 开发者账户注册【已注册开发者可忽略】:
文档:https://developers.e.qq.com/docs/start#oz3cv
视频:https://developers.e.qq.com/docs/guide/learning
2. 数据上报权限配置【已有权限可忽略】:
https://developers.e.qq.com/docs/start#zisdgb
注:首次创建开发者应用,权限根据需要选择对应的权限,但是数据上报的权限必选“数据上报(User Actions)”。如已经创建过开发者应用,可查看已有的应用信息,在页面直接修改权限情况,新增“数据上报(User Actions)”,不需要重新创建。
➢ 正式环境接入流程:
STEP 1: 授权认证
授权获取access_token:https://developers.e.qq.com/docs/start/authorization
注:需要操作新投放账户的情况下,必须重新授权,获取新投放账户的access_token。
账户id,access_token和数据源id,三者是一一对应的关系。
STEP 2: 创建数据源
接口字段详情,请参考:https://developers.e.qq.com/docs/api/user_data/user_action_set/user_action_sets_add?version=1.1&_preview=1
注:如果回传投放的优化目标(OG)的数据,需要在投放ocpa/ocpm广告的时候实时回传;如果是回传非OG的后链路数据时,建议创建新的数据源。
STEP 3: 上报一方行为数据
接口字段详情,请参考:https://developers.e.qq.com/docs/api/user_data/user_action/user_actions_add?version=1.1&_preview=1
支持字段 | 类型 | 说明 |
hash_imei | string | IMEI 设备号保持小写,进行 md5 编码。字段长度为32字节 |
hash_idfa | string | IDFA 设备号保持大写,进行 MD5 编码。字段长度为32字节 |
hash_phone | string | 电话号码直接 MD5 编码,如 md5(13500000000)。字段长度为32字节 |
sha256_phone | string | SHA256 算法加密后的手机号,加密前为 11 位的纯数字串,加密后为不计大小写的 64 位数字字母串 |
hash_android_id | string | 对 android_id 进行 MD5 编码,字段长度为32字节 |
hash_mac | string | mac 地址去掉‘:’ 后保持大写,进行 MD5 编码,字段长度为32字节 |
oaid | string | msa提出的安卓系统移动终端设备补充标识(OAID),保留原始值,不需要MD5编码。oaid介绍:http://msalliance.icoc.bz/col.jsp?id=120 |
url | string | 网页回传时必须要填写 url,请填写效果数据发生 h5 页面 URL 地址 字段长度最小 1 字节,长度最大 2048 字节 |
click_id | string | 对于推广Web落地页而言,在腾讯广告推广时,每次点击都会生成一个 click_id,在跳转到落地页时,会将 click_id 作为参数传入对应的 URL 中。获取落地页URL中的click_id,对于腾讯广告非微信流量为URL中的参数qz_gdt的值,对于微信流量为URL中的参数gdt_vid的值。 后续上报转化数据的时候click_id为必传值。 |
value | integer | (非必填参数)转化行为的价值,如下单金额,购买金额。单位为分,100表示1元(*如需上报转化价值,可在action_param里使用value字段) |
wechat_app_id | string | 微信分配的APPID。请填写所填的 wechat_openid 对应的 APPID。 请确保您已经获得所填 APPID 的授权关联,否则将无法通过鉴权。授权关联流程:https://dmp.tencent.com/helpcenter/detail?catalogId=1223&postId=3251 请注意,当您填写wechat_openid/wechat_unionid 时,此项必填。当您未填 wechat_openid,此项填写无效。 请注意,当所填user_action_set_id的类型为{WECHAT, WECHAT_MINI_PROGRAM, WECHAT_MINI_GAME}时,此字段必填。 |
wechat_openid | string | 微信openid保持原值。微信 openid 是微信用户在公众号/小程序 appid 下的唯一用户标识(appid不同,则获取到的openid就不同),可用于永久标记一个用户。 您只能上传您已经获得授权关联的APPID内的openID,否则会解析失败。 授权关联流程:https://dmp.tencent.com/helpcenter/detail?catalogId=1223&postId=3251 请注意,当所填user_action_set_id数据源的类型为{WECHAT, WECHAT_MINI_PROGRAM, WECHAT_MINI_GAME}时,此字段和wechat_unionid 必填其一。 |
wechat_unionid | string | 微信 unionid 保持原值。微信 unionid 是微信用户在同一个微信开发者账号下的唯一用户标识(开发者账号不同,则获取到的unionid就不同),可用于永久标记一个用户。您只能上传您已经获得授权关联的 APPID 所属开发者账号内的 unionid,否则会解析失败。授权关联流程:https://dmp.tencent.com/helpcenter/detail?catalogId=1223&postId=3251 请注意,当所填user_action_set_id 的类型为{WECHAT, WECHAT_MINI_PROGRAM, WECHAT_MINI_GAME}时,此字段和wechat_openid 必填其一。 |
external_action_id | string | (非必填参数)字段长度最小1字节,最大长度255字节,且只能为数字,字母,下划线,连接符组成。 去重标识,平台会基于user_action_set_id,external_action_id 和action_type三个字段做去重 ,如果历史上报数据中存在某条数据的这三个字段与当前上报数据完全一样的,则当前数据会被过滤掉 |
channel | string | (非必填参数)此参数不传或者传”TENCENT”表示上报到腾讯渠道,下一步才会进行归因;如果上报的数据不用于归因而是其他用途,并且线上也投了这个字段对应的优化目标,建议将此字段传”NATURAL“,避免归因混乱 |
action_type | string | 转化行为类型,不同的行为对应一个不同的字段,完整转化行为参考:https://developers.e.qq.com/docs/reference/enum#api_action_type |
action_time | integer | 行为发生时,客户端的时间点。UNIX 时间,单位为秒,如果不填将使用服务端时间填写 最小值 0,最大值 2147483647 |
注:当回传行为数据为客户一方私域数据,或不在腾讯标准行为参数列表中时,action_type参数传custom,且custom_action字段必填,字段值非明确约束场景,客户自定义即可。
action_param为补充参数,帮助平台更全面的了解这个action type的行为是什么,是一个Map,key 类型为 string,value 的类型支持以下几种,客户侧传入什么类型,即存储什么类型(明确需要补充的字段,建议客户尽量补充完整):
action_param为补充参数,帮助平台更全面的了解这个action type的行为是什么,是一个Map,key 类型为 string,value 的类型支持以下几种,客户侧传入什么类型,即存储什么类型(明确需要补充的字段,建议客户尽量补充完整):
○ int 或 int[] : 64位整数;
○ float 或 float[]: 最大值100000000000 (一千亿),保留3位小数精度,超过的截断,而非四舍五入;
○ boolean 或 boolean[]: 支持字面值为:true,false;
○ string 或 string[]: 字符串;
action_param在代码中示例:
STEP 4:查看数据回传结果
客户侧查看:通过API接口获取数据源报表,或直接通过DMP管理平台查看数据源报表。对齐上报量是否一致。
➢ API接口文档:https://developers.e.qq.com/docs/api/user_data/user_action_set/user_action_set_reports_get?version=1.1&_preview=1
➢ DMP平台查看样例(关注总PV量):
腾讯侧查看:需要客户提供数据源id,投放账户id,回传时间段,回传总量;校验客户侧回传字段的正确性和回传量级的一致性。
➢ 以下为各环节具体代码示例
1.创建数据源(更多字段详细说明参考:创建用户行为数据源)
H5链路创建web数据源demo:
curl 'https://api.e.qq.com/v1.3/user_action_sets/add?access_token=<ACCESS_TOKEN>×tamp=<TIMESTAMP>&nonce=<NONCE>' \
-H 'Content-Type: application/json' \
-d '{
"account_id": "<ACCOUNT_ID>",
"type": "WEB",
"name": "",
"description": "",
"usages": []
}'
APP链路创建数据源示例:
curl 'https://api.e.qq.com/v1.3/user_action_sets/add?access_token=<ACCESS_TOKEN>×tamp=<TIMESTAMP>&nonce=<NONCE>' \
-H 'Content-Type: application/json' \
-d '{
"account_id": "<ACCOUNT_ID>",
"type": "ANDROID",//若是iOS类型可填写IOS
"mobile_app_id":"<Your_Android_App_ID>"
"name": "",
"description": "",
"usages": []
}'
公众号链路创建数据源示例:
curl 'https://api.e.qq.com/v1.3/user_action_sets/add?access_token=<ACCESS_TOKEN>×tamp=<TIMESTAMP>&nonce=<NONCE>' \
-H 'Content-Type: application/json' \
-d '{
"account_id": "<ACCOUNT_ID>",
"type": "WECHAT",
"wechat_app_id": "<wechat_app_id>",
"name": "",
"description": "",
"usages": []
}'
小程序链路创建数据源示例:
*注意:这里要创建 WECHAT_MINI_PROGRAM 类型的数据源 其中:wechat_app_id要填写你们推广的小程序的appid(wx开头的,并且小程序要开通广告主)
curl'https://api.e.qq.com/v1.3/user_action_sets/add?access_token=<ACCESS_TOKEN>×tamp=<TIMESTAMP>&nonce=<NONCE>' \
-H 'Content-Type: application/json' \
-d '{
"account_id": "<ACCOUNT_ID>",
"type": "WECHAT_MINI_PROGRAM",
"wechat_app_id":"wx11111111111", //这里写的wx1111为示例
"name": "",
"description": "",
"usages": []
}'
小程序创建完毕数据源后,需要关联小程序对应的appid:
具体请参考:行为数据接入>如何关联微信APPID
特殊情况:若您所申请的微信App ID未开通广告主账户,则无法通过广告系统的微信App ID有效性校验。但您仍然可以通过手动补齐信息来创建。
创建成功后,如同其他数据源,您可以在数据源详情页中对数据源进行管理、配置、授权、获取密钥、查看接入数据报表等。
2.上报数据示例(更多字段详细说明参考:上传用户行为数据 )
注:idfa和imei和wechat_openid三者只能同时存在一个
curl 'https://api.e.qq.com/v1.3/user_actions/add?access_token=<ACCESS_TOKEN>×tamp=<TIMESTAMP>&nonce=<NONCE>' \
-H 'Content-Type: application/json' \
-d '{
"account_id": "<ACCOUNT_ID>",
"user_action_set_id": 1111111111,
"actions": [
{
"action_type":"COMPLETE_ORDER",
"action_time": 1606099210,
"user_id": {
"hash_imei":"<md5_hash_imei>",
"hash_idfa":"<md5_hash_idfa>"
},
"channel":"TENCENT",
"product_inform":{
"product_catalog_id":"111",
"product_id":["123214","123546"],
"content_type":"EC",
"category_path":["家用电器/厨房小电/豆浆机","本地生活旅游出行/旅游出行/机票火车票"]
}
"action_param":{
"value":111
}
]
}'
分场景回传:
1.场景一:App链路
创建APP行为数据源(更多字段详细说明参考 接入流程-SETP 2):
如果你想更准确的归因,推荐在user_id中额外上传更多归因标识和click_id,适用于所有转化行为。(上报iOS数据需要将 user_id 中hash_imei参数更换为 hash_idfa,另外iOS不支持hash_android_id)
激活
curl 'https://api.e.qq.com/v1.3/user_actions/add?access_token=<ACCESS_TOKEN>×tamp=<TIMESTAMP>&nonce=<NONCE>' \
-H 'Content-Type: application/json' \
-d '{
"account_id":"<your_account_id>",
"user_action_set_id":"<your_user_action_set_id>",
"actions":[
{
"action_time":1618884650,//action_time的值要用时间戳格式
"user_id":{
"hash_imei":"<md5_hash_imei>",
"hash_android_id":"<md5_android_id>",
"oaid":"<oaid>"
},
"action_type":"ACTIVATE_APP",
"trace":{
"click_id": "<CLICK_ID>"
},
"channel":"Tencent"
}
]
}'
次日留存
curl 'https://api.e.qq.com/v1.3/user_actions/add?access_token=<ACCESS_TOKEN>×tamp=<TIMESTAMP>&nonce=<NONCE>' \
-H 'Content-Type: application/json' \
-d '{
"account_id":"<your_account_id>",
"user_action_set_id":"<your_user_action_set_id>",
"actions":[
{
"action_time":1618884650,
"user_id":{
"hash_imei":"<md5_hash_imei>",
"hash_idfa":"<md5_hash_idfa>",
"hash_android_id":"<md5_android_id>",
"oaid":"<oaid>"
},
"trace":{
"click_id": "<CLICK_ID>"
},
"action_type":"START_APP",
"action_param":{
"length_of_stay":1
},
"channel":"Tencent"
}
]
}'
长留,如三日留存、五日留存、七日留存
curl 'https://api.e.qq.com/v1.3/user_actions/add?access_token=<ACCESS_TOKEN>×tamp=<TIMESTAMP>&nonce=<NONCE>' \
-H 'Content-Type: application/json' \
-d '{
"account_id":"<your_account_id>",
"user_action_set_id":"<your_user_action_set_id>",
"actions":[
{
"action_time":1618884650,
"user_id":{
"hash_imei":"<md5_hash_imei>",
"hash_idfa":"<md5_hash_idfa>",
"hash_android_id":"<md5_android_id>",
"oaid":"<oaid>"
},
"trace":{
"click_id": "<CLICK_ID>"
},
"action_type":"START_APP",
"action_param":{
"length_of_stay":3//这里示例为3日留存,根据实际留存天数填入对应数字即可,例如5日次留,则"length_of_stay":5
},
"channel":"Tencent"
}
]
}'
高质量(拉活/拉新)
curl 'https://api.e.qq.com/v1.3/user_actions/add?access_token=<ACCESS_TOKEN>×tamp=<TIMESTAMP>&nonce=<NONCE>' \
-H 'Content-Type: application/json' \
-d '{
"account_id":"<your_account_id>",
"user_action_set_id":"<your_user_action_set_id>",
"actions":[
{
"action_time":1618884650,
"user_id":{
"hash_imei":"<md5_hash_imei>",
"hash_android_id":"<md5_android_id>",
"oaid":"<oaid>"
},
"action_type":"PURCHASE",
"action_param":{
"new":"ANDROID" //android拉新,更换为IOS表示ios拉新,更换为"active":"ANDROID"表示安卓拉活
}
"trace":{
"click_id": "<CLICK_ID>"
},
"channel":"Tencent"
}
]
}'
2.场景二:表单链路
创建WEB行为数据源(更多字段详细说明参考 接入流程-SETP 2):
表单预约
curl 'https://api.e.qq.com/v1.3/user_actions/add?access_token=<ACCESS_TOKEN>×tamp=<TIMESTAMP>&nonce=<NONCE>' \
-H 'Content-Type: application/json' \
-d '{
"account_id": "<ACCOUNT_ID>",
"user_action_set_id": 1111111111,
"actions": [
{
"url":"<URL>",
"external_action_id": "external_action_identity",
"action_time": 1606099210,
"action_type": "RESERVATION",
"channel":"TENCENT",
"trace":{
"click_id":"<click_id>"
}
}
]
}'
有效综合线索
curl 'https://api.e.qq.com/v1.3/user_actions/add?access_token=<ACCESS_TOKEN>×tamp=<TIMESTAMP>&nonce=<NONCE>' \
-H 'Content-Type: application/json' \
-d '{
"account_id": "<ACCOUNT_ID>",
"user_action_set_id": 1111111111,
"actions": [
{
"url":"<URL>",
"external_action_id": "external_action_identity",
"action_time": 1606099210,
"action_type": "CONFIRM_EFFECTIVE_LEADS",
"channel":"TENCENT",
"trace":{
"click_id":"<click_id>"
}
}
]
}'
成交
curl 'https://api.e.qq.com/v1.3/user_actions/add?access_token=<ACCESS_TOKEN>×tamp=<TIMESTAMP>&nonce=<NONCE>' \
-H 'Content-Type: application/json' \
-d '{
"account_id": "<ACCOUNT_ID>",
"user_action_set_id": 1111111111,
"actions": [
{
"url":"<URL>",
"external_action_id": "external_action_identity",
"action_time": 1606099210,
"action_type": "PURCHASE",
"channel":"TENCENT",
"action_param":{
"value":<purchase_value>
}
"trace":{
"click_id":"<click_id>"
}
}
]
}'
3.场景三:公众号加粉链路
创建公众号行为数据源(更多字段详细说明参考 接入流程-SETP 2):
关注公众号
curl 'https://api.e.qq.com/v1.3/user_actions/add?access_token=<ACCESS_TOKEN>×tamp=<TIMESTAMP>&nonce=<NONCE>' \
-H 'Content-Type: application/json' \
-d '{
"account_id": "<ACCOUNT_ID>",
"user_action_set_id": 1111111111,
"actions": [
{
"external_action_id": "external_action_identity",
"action_time": 1606099210,
"user_id": {
"wechat_app_id":"<wechat_app_id>",
"wechat_openid":"<wechat_openid>"
},
"action_type": "F0LLOW",
"action_param": {
"object":"...", //非必填
"product_name":"..", //非必填
"product_id":"12345", //非必填
"source":"Biz", //必填
"claim_type":1 //必填,关注归因1,点击归因0
},
"channel":"TENCENT"
}
]
}'
公众号内留资
curl 'https://api.e.qq.com/v1.3/user_actions/add?access_token=<ACCESS_TOKEN>×tamp=<TIMESTAMP>&nonce=<NONCE>' \
-H 'Content-Type: application/json' \
-d '{
"account_id": "<ACCOUNT_ID>",
"user_action_set_id": 1111111111,
"actions": [
{
"external_action_id": "external_action_identity",
"action_time": 1606099210,
"user_id": {
"wechat_app_id":"<wechat_app_id>",
"wechat_openid":"<wechat_openid>"
},
"action_type": "REGISTER",
"action_param": {
"object":"...",
"product_name":"..",
"product_id":"12345",
"source":"Biz",
"claim_type":1 //关注归因1,点击归因0
},
"channel":"TENCENT"
}
]
}'
有效综合线索
curl 'https://api.e.qq.com/v1.3/user_actions/add?access_token=<ACCESS_TOKEN>×tamp=<TIMESTAMP>&nonce=<NONCE>' \
-H 'Content-Type: application/json' \
-d '{
"account_id": "<ACCOUNT_ID>",
"user_action_set_id": 1111111111,
"actions": [
{
"external_action_id": "external_action_identity",
"action_time": 1606099210,
"user_id": {
"wechat_app_id":"<wechat_app_id>",
"wechat_openid":"<wechat_openid>"
},
"action_type": "CONFIRM_EFFECTIVE_LEADS",
"action_param": {
"object":"...",
"product_name":"..",
"product_id":"12345",
"source":"Biz",
"claim_type":1 //关注归因1,点击归因0
},
"channel":"TENCENT"
}
]
}'
4.场景四:加企微链路
归因步骤
将企业微信绑定微信开放平台的公众号或小程序账户,调用企业微信API的“获取客户详情”接口,根据external_userid查询该用户的信息,获取用户对应的unionid:
配置企业微信API的变更回调功能。配置好之后,用户加企业微信好友后企业微信会给广告主推送用户的ExternalUserID;
链接:https://work.weixin.qq.com/api/doc/90000/90135/92130
调用企业微信API的“获取客户详情”接口,根据external_userid查询该用户的信息,获取对应的unionID;
链接:https://work.weixin.qq.com/api/doc/90000/90135/92114
广告主内部将客服划分好渠道,识别相关转化来自哪个渠道
投放广告发生添加企业微信客服、及后端的转化后,将广告主内部区分为微信广告渠道产生的所有转化的用户及相关转化行为上报回传给微信广告,上报2类信息:
用户标识:unionid+appid(appid为1中企业微信绑定的公众号/小程序的appid)
转化行为对应的actiontype
微信广告系统可将“unionid+appid”转化为微信广告用户的唯一标识,并通过系统计算,实现广告的归因
注意事项:
使用该方案上报转化时,不论是否上传添加企业微信后发生的后端转化行为,均须回传添加企业微信客服(Action type:SCANCODE)的转化,否则将影响后续问题排查和转化转发等模块。
广告主在一个广告账户中同时使用多个企业微信的客服进行经营(即使用的客服归属于不同的corpid),则需保证该多个企业微信账号绑定的公众号/小程序为同一个(即绑定的appid需为同一个)。由于广告平台根据unionid+appid转码,若appid不同,则会导致部分unionid无法转码,影响归因。
创建广告时,需在投放端选择数据源,以保证归因的准确性
上报请求示例:
上报"加企微"数据示例(更多字段详细说明参考 接入流程-SETP 3):
curl -X POST \
‘https://api.e.qq.com/v1.1/user_actions/add?access_token=<your_access_token>×tamp=<timestamp>&nonce=<nonce>‘ \
-H ‘Content-Type: application/json’ \
-d ‘{
“account_id”: “<your_account_id>“,
“user_action_set_id”: <your_user_action_set_id>,
“actions”: [
{
“user_id”: {
"wechat_app_id":"<your_WECHAT_APP_ID>", \\ STEP3授权的APPID
"wechat_unionid":"<your_WECHAT_UNION_ID>" \\授权的APPID下的用户unionid
"wechat_openid":"<your_WECHAT_OPEN_ID>" \\授权的APPID下的用户openid
},
“action_time”: <1618884650>,\\action_time的值要用时间戳格式
“action_type”: “SCANCODE”,
}
]
}’
上报"加企微后留表单"数据示例
curl -X POST \
‘https://api.e.qq.com/v1.1/user_actions/add?access_token=<your_access_token>×tamp=<timestamp>&nonce=<nonce>‘ \
-H ‘Content-Type: application/json’ \
-d ‘{
“account_id”: “<your_account_id>“,
“user_action_set_id”: <your_user_action_set_id>,
“actions”: [
{
“user_id”: {
"wechat_app_id":"<your_WECHAT_APP_ID>", \\ STEP3授权的APPID
"wechat_unionid":"<your_WECHAT_UNION_ID>" \\授权的APPID下的用户unionid
"wechat_openid":"<your_WECHAT_OPEN_ID>" \\授权的APPID下的用户openid
},
“action_time”: <action_timestamp>,
“action_type”: “RESERVATION”,
}
]
}
5.场景五:回传除腾讯外其他渠道的数据
curl 'https://api.e.qq.com/v1.3/user_actions/add?access_token=<ACCESS_TOKEN>×tamp=<TIMESTAMP>&nonce=<NONCE>' \
-H 'Content-Type: application/json' \
-d '{
"account_id": "<ACCOUNT_ID>",
"user_action_set_id": 1111111111,
"actions": [
{
"action_time": 1606099210,
"user_id":{
"hash_phone":"<电话号码直接 MD5 编码,字段长度为32字节>"
"sha256_phone":"SHA256 算法加密后的手机号,字段长度为 64 字节"
"hash_imei":"<md5_hash_imei>",
"hash_idfa":"<md5_hash_idfa>",
"hash_android_id":"<md5_android_id>",
"oaid":"<oaid>"
},//任选一种user_id
"action_type": "CUSTOM",//选择一种custom_action
"custom_action": "ad_impression", //其他渠道曝光
"custom_action": "ad_click", //其他渠道点击
"custom_action": "ad_effective_leads",
//其他渠道有效表单
"custom_action": "ad_ineffective_leads",
//其他渠道无效表单
"channel":""//渠道信息,标识该条行为发生在何渠道上;枚举列表:{ NATURAL, TENCENT, BYTEDANCE, KUAISHOU, ALIBABA, BAIDU, OTHERS, UNKNOWN }
}
]
}'
区分推广目标回传:
注:上面介绍了房产行业常用链路的数据上报代码示例,下面也分推广目标整理了APP、小程序、表单、关注、企微五大链路的数据上报指引,均为官网上已有的更详细介绍:
小程序:旧版小程序转化回传文档
关注类:MKT API关注类数据上报示例
加企微:微信广告企业微信归因-广告主上报版方案
六、Q&A
1. 新建转化规则id没有没有走完联调过程,但是状态是已激活,这种能不能用?
A:可以的,只要转化规则状态是已激活就可以正常使用,同一个appId + 相同的优化目标,这种情况会变成已激活。
2. 上报数据的时候加了app_type(app类型)这个参数的限制,但是新链路点击监测没收到这个参数,导致有的数据没上报
A:新链路点击监测没有app_type这个参数,若必须添加类似限制,可以使用device_os_type(设备类型)这个参数。