fayeah / blogs

方法论、问题驱动、总结
6 stars 0 forks source link

腾讯广告 - 使用 Marketing API上报用户行为数据 #45

Open fayeah opened 3 years ago

fayeah commented 3 years ago

最近小程序想要投放广告,希望能根据用户数据来分析,并作出运营方面的决策。首次客户从腾讯那边对接之后发给我们交付团队一份开发文档,需要迅速spike出能否做,做需要多少effort。看了半个小时之后我迅速给到结果。需要几个点是我们需要做的:

快速Spike

以上是迅速spike的结果 ,因为那个时候我们没有测试账号,也无法验证这些步骤是否可行,也不知道是否需要额外的操作。但是当我们真正做的时候发现其实没有那么麻烦。

真正实现

  1. 生成测试账号,这个账号包含开发者测试账号,同时也包含广告主的账号(从DMP平台可以查看接入的数据),但是这个地方需要填写企业的相关信息,所以在填写qq等信息的时候要用公用的qq账号 ,防止后续员工调动带来的影响;另外在DMP平台我们必须要公司上传企业法人等相关的信息,这个地方我们是让客户自己去上传的。 image

image

  1. 创建应用(私有应用或者是第三发应用),用于打通生产环境的API调用。我们这里只说第三方应用,可以看到需要填写一个回调地址,这个地址用于后续广告主授权之后跳转的那个页面,同时会带上token参数。 image

  2. 通过应用的相关信息,打开提供的链接,获取authorization_code。链接类似于:https://developers.e.qq.com/oauth/authorize?client_id=123456&redirect_uri=https%3a%2f%2fwww.example.com%3fpara1%3da%26para2%3db&state=&scope=ads_management&account_type=ACCOUNT_TYPE_QQ。 需要开发者相应地改掉参数。

  3. 根据authorization_code生成access_token,是因为接口的通用参数包含access_token,而为了快速上线该功能,定时刷新的需求是被砍掉了的。生成access_token 的API:

API: https://api.e.qq.com/oauth/token Method: Get Query params: image

  1. 生成用户数据源:

API: https://api.e.qq.com/v1.1 Method: Get Query params: image

  1. 根据以上参数加上其他的一些参数调用Marketing API进行用户行为数据上报,去DMP平台查看接入的数据。

API: https://api.e.qq.com/v1.3/user_actions/add Method: POST Query params: image

Request body: { "actions":[ { "action_time":1605668193, "action_type":"VIEW_CONTENT", "user_id":{ "wechat_openid":${user_open_id}, "wechat_unionid":null, "wechat_app_id": ${app_id} }, "trace": { "click_id":${click_id} //wx0fzoqjbewm**** } //这个地方要注意trace是放在actions里的,注意结构,否则腾讯广告后台收不到clickid对应的数据 } ], "account_id":${account_id}, "user_action_set_id":${user_action_set_id} }

  1. DMP数据接入示例:

image

Note: 关于clickid的说明和获取方式以及 还有其他的参数比如广告id也可以获取得到 : image image

References:

  1. 腾讯广告开发文档
  2. DMP数据管理平台
  3. 广告的转化跟踪
rebider commented 3 years ago

我想请问一下 开发测试的时候 CLICK_ID 如何获取 ?

fayeah commented 3 years ago

我想请问一下 开发测试的时候 CLICK_ID 如何获取 ?

click_id在开发阶段是没办法获取到的,需要打通之后才能获取到,不过问题不大,一般来讲流程没问题就可以得到;而且这个不是用户交互层面的操作,是主体在获取用户数据,所以即便上线之后发现数据跟预期不对,可以再调试的,不过最好能打log,看到日志,根据日志追踪问题。

rebider commented 3 years ago

广告发布之后能获取到测试环境不?他官方说明实在过少

------------------ 原始邮件 ------------------ 发件人: "Nikita @.>; 发送时间: 2021年7月23日(星期五) 中午12:28 收件人: @.>; 抄送: @.>; @.>; 主题: Re: [fayeah/blogs] 腾讯广告 - 使用 Marketing API上报用户行为数据 (#45)

我想请问一下 开发测试的时候 CLICK_ID 如何获取 ?

click_id在开发阶段是没办法获取到的,需要打通之后才能获取到,不过问题不大,一般来讲流程没问题就可以得到;而且这个不是用户交互层面的操作,是主体在获取用户数据,所以即便上线之后发现数据跟预期不对,可以再调试的,不过最好能打log,看到日志,根据日志追踪问题。

— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or unsubscribe.

fayeah commented 3 years ago

广告发布之后能获取到测试环境不?他官方说明实在过少 ------------------ 原始邮件 ------------------ 发件人: "Nikita @.>; 发送时间: 2021年7月23日(星期五) 中午12:28 收件人: @.>; 抄送: @.>; @.>; 主题: Re: [fayeah/blogs] 腾讯广告 - 使用 Marketing API上报用户行为数据 (#45) 我想请问一下 开发测试的时候 CLICK_ID 如何获取 ? click_id在开发阶段是没办法获取到的,需要打通之后才能获取到,不过问题不大,一般来讲流程没问题就可以得到;而且这个不是用户交互层面的操作,是主体在获取用户数据,所以即便上线之后发现数据跟预期不对,可以再调试的,不过最好能打log,看到日志,根据日志追踪问题。 — You are receiving this because you commented. Reply to this email directly, view it on GitHub, or unsubscribe.

有沙盒环境可以测试API,这个主要还是看你公司/客户主体,需要他们提供企业信息,对接腾讯的OD等角色,有问题随时问腾讯的人,他们会解决,因为广告这个是要付费的。我们开发自己单独无法完成广告任务的……主要的是账号,流程,开发的effort很小。

rebider commented 3 years ago

我这边也是这种情况,获得的信息太少,那边找的第三方广告公司。 非常感谢!!

------------------ 原始邮件 ------------------ 发件人: "Nikita @.>; 发送时间: 2021年7月23日(星期五) 下午2:50 收件人: @.>; 抄送: @.>; @.>; 主题: Re: [fayeah/blogs] 腾讯广告 - 使用 Marketing API上报用户行为数据 (#45)

广告发布之后能获取到测试环境不?他官方说明实在过少 … ------------------ 原始邮件 ------------------ 发件人: "Nikita @.>; 发送时间: 2021年7月23日(星期五) 中午12:28 收件人: @.>; 抄送: @.>; @.>; 主题: Re: [fayeah/blogs] 腾讯广告 - 使用 Marketing API上报用户行为数据 (#45) 我想请问一下 开发测试的时候 CLICK_ID 如何获取 ? click_id在开发阶段是没办法获取到的,需要打通之后才能获取到,不过问题不大,一般来讲流程没问题就可以得到;而且这个不是用户交互层面的操作,是主体在获取用户数据,所以即便上线之后发现数据跟预期不对,可以再调试的,不过最好能打log,看到日志,根据日志追踪问题。 — You are receiving this because you commented. Reply to this email directly, view it on GitHub, or unsubscribe.

有沙盒环境可以测试API,这个主要还是看你公司/客户主体,需要他们提供企业信息,对接腾讯的OD等角色,有问题随时问腾讯的人,他们会解决,因为广告这个是要付费的。我们开发自己单独无法完成广告任务的……主要的是账号,流程,开发的effort很小。

— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or unsubscribe.